This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Git and GCC
On Wed, 5 Dec 2007, Harvey Harrison wrote:
>
> If anyone recalls my report was something along the lines of
> git gc --aggressive explodes pack size.
Yes, --aggressive is generally a bad idea. I think we should remove it or
at least fix it. It doesn't do what the name implies, because it actually
throws away potentially good packing, and re-does it all from a clean
slate.
That said, it's totally pointless for a person who isn't a git proponent
to do an initial import, and in that sense I agree with Daniel: he
shouldn't waste his time with tools that he doesn't know or care about,
since there are people who *can* do a better job, and who know what they
are doing, and understand and like the tool.
While you can do a half-assed job with just mindlessly running "git
svnimport" (which is deprecated these days) or "git svn clone" (better),
the fact is, to do a *good* import does likely mean spending some effort
on it. Trying to make the user names / emails to be better with a mailmap,
for example.
[ By default, for example, "git svn clone/fetch" seems to create those
horrible fake email addresses that contain the ID of the SVN repo in
each commit - I'm not talking about the "git-svn-id", I'm talking about
the "user@hex-string-goes-here" thing for the author. Maybe people don't
really care, but isn't that ugly as hell? I'd think it's worth it doing
a really nice import, spending some effort on it.
But maybe those things come from the older CVS->SVN import, I don't
really know. I've done a few SVN imports, but I've done them just for
stuff where I didn't want to touch SVN, but just wanted to track some
project like libgpod. For things like *that*, a totally mindless "git
svn" thing is fine ]
Of course, that does require there to be git people in the gcc crowd who
are motivated enough to do the proper import and then make sure it's
up-to-date and hosted somewhere. If those people don't exist, I'm not sure
there's much idea to it.
The point being, you cannot ask a non-git person to do a major git import
for an actual switch-over. Yes, it *can* be as simple as just doing a
git svn clone --stdlayout svn://svn://gcc.gnu.org/svn/gcc gcc
but the fact remains, you want to spend more effort and expertise on it if
you actually want the result to be used as a basis for future work (as
opposed to just tracking somebody elses SVN tree).
That includes:
- do the historic import with good packing (and no, "--aggressive"
is not it, never mind the misleading name and man-page)
- probably mailmap entries, certainly spending some time validating the
results.
- hosting it
and perhaps most importantly
- helping people who are *not* git users get up to speed.
because doing a good job at it is like asking a CVS newbie to set up a
branch in CVS. I'm sure you can do it from man-pages, but I'm also sure
you sure as hell won't like the end result.
Linus