Return-Path: X-Original-To: apmail-subversion-dev-archive@minotaur.apache.org Delivered-To: apmail-subversion-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 75F6218FCC for ; Tue, 18 Aug 2015 15:03:09 +0000 (UTC) Received: (qmail 78071 invoked by uid 500); 18 Aug 2015 15:03:09 -0000 Delivered-To: apmail-subversion-dev-archive@subversion.apache.org Received: (qmail 78020 invoked by uid 500); 18 Aug 2015 15:03:09 -0000 Mailing-List: contact dev-help@subversion.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@subversion.apache.org Received: (qmail 78006 invoked by uid 99); 18 Aug 2015 15:03:09 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 Aug 2015 15:03:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 96742C0BCF for ; Tue, 18 Aug 2015 15:03:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 2.899 X-Spam-Level: ** X-Spam-Status: No, score=2.899 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd4-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=wandisco.com Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id J76vEAlUVEKt for ; Tue, 18 Aug 2015 15:03:01 +0000 (UTC) Received: from mail-ig0-f172.google.com (mail-ig0-f172.google.com [209.85.213.172]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id 868612055B for ; Tue, 18 Aug 2015 15:03:01 +0000 (UTC) Received: by igfj19 with SMTP id j19so85068990igf.0 for ; Tue, 18 Aug 2015 08:02:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wandisco.com; s=gapps; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=PFUYLBVVDc6Z/y+T+3uSWJiqI6TJvuu3X0PSDoiKCi4=; b=IxuJunnrzaLRgyc74jRFKIWd4xPDMA5xOjjSmFTvgdus78WyuTP30MvFV6353GYXwB TvMecxx0pbyKcu1dB/CApF7MIadgKrLZn6mX9PzKuTXAhsC2jdyAeZjmXfLnR//rnGMF C8NRyBzEdGO9KeeK6Y3PdTkAjaMTRoTSIATN8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=PFUYLBVVDc6Z/y+T+3uSWJiqI6TJvuu3X0PSDoiKCi4=; b=eXv2LXiljyr21GP3YvtsQyGdirBvY0uI9nfA0KV+mUpctkcMM+6gluUsdImE4F6z84 nf47nwBBAS0sqK84+kiAQHphh0I3c95FxR0/U22pfG7wn+1uHKOcV5W0I7h5RZcD8jfY iUIFLDbKs6oCAW2EF7G6zbRnPPHQnhGQQErOwFVzcVJ1qYfalpE/e4p8gErrJ/7Qvn1k GcCJjvG21ECnBlqqr3UZzrr0Cdgi+7wYlbF+SEE1O103+1EDcaUcY0pknm9x/AI4brtd 62qKIwkNfzaxYbbcWO37MgsSNdSU2DIzcroTE9JDfwYdi6c6mcv+ktZUyP0JuQH5PZr7 qTWg== X-Gm-Message-State: ALoCoQnIgsk2yMtO8v8o0BOyMRVkDbTlJ1cLdNlVtJAyJ8B6YcZO/wFcGvr5N3leVuGHXxood3JZ MIME-Version: 1.0 X-Received: by 10.50.70.5 with SMTP id i5mr200727igu.30.1439910174978; Tue, 18 Aug 2015 08:02:54 -0700 (PDT) Received: by 10.50.159.132 with HTTP; Tue, 18 Aug 2015 08:02:54 -0700 (PDT) In-Reply-To: <20150815233006.GF1952@tarsus.local2> References: <20150815233006.GF1952@tarsus.local2> Date: Tue, 18 Aug 2015 16:02:54 +0100 Message-ID: Subject: Re: Removing deleted branches from our mergeinfo From: Stefan Fuhrmann To: Daniel Shahaf Cc: Subversion Development Content-Type: multipart/alternative; boundary=047d7b343b167d2838051d9736a8 --047d7b343b167d2838051d9736a8 Content-Type: text/plain; charset=UTF-8 On Sun, Aug 16, 2015 at 12:30 AM, Daniel Shahaf wrote: > Stefan Fuhrmann wrote on Sat, Aug 15, 2015 at 20:18:53 +0100: > > Although we technically could, we will neither merge from > > them (using the branch@rev notation) nor resurrect them > > in the future. Therefore, I'd like to shave off 15k from our > > mergeinfo by removing those unused entries. List below. > > 15KB of space saving doesn't sound like a noticeable benefit. > The "15k" part was just fyi - in case people wanted to know how big the savings would be. > > Is there a compelling reason not to do it? > > Dogfooding: we shouldn't make changes to our mergeinfo that users cannot > make too. Would users be able to make such changes to their own > repositories? (without being with the internals of mergeinfo > implementation) > Yes, using the same command that I planned on using: svn-mergeinfo-normalizer remove-branches -F $FileWithListOfBranches If people feel adventurous, they might even do it automatically: svn-mergeinfo-normalizer normalize --remove-obsoletes The whole point of that tool is to help large projects to reduce their mergeinfo from hundreds of MB to something manageable again. Enhanced sub-tree mergeinfo elision logic will help them somewhat. But at >100k mergeinfo per node, eliminating the records of mistaken merges and simply long-forgotten branches is an important feature, too. Note that those users run out of memory today during merges because the total amount of merginfo in memory is > 1GB. The downside of removing branches from m/i is that they appear as an "unmerge" in the log. Very few people should actually care but there might be unintended side-effects. As the Subversion project and with our straightforward branching scheme, we should be in the best possible position to fix / deal with those side-effects if they should occur. So, this would be dogfooding for us. -- Stefan^2. --047d7b343b167d2838051d9736a8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Sun, Aug 16, 2015 at 12:30 AM, Daniel Shahaf <d.= s@daniel.shahaf.name> wrote:
St= efan Fuhrmann wrote on Sat, Aug 15, 2015 at 20:18:53 +0100:
> Although we technically could, we will neither merge from
> them (using the branch@rev notation) nor resurrect them
> in the future. Therefore, I'd like to shave off 15k from our
> mergeinfo by removing those unused entries. List below.

15KB of space saving doesn't sound like a noticeable benefit.

The "15k" part was just fyi - i= n case people wanted to
know how big the savings would be.
=C2=A0
> Is there a compelling reason not to do it?

Dogfooding: we shouldn't make changes to our mergeinfo that user= s cannot
make too.=C2=A0 Would users be able to make such changes to their own
repositories?=C2=A0 (without being with the internals of mergeinfo
implementation)

Yes, using the same com= mand that I planned on using:

=C2=A0=C2=A0=C2=A0 svn-merg= einfo-normalizer remove-branches -F $FileWithListOfBranches

If people feel adventurous, they might even do it automatically:

=C2=A0=C2=A0=C2=A0 svn-mergeinfo-normalizer normalize --remove-o= bsoletes

The whole point of that tool is to help large pr= ojects to reduce their
mergeinfo from hundreds of MB to something manage= able again.
Enhanced sub-tree mergeinfo elision logic will he= lp them somewhat.
But at >100k mergeinfo per node, elimina= ting the records of mistaken
merges and simply long-forgotten= branches is an important feature,
too. Note that those users= run out of memory today during merges
because the total amount of mergi= nfo in memory is > 1GB.

The downside of re= moving branches from m/i is that they appear
as an "unmerge" in the log. Very few people should actually= care
but there might be unintended sid= e-effects. As the Subversion
project an= d with our straightforward branching scheme, we should
be in the best possible position to fix / deal with those = side-effects
if they should occur. So, = this would be dogfooding for us.

--= Stefan^2.
--047d7b343b167d2838051d9736a8--