[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Migration to git



Hi,

I've been working on an automated way of migrating the XSF SVN to git. I've
been doing all the work in a git repository on Alioth[0]. You can clone the
repository from here[1]. I haven't figured out how to make the repositories
on Alioth available via HTTP or the git protocol for anonymous clones, so for
now you'll need an Alioth account to access it.

The scripts have comments that explain their functionality and there's a
README that gives a short general overview. Here's an even shorter version
explaining a little more what the scripts do.

Currently the `import' script imports all driver, library and proto modules,
as well as xorg-xserver, compiz and xterm. I'm not sure yet how best to handle
packages like xbase-clients that combine more than one upstream source into
one.

After importing the history from the SVN repository, the `clone' script will
try to match an imported repository to its equivalent freedesktop.org
counterpart and clone it into the imported repository. From that point on,
manual intervention will be required to get the Debian master up-to-date with
upstream and so forth.

For test purposes I set up a local mirror of the xorg-x11 repository because
fetching the history directly from necrotic is very slow. My latest test runs
show that it takes about 2 hours to completely migrate all the modules and
clone the upstream branches. The resulting git repositories have a combined
total size of about 1.7GB, which is probably due to the fact that we actually
have the upstream history twice. I don't currently see a way to decrease that
size though. On average, the repositories seem to vary between 2 and 4MB,
with a couple of exceptions like xorg-server, weighing in at about 90MB.

At this point I would like to invite everyone to scrutinize the scripts. I am
by no means a shell expert, so that is one aspect that might need review. One
other issue is that I'm fairly new to the XSF, and as such am not very
familiar with the history of the repository layout. I've done my best to
capture everything, but somebody more knowledgeable should probably check
whether I haven't missed anything crucial.

Thierry

[0]: http://git.debian.org/?p=pkg-xorg/git-migration.git;a=summary
[1]: git+ssh://git.debian.org/git/pkg-xorg/git-migration.git
222222

Attachment: signature.asc
Description: Digital signature


Reply to: