onwards to git
Jim Meyering
jim@meyering.net
Thu May 7 13:00:00 GMT 2009
Andreas Schwab wrote:
> Jim Meyering <jim@meyering.net> writes:
>
>>> I would also suggest to filter out all commits with the "file ... was
>>> initially add on branch ..." commit message.
>>
>> It appears they have been automatically elided, probably
>> because the patch portion is empty:
>>
>> $ go glibc1; git log --raw |grep initially.added
>> $
>>
>> Do you still see vestiges in glibc1?
>
> See 8ff80d44, for example. The commit log has been lost.
I see it, now:
There are 242 of those on master.
$ g log |grep -c initially.added
242
# total commits:
$ g log|grep -c '^commit '
64769
242
------
64527
Since each of those has what git calls an empty tree
(i.e., no delta) I remove them with this command:
git filter-branch --commit-filter \
'git_commit_non_empty_tree "$@"'
That also removed 24 additional no-op commits.
Then I did this:
g reset --hard HEAD
then did this to remove all the old refs
(thus halving the repo size back to around 90MB):
clone file://$PWD/glibc glibc-new
cd glibc-new && g gc --prune=now
then from the new one, did this:
glibc-reconstruct-commits master
and pushed the result to glibc1.git:
http://sources.redhat.com/git/gitweb.cgi?p=glibc1.git;a=summary
BTW, the above was initially converted from a freshly-sync'd CVS
repository, so now it includes the latest commits.
This latest commit-aggregation run exposed a small problem with
the conversion script: when the most recent commit on a branch
doesn't modify a ChangeLog file, it (and maybe a few preceding ones)
was not aggregated. I fixed that.
I haven't touched glibc2.git and don't intend to do any more with it.
More information about the Libc-alpha
mailing list