On Wed, 16 Sep 2015, paul_kon...@dell.com wrote: > > > On Sep 16, 2015, at 4:38 AM, Richard Biener <richard.guent...@gmail.com> > > wrote: > > > > On Tue, Sep 15, 2015 at 7:09 PM, Florian Weimer <f...@deneb.enyo.de> wrote: > >> ... > >> Unlike Subversion branch deletion, Git branch deletion is permanent, > >> so this might not be the best option. > > > > We could have a 2nd git repository just containing deleted branches... > > Agreed. A correctly designed source control system doesn't lose stuff, > and the fact that GIT fails that test in the case of branches is rather > disturbing. If the conversion would follow the GIT pattern, then the > data it is going to delete should be preserved elsewhere. (I suppose > another answer might be to keep the existing SVN server available > read-only.)
*Of course* the SVN repository should remain available read-only, just as the CVS repository (1997-2005) is available read-only to check things out from. But we really don't need to do extra complicated things - just keep the history in the converted repository without deleting any branches (there may well be some tags that are purely CVS / SVN artifacts, pointing to commits on some branch so that deletion of those tags does not make any objects inaccessible, and that can thus be deleted, but any such tag cleanup can be done after the conversion). And do the fetch I described at <https://gcc.gnu.org/ml/gcc/2015-09/msg00040.html> so that the single git repository also contains the objects and (renamed) refs from the existing git-svn repository, so git-only branches and commit hashes from the git-svn history also remain available. git is efficient enough that I don't think these things will have any significant cost in repository size. The question of whether and when branch deletion is then allowed in the git repository after the conversion is one of the things that needs sorting out regarding configuration and hooks before the switch (but I think natural rules are either (a) no branch deletion or (b) branch deletion only in refs/heads/<user>/, not for branches outside per-user namespaces). -- Joseph S. Myers jos...@codesourcery.com