Migration considerations

John Bailey rekkanoryo at rekkanoryo.org
Tue Feb 8 00:01:56 EST 2011


On 02/07/2011 07:33 PM, Felipe Contreras wrote:
> I wrote that svn-patch-authors file, and a simple 'git filter-branch' script
> fixes the authors in no time:
> https://github.com/felipec/pidgin-git-import/blob/fc-svn-fixes/fix-svn-authors

I thought I mentioned that it was your partial map.  I apologize for not doing
so.  That said, Richard *did* correctly point that out in the next message in
the thread.

> There is no advantage from hg's convert whatsoever.

Except the avoidance of a middle-man git repo that isn't strictly necessary.
I'm willing to trade 30 hours for the simplicity of avoiding yet another tool in
the process.  It's not like we're active enough that it's going to kill us to
have a 48-hour freeze on commits and pushes.

> I wrote that file, as you can see in the hg log. We have been collaborating, if
> you take a closer look a the pidgin-mtn-conv-files repo you would see that I
> have contributed a lot of work.

Yes, you've contributed some work.  And I thank you for that.  I will gladly
accept contributions that make our converted history more accurate.

> In git, there are standard tags, such as 'Signed-off-by'. Say, if you apply a
> patch by me, the s-o-b's would be:
> 
> Signed-off-by: Felipe Contreras <felipe.contreras at gmail.com>
> Signed-off-by: John Bailey <rekkanoryo at rekkanoryo.org>

Again, as Richard pointed out, these are not "in" git.  They are
changelog-inline metadata that the Linux kernel adopted.  Yes, they've caught on
with other projects.  That doesn't make them a gitism.  We could use these in
hg, bzr, darcs, mtn, and even in cvs, rcs, and SCCS.  They have merit, but I'd
rather have seen something like:

Originated-By: Some Random Idiot <random at idiot.com>
Approved-By: John Bailey <rekkanoryo at rekkanoryo.org>
Approved-By: Someone Else <someone at else.org>

> No, you could just use 'git filter-branch' as I do in pidgin-git-import.

That would be perfectly acceptable to me if we were converting to git.  But
we're not converting to git.  I don't want a third tool in the conversion process.

> Now, one of the proposals was to provide both git and hg repos, however, it
> would be great if you store data that can be easily exported to git.
> 
>  1) Provide both committer and author. Either with Signed-off-by or some other
>     method, but you have to provide both somehow.
>  2) Always provide valid authors. In git, they are in the form "Real Name
>     <email at box.com>", and the mail part is _mandatory_. If there's no mail
>     address, <unknown> would make sense.

I agree it would be a nice convenience to provide a git "mirror" of the hg repo.
 That said, it's not strictly necessary, as there is a way a git user can use an
hg repo transparently with git, conveniently called git-hg.  At this point I
don't care whether someone other than me wants to maintain such an "official"
mirror or if our official stance will be to use git-hg.

Aside from that, it was always my intention to set policy that all people must
identify themselves in the "User Name <account at domain.tld>" format.  However,
I'm not willing to clutter up our history with "<unknown>" simply because git
requires something between angle brackets in their author and committer fields.
 Sorry, but our VCS of choice doesn't restrict us in this manner.

> Also, remember that the idea was to start a repository from scratch, so, even
> if the conversion tool is not finished yet, that doesn't matter as it can
> always be fixed later on.

It was an idea that was discussed.  As I recall, I'm the only one who expressed
interest in actually doing any of the creation and subrepo joining and whatnot.
 Unless someone else wants it also, the idea is dead.  That said, I wanted the
fresh start to happen at 3.0.0, not immediately, so things can't be left
temporarily and fixed later.  It has to be perfect at the beginning.

John

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://pidgin.im/pipermail/devel/attachments/20110208/cbc99b8d/attachment.sig>


More information about the Devel mailing list