Show More
@@ -2258,14 +2258,21 b' def diff(repo, node1=None, node2=None, m' | |||
|
2258 | 2258 | |
|
2259 | 2259 | modifiedset = set(modified) |
|
2260 | 2260 | addedset = set(added) |
|
2261 | removedset = set(removed) | |
|
2261 | 2262 | for f in modified: |
|
2262 | 2263 | if f not in ctx1: |
|
2263 | 2264 | # Fix up added, since merged-in additions appear as |
|
2264 | 2265 | # modifications during merges |
|
2265 | 2266 | modifiedset.remove(f) |
|
2266 | 2267 | addedset.add(f) |
|
2268 | for f in removed: | |
|
2269 | if f not in ctx1: | |
|
2270 | # Merged-in additions that are then removed are reported as removed. | |
|
2271 | # They are not in ctx1, so We don't want to show them in the diff. | |
|
2272 | removedset.remove(f) | |
|
2267 | 2273 | modified = sorted(modifiedset) |
|
2268 | 2274 | added = sorted(addedset) |
|
2275 | removed = sorted(removedset) | |
|
2269 | 2276 | |
|
2270 | 2277 | def difffn(opts, losedata): |
|
2271 | 2278 | return trydiff(repo, revs, ctx1, ctx2, modified, added, removed, |
@@ -38,3 +38,33 b'' | |||
|
38 | 38 | $ hg diff -r tip -r "" |
|
39 | 39 | hg: parse error: empty query |
|
40 | 40 | [255] |
|
41 | ||
|
42 | Remove a file that was added via merge. Since the file is not in parent 1, | |
|
43 | it should not be in the diff. | |
|
44 | ||
|
45 | $ hg ci -m 'a=foo' a | |
|
46 | $ hg co -Cq null | |
|
47 | $ echo 123 > b | |
|
48 | $ hg add b | |
|
49 | $ hg ci -m "b" | |
|
50 | created new head | |
|
51 | $ hg merge 1 | |
|
52 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
53 | (branch merge, don't forget to commit) | |
|
54 | $ hg rm -f a | |
|
55 | $ hg diff --nodates | |
|
56 | ||
|
57 | Rename a file that was added via merge. Since the rename source is not in | |
|
58 | parent 1, the diff should be relative to /dev/null | |
|
59 | ||
|
60 | $ hg co -Cq 2 | |
|
61 | $ hg merge 1 | |
|
62 | 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
|
63 | (branch merge, don't forget to commit) | |
|
64 | $ hg mv a a2 | |
|
65 | $ hg diff --nodates | |
|
66 | diff -r cf44b38435e5 a2 | |
|
67 | --- /dev/null | |
|
68 | +++ b/a2 | |
|
69 | @@ -0,0 +1,1 @@ | |
|
70 | +foo |
General Comments 0
You need to be logged in to leave comments.
Login now