This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: onwards to git


Jim Meyering wrote:
...
> That [script] looks very useful indeed.  I will use it.
> I wish I'd had that when I converted coreutils and a few others.
>
> I haven't started the re-conversion yet, so
> it won't be done+checked before tomorrow evening.

There are now two freshly-converted repositories.
They are by no means final, and are not being mirrored-to.
The legacy glibc.git is still actively mirroring the CVS repository.

The two new git repos were created from a snapshot of yesterday's cvs
repository, so lack a recent commit or two.

One is very much like the existing glibc.git, with over 64k commits on
the trunk/master.  The other has the same content, but with aggregated
change sets (and usually-better commit log messages[*]), so there are
only 13k commits.  Most change sets affect 4 or 5 files.  Whereas the
old/existing repo has ~1 commit per changed file, the new one combines
deltas of related files into the same change set, usually along with
the ChangeLog delta that summarizes each change-set's semantics.

The repository sizes are nearly identical, each at about 89MiB.

[*] The aggregated-cset repo has a summary line like [BZ #NNNN] for each
cset that could easily be seen to address a BZ.  Before, most would have
been only in the body of the commit log or only in the ChangeLog delta,
with a less-than-useful one-line summary.
I used a modified version of the script Paolo posted to perform the conversions.

For now I've converted only "master" to aggregate csets.
I'll convert and push the remaining branches tomorrow.
You can browse via its gitweb interface here:

    http://sources.redhat.com/git/gitweb.cgi?p=glibc1.git;a=summary

or clone (read-only) with this:

    git clone git://sources.redhat.com/git/glibc1.git



The other repository (64k csets) has approximately one git commit
per cvs commit, modulo some naive aggregation.

    http://sources.redhat.com/git/gitweb.cgi?p=glibc2.git;a=summary

or clone (read-only) with this:

    git clone git://sources.redhat.com/git/glibc2.git

----------------------------------

I went to the trouble of creating the aggregated-cset repository
because I think it provides a much more useful view of the history.
Not only is the repository slightly more manageable, with 1/5 the
number of change sets, but grouping component deltas into a single
change-set makes it a lot easier to study or refer to a conceptual change.

The summaries and log messages are nowhere near what they would be
if done up-front in the single-commit-for-logical-set-of-deltas style.
But this is history, and converting them manually is obviously not practical.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]