Skip to content
Snippets Groups Projects
Commit 49966b5a authored by Benoit Boissinot's avatar Benoit Boissinot
Browse files

fix traceback of extdiff after a merge

- files that comes from a different branch are marked as modified
  but aren't present in the original manifest
- add a testcase for extdiff and for regular diff
parent a1aad25c
No related branches found
No related tags found
No related merge requests found
......@@ -65,6 +65,9 @@
ui.write_err(_('making snapshot of %d files from rev %s\n') %
(len(files), short(node)))
for fn in files:
if not fn in mf:
# skipping new file after a merge ?
continue
wfn = util.pconvert(fn)
ui.note(' %s\n' % wfn)
dest = os.path.join(base, wfn)
......
......@@ -26,4 +26,13 @@
echo b >> a
hg ci -d '1 0' -mtest2
hg falabala -r 0:1 || echo "diff-like tools yield a non-zero exit code"
hg falabala -r 0:1
# test diff during merge
hg update 0
echo b >> b
hg add b
hg ci -m "new branch" -d '1 0'
hg update -C 1
hg merge tip
hg falabala || echo "diff-like tools yield a non-zero exit code"
......@@ -29,4 +29,11 @@
making snapshot of 1 files from rev e27a2475d60a
making snapshot of 1 files from rev 5e49ec8d3f05
diffing a.e27a2475d60a a.5e49ec8d3f05
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
making snapshot of 1 files from rev 5e49ec8d3f05
making snapshot of 1 files from working dir
diffing a.5e49ec8d3f05 a
diff-like tools yield a non-zero exit code
......@@ -23,6 +23,8 @@
echo This is file b1 > b
echo %% no merges expected
env HGMERGE=../merge hg merge 1
hg diff --nodates
hg status
cd ..; /bin/rm -rf t
mkdir t
......@@ -44,6 +46,8 @@
env HGMERGE=../merge hg merge 1
echo %% merge of b expected
env HGMERGE=../merge hg merge -f 1
hg diff --nodates
hg status
cd ..; /bin/rm -rf t
echo %%
......@@ -71,6 +75,8 @@
env HGMERGE=../merge hg merge 2
echo %% merge expected!
env HGMERGE=../merge hg merge -f 2
hg diff --nodates
hg status
cd ..; /bin/rm -rf t
mkdir t
......@@ -93,4 +99,6 @@
env HGMERGE=../merge hg merge 2
echo %% merge of b expected
env HGMERGE=../merge hg merge -f 2
hg diff --nodates
hg status
cd ..; /bin/rm -rf t
......@@ -4,6 +4,12 @@
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
diff -r d9e5953b9dec b
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+This is file b1
M b
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
%% merge should fail
abort: 'b' already exists in the working dir and differs from remote
......@@ -12,6 +18,12 @@
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
diff -r d9e5953b9dec b
--- /dev/null
+++ b/b
@@ -0,0 +1,1 @@
+This is file b2
M b
%%
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Contents of b should be "this is file b1"
......@@ -23,6 +35,13 @@
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
diff -r c1dd73cbf59f b
--- a/b
+++ b/b
@@ -1,1 +1,1 @@ This is file b1
-This is file b1
+This is file b22
M b
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
%% merge of b should fail
abort: outstanding uncommitted changes
......@@ -31,3 +50,10 @@
merging b
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
diff -r c1dd73cbf59f b
--- a/b
+++ b/b
@@ -1,1 +1,1 @@ This is file b1
-This is file b1
+This is file b33
M b
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment