Re: Headache caused by svn svn migration
Michael Haggerty <[email protected]> Sun, 08 Aug 2010 19:10:48 +0200
| Newsgroups | gmane.comp.version-control.subversion.cvs2svn.devel |
|---|---|
| Message-ID | <[email protected]> |
Michael Haggerty wrote:
> Greg Ward wrote:
>> The real
>> nightmare will be turning my hg history into a nice linear sequence of
>> patches that you guys can process easily. I started that last year,
>> but have been busy with other things since then.
>
> I think I will have some time over the next few weeks to help on this.
> If we can get even part of your changes merged upstream, it would be
> progress. And if we can un-fork the project entirely, it would save a
> lot of user confusion and development effort.
>
> Is there any chance of getting you to use hg-git to interact with the
> git mirror of the cvs2svn project at
>
> ssh://repo.or.cz/srv/git/cvs2svn.git
>
> so that we can collaborate with merge-aware goodness?
Greg,
With a combination of hg-git, git-svn, git grafts, and git
filter-branch, I just created a grand unified cvs2svn repository
containing all of the commits from the cvs2svn Subversion repository,
your cvs2hg commits, and the proper ancestry information linking it all
together. The result is in
http://repo.or.cz/w/cvs2svn.git
Your work is contained in the "cvs2hg" branch, which can be viewed by
clicking on the "cvs2hg" link at the bottom of that page.
Note that I do not (yet) want to use the git repository as the canonical
one--for now, I will continue to treat the Subversion repository as
definitive. But I am open to changing that decision in the future if
there is a good reason to do so.
The only thing that doesn't match up 100% between the pseudo-upstream
commits from your Mercurial repository and the ones in this repository
is that they updated the "svntest" directory at different times. But
this difference should not matter in practice.
It would be great if you would work with this repository so that we can
work together with decent tools rather than copy and pasting patches
around. For quite some time I have been pushing Subversion's trunk
revisions to this repo on a regular basis, so you could use it for
syncing with upstream.
A word about git vs hg: there is an "hg-git" tool, but no "git-hg" tool.
Therefore, it seems like the only way to work with git and hg at the
same time is to use a shared git repository that can be pulled and
pushed to from either git or hg. According to the hg-git website [1],
all you should need to do to get started is
$ hg clone git://repo.or.cz/cvs2svn.git
If you want to submit patches and pull requests via Mercurial, then you
should fork the git project (i.e., make one that is writable by you) and
push from Mercurial into that repository using hg-git.
I believe that the git repository is equivalent to your Mercurial
repository, but they are not compatible in the sense that the hashes are
different. So after you clone, you might want to replace your public
Mercurial repo with the cloned version.
Please consider transitioning, to make both our lives easier.
I should have some hours this week for cvs2svn hacking, so please also
let me know if there is some part of the merge that I can work on.
Yours,
Michael
[1] http://hg-git.github.com/
------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2644254
To unsubscribe from this discussion, e-mail: [[email protected]].