##// END OF EJS Templates
manifestmerge: handle workdir removed, remote removed with flags...
Siddharth Agarwal -
r18895:ed676ed6 default
parent child Browse files
Show More
@@ -246,7 +246,13 b' def manifestmerge(repo, wctx, p2, pa, br'
246 246 if n12:
247 247 n1, n2 = n12
248 248 else: # file contents didn't change, but flags did
249 n1 = n2 = m1[f]
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 256 if fl12:
251 257 fl1, fl2 = fl12
252 258 else: # flags didn't change, file contents did
@@ -6,9 +6,16 b''
6 6
7 7 $ echo foo > foo
8 8 $ hg ci -qAm0
9 $ chmod +x foo
10 $ hg ci -m1
9 $ echo toremove > toremove
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 17 $ hg co -q 0
18
12 19 $ echo dirty > foo
13 20 $ hg up -c
14 21 abort: uncommitted local changes
@@ -18,11 +25,13 b''
18 25 dirty
19 26 $ hg st -A
20 27 M foo
28 C todelete
29 C toremove
21 30
22 31 Validate update of standalone execute bit change:
23 32
24 33 $ hg up -C 0
25 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
34 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
26 35 $ chmod -x foo
27 36 $ hg ci -m removeexec
28 37 nothing changed
@@ -30,7 +39,7 b' Validate update of standalone execute bi'
30 39 $ hg up -C 0
31 40 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
32 41 $ hg up
33 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
42 3 files updated, 0 files merged, 0 files removed, 0 files unresolved
34 43 $ hg st
35 44
36 45 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now