Wed, 26 Nov 2014 11:45:21 -0800 merge: add more thorough tests for --force
Martin von Zweigbergk <martinvonz@google.com> [Wed, 26 Nov 2014 11:45:21 -0800] rev 23449
merge: add more thorough tests for --force With generate-working-copy-states.py generalized to support arbitrarily many changesets, we can use it for generating test cases for merge: use one changeset each for base, remote and local. With the various working copy states, this is a total of 104 cases. The first candidate for additional testing is 'hg merge --force'. Even though the force option is deprecated, it is convenient for testing because it can be tested without first needing to revert any changes. Except for the lack of checking for uncommitted changes, it differs in only a few cases from unforced merge. The new tests cover all the cases in the existing test-merge-force.t, except for the unforced merge case, which is covered in several other files anyway, so nothing remains of the file after this patch.
Wed, 26 Nov 2014 10:25:27 -0800 merge: display modify/delete conflict prompts in sorted order
Martin von Zweigbergk <martinvonz@google.com> [Wed, 26 Nov 2014 10:25:27 -0800] rev 23448
merge: display modify/delete conflict prompts in sorted order The order is determined by manifest.diff(), which currently is not sorted. There are currently no tests for this, but we will soon add some that would be flaky without this patch.
Sun, 09 Nov 2014 00:10:29 -0800 generate-working-copy-states: accept depth arguments on command line
Martin von Zweigbergk <martinvonz@google.com> [Sun, 09 Nov 2014 00:10:29 -0800] rev 23447
generate-working-copy-states: accept depth arguments on command line Add a parameter to generate-working-copy-states.py that indicates how many changesets are wanted. This number impacts all the subcommands. The current 'filelist' subcommand becomes 'filelist 2', the current 'base' and 'parent' subcommands become 'state 2 1' and 'state 2 2' respectively, while 'wc' becomes 'state 2 wc'. See earlier patch for motivation.
Sat, 08 Nov 2014 23:37:54 -0800 generate-working-copy-states: generalize for depth
Martin von Zweigbergk <martinvonz@google.com> [Sat, 08 Nov 2014 23:37:54 -0800] rev 23446
generate-working-copy-states: generalize for depth The script can currently generate filenames and contents for exactly two changesets plus the working copy. For some tests (e.g. of plain dirstate status), only one changeset is needed, while for others (e.g. merge), three changesets are needed. Let's prepare for such tests by generalizing the code for any number of changesets.
Sat, 29 Nov 2014 14:39:33 -0800 generate-working-copy-states: make 'tracked' a string
Martin von Zweigbergk <martinvonz@google.com> [Sat, 29 Nov 2014 14:39:33 -0800] rev 23445
generate-working-copy-states: make 'tracked' a string The only places the 'tracked' variable is only used is where it's converted to a string, so let's simplify by using the string value directly.
Tue, 02 Dec 2014 13:28:07 -0800 merge: demonstrate that directory renames can lose local file content
Martin von Zweigbergk <martinvonz@google.com> [Tue, 02 Dec 2014 13:28:07 -0800] rev 23444
merge: demonstrate that directory renames can lose local file content When a directory has been renamed on the local branch and a file has been added in the old location on a remote branch, we move that new file to the new location. Unfortunately, if there is already a file there, we overwrite it with the contents from the remote branch. For untracked local files, we should probably abort, and for tracked local files, we should merge the contents. To start with, let's add a test to demonstrate the breakage. Also note that while files merged in from a remote branch are normally (and unintuitively) reported as modified, these files are reported as added.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 +10000 tip