Show More
@@ -0,0 +1,19 b'' | |||
|
1 | #!/bin/sh | |
|
2 | ||
|
3 | # test update logic when there are renames | |
|
4 | ||
|
5 | ||
|
6 | # update with local changes across a file rename | |
|
7 | hg init a | |
|
8 | cd a | |
|
9 | echo a > a | |
|
10 | hg add a | |
|
11 | hg ci -m a | |
|
12 | hg mv a b | |
|
13 | hg ci -m rename | |
|
14 | echo b > b | |
|
15 | hg ci -m change | |
|
16 | hg up -q 0 | |
|
17 | echo c > a | |
|
18 | hg up | |
|
19 | cd .. |
@@ -0,0 +1,5 b'' | |||
|
1 | merging a and b to b | |
|
2 | warning: conflicts during merge. | |
|
3 | merging b failed! | |
|
4 | 0 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
|
5 | use 'hg resolve' to retry unresolved file merges |
@@ -117,8 +117,23 b' def copies(repo, c1, c2, ca, checkdirs=F' | |||
|
117 | 117 | diverge = {} |
|
118 | 118 | |
|
119 | 119 | def related(f1, f2, limit): |
|
120 | # Walk back to common ancestor to see if the two files originate | |
|
121 | # from the same file. Since workingfilectx's rev() is None it messes | |
|
122 | # up the integer comparison logic, hence the pre-step check for | |
|
123 | # None (f1 and f2 can only be workingfilectx's initially). | |
|
124 | ||
|
125 | if f1 == f2: | |
|
126 | return f1 # a match | |
|
127 | ||
|
120 | 128 | g1, g2 = f1.ancestors(), f2.ancestors() |
|
121 | 129 | try: |
|
130 | f1r, f2r = f1.rev(), f2.rev() | |
|
131 | ||
|
132 | if f1r is None: | |
|
133 | f1 = g1.next() | |
|
134 | if f2r is None: | |
|
135 | f2 = g2.next() | |
|
136 | ||
|
122 | 137 | while 1: |
|
123 | 138 | f1r, f2r = f1.rev(), f2.rev() |
|
124 | 139 | if f1r > f2r: |
General Comments 0
You need to be logged in to leave comments.
Login now