Here's a status update on the git conversion, as well as a call for some help
mainly in testing.
After testing a bunch of tools, I've found that using cvs2git is by far the
best option when keeping keywords. It's the one that gives only the issues
that I posted about a couple of days ago.
So I've proceeded based off this one to something that would be how we create
the real repository once we go. This means I've scripted the removal of the
$PostgreSQL$ tags from the tip of the active branches as one big commit after
I've also set up the git server and the scripts around it, that we can
eventually use. This includes commit email sending, commit policy enforcement
(no merge commits, correct author/committer tag etc) and proper access control
(a modified version of the one on git.postgresql.org - since we definitely
don't want any external dependencies for the main repository).
This is all available for testing now.
Marc has set up a mailinglist at firstname.lastname@example.org where
commit messages from the new system is sent. If you care about what they look
like, subscribe there and wait for one to show up :-) Subscription is done
the usual way.
Anonymous users can view the repository at git.postgresql.org using gitweb
or the git:// protocol, under the name postgresql-migration.
DISCLAIMER: DO NOT BASE ANY WORK OFF THIS REPOSITORY. IT *WILL* BE RECREATED
SEVERAL TIMES AND MAY CHANGE COMPLETELY!
Existing committers have been set up to access the new repository at
Robert Haas has written some instructoins for how to use this - please read
and review those.
And in general, a call to committers: please test this! Now is the time, not
after we've migrated ;) Just throw in some random commits, and some non-random
ones, both to get yourself familiar with the workflow and to iron out the bugs
in the scripts (I'm sure they're there).
For those interested in what's done, the scripts running this are all up on
github at http://github.com/mhagander/pg_githooks. The root contains the
scripts for commit messages, policy enforcement and access control.
There's also a temporary directory called "migration" that contains the
scripts and configuration files that are in use for the version of the
repository that is up there now. There's some minor plumbing around these
that isn't up there yet, but in general it is all that's used. And note that
if you want to play with it, the script uses around 8Gb of temp disk space
when running, so make sure you have enough space if you do it in a VM...