Make arc diff work with multiple heads in hg #28
Merged
Conversation
|
Ah, thanks! Let's hope everyone has Mercurial 1.6 or newer -- this might actually cause issues but I can deal with it if it does. |
epriestley
pushed a commit
that referenced
this pull request
May 17, 2012
Make arc diff work with multiple heads in hg
carlsverre
pushed a commit
to memsql/arcanist
that referenced
this pull request
Mar 31, 2014
Summary:
This adds basic support for mutable history for arc diff and arc amend for
mercurial. This is purely opt-in (so it shouldn't affect anyone who doesn't want
this feature) by explicitly setting
"immutable_history" : false
in arc configuration.
This also fixes another instance of weird behaviour for multiple heads - the
first instance was fixed here:
phacility/arcanist#28
Test Plan:
without "immutable_history" turned on)>
When ##arc diff## produces an update diff, it should list only commits that are
ancestors of the current revision - not ones from other heads.
Reviewers: epriestley
CC: csilvers, aran, Koolvin
Differential Revision: https://secure.phabricator.com/D2654
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
When you have a commit history that looks like this:
If you're on
foo(i.e.hg update 11805), and run arc diff, the diff that shows up on differential is correct, but the list of commits will contain bothfooandbar.This is because
11805:0contains11804. We actually only want things that are ancestors of the current revision, which we can get withancestor(11805)instead.These heads are the same hg branch, but are identified by different hg bookmarks (which are like lightweight git branches).