[ckan-dev] git move

Rufus Pollock rufus.pollock at okfn.org
Wed Nov 30 12:09:28 UTC 2011


On 30 November 2011 11:12, David Raznick <david.raznick at gmail.com> wrote:
>> Can I suggest that no-one moves any more CKAN repos until it can be
>> done efficiently and with prior agreement?
>
> Please set a day for this!

I'm happy with a big-bang day but I'm also happy with piecemeal. Steps
I've been doing (for CKAN or otherwise) are:

0. Boot github repo
1. Convert repo (see below) and push up
2. Keep a backup copy of mercurial
3. Delete mercurial repo with a redirect to new repo (this is clear deprecation)

Obviously if are some special dependencies for CKAN extensions please
say (but even there we would be ok since extension would already be
installed from mercurial and for buildbot we'd have very temporary
breakage we'd immediately see!)

>> David Raznick spent many hours getting the script right for the
>> history to be retained correctly. David, perhaps can we schedule a day
>> when you can migrate the repos, and some of the rest of us work
>> through a ticket to ensure this checklist of things get done in one
>> batch?

I really don't understand what is complicated here. I've done several
dozen migrations all by the power of doing an internet search for:
"convert mercurial repo to git". For future ref what everyone uses is
hg-fast-export:

<http://repo.or.cz/w/fast-export.git>

Instructions for use (there are many):

<http://hedonismbot.wordpress.com/2008/10/16/hg-fast-export-convert-mercurial-repositories-to-git-repositories/>

As David says the CKAN repo was especially complicated because we
wanted to correct author email addresses. For extensions IMO there is
no need

> The script for ckan was more complicated than is should be for the
> extensions because we had to change the history in order to make
> github work with people who did not put a proper email address in.  I
> do not think such detail needs to be gone into for the extensions as
> most of them do not have a very messy history.
>
> There are a lot of repositories. It will be a bit unfair if I have to
> do, what is essentially a tedious task, all myself.  Also the main
> person working on the repository should be the person to do it as they
> are in a better place to check if everything seems correct i.e at
> least run the extensions tests.  I am happy for an effort to share the
> burden, teach people how to do it, and do it on a particular day,
> nonetheless.

Big +1 :-)

Rufus




More information about the ckan-dev mailing list