So, suppose I have a bookmark with some feature implemented, so the log (hg graph --style compact -G) is like:
o 3[tip]:1 4fa205099913 2014-07-28 13:37 +0300 shabunc
| default commit C
|
| @ 2[feature] d3c4f62b33ca 2014-07-28 13:36 +0300 shabunc
|/ feature commit A
|
o 1 a06864113f47 2014-07-28 13:35 +0300 shabunc
| default commit B
|
o 0 d746532dac10 2014-07-28 13:35 +0300 shabunc
default commit A
In rhodecode I can choose the bookmark I want to create a PR about. Here's submit form to give you idea what I'm talking about:
In this case, there will be one changeset int feature-based pull request (d3c4f62b33ca). This is predictable and intuitive.
But now supposed you've worked on some feature under the bookmark but remote repo had not been changed since, so you have this log graph:
@ 2[tip][feature] d3c4f62b33ca 2014-07-28 13:36 +0300 shabunc
| feature commit A
|
o 1 a06864113f47 2014-07-28 13:35 +0300 shabunc
| default commit B
|
o 0 d746532dac10 2014-07-28 13:35 +0300 shabunc
default commit A
This is a well-known mercurial behavior - new head is not created until no new changes had been introduced even after the bookmark creation.
But now, because no head yet had been created, an attempt to create PR based on feature will end up with having all three commits in the pull request. This is not something we actually want.
So, the question is - in Rhodecode, how to add to pull request changes that had been introduced after the bookmark creation but before new head has been created? My first thought was that it it something more mercurial specific, but Lasse V. Karlsen (see the discussion below) pointed out that this most probably is RhodeCode-specific issue.