[haiku-development] Re: merge branch

  • From: Niels Reedijk <niels.reedijk@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 17 May 2010 10:39:21 +0200

Hi Clemens,

On 17 May 2010 00:25, Clemens Zeidler <clemens.zeidler@xxxxxxxxxxxxxx> wrote:
> Am 14.05.2010, 21:58 Uhr, schrieb Niels Reedijk <niels.reedijk@xxxxxxxxx>:
>
>> That is on a todo list, but honestly there are some concerns that do
>> not allow it to be used the way you would like (meaning that you can
>> swap changesets between mercurial repositories and still be able to
>> cleanly sync with the svn one).
>
> Ah cool, did you tried the hgsubversion extension? Hadn't tried it by myself
> but it looks promising. Would't help in my particular problem but in general
> it would be cool.

Unfortunately that does not suffice the way it is currently implemented.

The issue is that in order to push changes to svn, it will always
require you to 'rebase' changes, meaning your history is messed up,
which also makes it impossible to share repositories and changes with
others, except when you only work with short-lived end-of-line
branches. You could imagine a group of people working on a feature,
and then at the end they put the changes into svn and discontinue the
branch.

Now there also is a solution. Currently the software is written in
such a way that there is a direct link between an svn changeset and a
hg changeset. Actually, a 1:1 connection. However, with distributed
rcs, the linear history disappears.

r means subversion revision, h is mercurial revision.

r1 -> r2 -> r3 -> r4 -> r5 -> m/r6
   \-> h1 -> h2 -> h3 -----/

The feature that needs to be implemented is that when the h1-h3 +
merge changeset(s) are pushed, that that diff is committed to svn.
Then the hg-svn bridge needs to be taught that the whole sub-branch
corresponds to that revision in svn. Anyway, I will be looking at that
and possible solutions as my next project.

>> Nonetheless, I would be glad if you would want to try the hg+mq
>> experiment, to see whether it is a viable option for us. I set it up,
>> so I can help you out with that!
>>
> I tried it but somehow I messed things up, properly because I used it wrong.
> Will give it another try later...

Note that the update script is quite basic and it nukes itself if any
part of the update fails.

Anyway, I guess we'll talk more later.

N>

Other related posts: