Jump to content

Unresolvable two heads branch deadlock


Misieq

Recommended Posts

Hello

We have recently faced problem with two heads.

I think that main problem is that option "Ignore merge tracking" is active only for "cherry pick" and "revision interval" merges.

Look at the screenshot below:

post-28344-0-44941100-1443288906_thumb.png

Main branch is currently locked for pushing into central server (last cherry-pick merge was my trial to solve "two-heads" conflict.

Due to fact that sub-branch are already linked with some merges it is not possible to do regular merge from one head to another.

It is also not possible to delete problematic changeset.

In fact the only way to solve problem was to delete local repo and replicate main branch from the server - but to be honest it was not very nice solution :)

Link to comment
Share on other sites

Hi!

 

AFAIK the merge operation will also work even if no conflicts are detected, like this case, because an empty merge window will have the "Process merges" button enabled just for creating a merge link, did you test that?

 

Of course the pending changes view will be empty and you'll only be able to checkin the merge link, needed for avoid the multiple branch restriction.

Link to comment
Share on other sites

Hi

We tried.

All the time Merge window was opened with information that changes are already included in destination and Proccess merge button was deativated.

But after your post I have another idea. We always tried to merge shorter "branch" into longer one.

I will check if oposite (so merging from longer into shorter) will solve this problem.

Link to comment
Share on other sites

Nop, it won't work, I have just tested it.

 

I have a workaround. Hack the client to send a merge link meta information in order to set the changeset as "merged" and allow you the replication.

 

You will need:

 

1) Switch your workspace to the main branch.

2) Create a file called "plastic.merges" at your "wkspaces\<Your_workspace>\.plastic" hidden path.

3) Add the following content.

mount:56e62dd7-241f-41e9-8c6b-dd4ca4513e62#/#<Repo_Name>@<Server_IP_Or_Name>:8087 merged from: Merge <CSET_ID>

And replace the "<XXX>" fields by its actual value for you:

 

<Repo_Name>: Repository name. 

<Server_IP_Or_Name>: The server IP Address o the server name

<CSET_ID>: The changeset number from the one you can't merge from.

 

After creating the file and saving it you'll see the pending changes view with a new pending merge link, you'll be able to check it in and workaround the issue.

 

Tell me how it goes!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...