Show More
@@ -246,7 +246,13 b' def manifestmerge(repo, wctx, p2, pa, br' | |||||
246 | if n12: |
|
246 | if n12: | |
247 | n1, n2 = n12 |
|
247 | n1, n2 = n12 | |
248 | else: # file contents didn't change, but flags did |
|
248 | else: # file contents didn't change, but flags did | |
249 |
n1 = n2 = m1 |
|
249 | n1 = n2 = m1.get(f, None) | |
|
250 | if n1 is None: | |||
|
251 | # Since n1 == n2, the file isn't present in m2 either. This | |||
|
252 | # means that the file was removed or deleted locally and | |||
|
253 | # removed remotely, but that residual entries remain in flags. | |||
|
254 | # This can happen in manifests generated by workingctx. | |||
|
255 | continue | |||
250 | if fl12: |
|
256 | if fl12: | |
251 | fl1, fl2 = fl12 |
|
257 | fl1, fl2 = fl12 | |
252 | else: # flags didn't change, file contents did |
|
258 | else: # flags didn't change, file contents did |
@@ -6,9 +6,16 b'' | |||||
6 |
|
6 | |||
7 | $ echo foo > foo |
|
7 | $ echo foo > foo | |
8 | $ hg ci -qAm0 |
|
8 | $ hg ci -qAm0 | |
9 | $ chmod +x foo |
|
9 | $ echo toremove > toremove | |
10 | $ hg ci -m1 |
|
10 | $ echo todelete > todelete | |
|
11 | $ chmod +x foo toremove todelete | |||
|
12 | $ hg ci -qAm1 | |||
|
13 | ||||
|
14 | Test that local removed/deleted, remote removed works with flags | |||
|
15 | $ hg rm toremove | |||
|
16 | $ rm todelete | |||
11 | $ hg co -q 0 |
|
17 | $ hg co -q 0 | |
|
18 | ||||
12 | $ echo dirty > foo |
|
19 | $ echo dirty > foo | |
13 | $ hg up -c |
|
20 | $ hg up -c | |
14 | abort: uncommitted local changes |
|
21 | abort: uncommitted local changes | |
@@ -18,11 +25,13 b'' | |||||
18 | dirty |
|
25 | dirty | |
19 | $ hg st -A |
|
26 | $ hg st -A | |
20 | M foo |
|
27 | M foo | |
|
28 | C todelete | |||
|
29 | C toremove | |||
21 |
|
30 | |||
22 | Validate update of standalone execute bit change: |
|
31 | Validate update of standalone execute bit change: | |
23 |
|
32 | |||
24 | $ hg up -C 0 |
|
33 | $ hg up -C 0 | |
25 |
1 files updated, 0 files merged, |
|
34 | 1 files updated, 0 files merged, 2 files removed, 0 files unresolved | |
26 | $ chmod -x foo |
|
35 | $ chmod -x foo | |
27 | $ hg ci -m removeexec |
|
36 | $ hg ci -m removeexec | |
28 | nothing changed |
|
37 | nothing changed | |
@@ -30,7 +39,7 b' Validate update of standalone execute bi' | |||||
30 | $ hg up -C 0 |
|
39 | $ hg up -C 0 | |
31 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
40 | 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
32 | $ hg up |
|
41 | $ hg up | |
33 |
|
|
42 | 3 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
34 | $ hg st |
|
43 | $ hg st | |
35 |
|
44 | |||
36 | $ cd .. |
|
45 | $ cd .. |
General Comments 0
You need to be logged in to leave comments.
Login now