This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Acceptance criteria for the git conversion
- From: "Eric S. Raymond" <esr at thyrsus dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: Richard Earnshaw <Richard dot Earnshaw at foss dot arm dot com>, Mikhail Maltsev <maltsevm at gmail dot com>, gcc at gcc dot gnu dot org
- Date: Tue, 1 Sep 2015 13:33:56 -0400
- Subject: Re: Acceptance criteria for the git conversion
- Authentication-results: sourceware.org; auth=none
- References: <20150901105414 dot GA30270 at thyrsus dot com> <55E5B5A2 dot 7070509 at gmail dot com> <55E5B934 dot 1050307 at foss dot arm dot com> <alpine dot DEB dot 2 dot 10 dot 1509011703550 dot 11400 at digraph dot polyomino dot org dot uk>
- Reply-to: esr at thyrsus dot com
Joseph Myers <joseph@codesourcery.com>:
> Indeed. Ideally the tree objects in the git conversion should have
> exactly the same contents as SVN commits, and so be shared with the
> git-svn history to reduce the eventual repository size (except where there
> are defects in the git-svn history, or the git conversion fixes up cvs2svn
> artifacts and so some old revisions end up more accurately reflecting old
> history than the SVN repository does).
I don't think sharing with the git-svn history will be possible. git-svn
is a terrible whole-history converter; the odds of getting the same
topology out of reposurgeon are basically nil, and the problem of matching
different topologies is quite hard.
I'll be frank; if it's doable at all (which I doubt) I think this is a
*really bad idea* - a complexity hairball with few or no actual benefits.
I'm not willing to even try for it unless demand from the development
group is overwhelming and you're able to wait a long, long time for
results.
> One particular case: we have well-maintained .gitignore files, that might
> even be more accurate than the svn:ignore properties, and I think the
> conversion should keep those and disable all smart ignore handling (just
> discard svn:ignore properties, and pass through the existing .gitignore
> files (and .cvsignore files)).
This is also not currently possible, but it's not an intrinsically bad
idea. Giving reposurgeon an option to to support it wouldn't be very
difficult.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>