git on with it!
Jim Meyering
jim@meyering.net
Fri May 15 15:49:00 GMT 2009
I think we're ready. Finally.
To clone the latest, do this:
git clone git://sources.redhat.com/git/glibc1.git
or browse it via:
http://sources.redhat.com/git/gitweb.cgi?p=glibc1.git;a=summary
Some stats:
commits on trunk: 16555 (down from 60k+ originally)
As a sanity check after the grafting, I listed commits per branch:
$ for b in $(git br -a|sed s/..//|sort|grep -v 'master'); do
printf '%4d %s\n' $(git rev-list master..$b|wc -l) $b; done
207 fedora-2_3-branch
411 fedora-2_5-branch
554 fedora-branch
1525 glibc-2-1-branch
661 glibc-2-2-branch
1161 glibc-2_0_x
2 glibc-2_10-branch
303 glibc-2_3-branch
117 glibc-2_5-branch
6 glibc-2_6-branch
1 glibc-2_7-branch
0 glibc-2_8-branch
0 glibc-2_9-branch
883 sparc-2_0_x-branch
0 thomas-posix1996
Cloned the repo, and repeated in the clone.
Same numbers, but remotes/origin/-prefixed refs, as expected.
Frequency of commit "summary/subject" lines on master:
$ git log --pretty=format:%s HEAD |sort|uniq -c|sort -nr
7407 Update.
72 *** empty log message ***
49 Fix typo.
39 Update
32 Update from translation team.
25 Regenerated: autoconf configure.in
17 Regenerated
16 .
13 typo
13 Regenerated.
12 Pretty printing.
11 Updated.
10 Fix typos.
10 ..
...
I wish I'd seen the 7400 "Update" commits earlier.
It wouldn't be hard to drop each and hoist the first line
of the remainder (ignoring ChangeLog cruft, of course), but
it seems too late for that, now.
For the record, this is how I handled post-conversion clean-up and
branch/tag renaming:
# Remove conversion cruft.
git for-each-ref --format='%(refname)' refs/original/ \
| xargs -n 1 git update-ref -d
git reflog expire --expire=now --all
git gc --prune=now
# Rename all branches except master to have cvs/ prefix.
for b in $(git br|sed s/..//|grep -v master); do
git br -m "$b" "cvs/$b"
done
# Rename all tags to have cvs/ prefix.
all_tags=$(git tag -l)
for t in $(echo "$all_tags"); do
git tag "cvs/$t" "$t"
done
git tag -d $(echo "$all_tags")
git gc
Resulting size of .git/: 77MiB
I've pushed the result to glibc1.git.
In preparation for the switch, I've copied what is in glibc.git
(the old, incrementally-mirrored-from-cvs repo) into glibc2.git.
I'll move it all into place (glibc.git) in the next few hours.
Phew.
More information about the Libc-alpha
mailing list