author | Matt Mackall <mpm@selenic.com> |
Tue, 13 Mar 2012 16:28:08 -0500 | |
branch | stable |
changeset 16255 | ca5cc2976574 |
parent 15625 | efdcce3fd2d5 |
child 16355 | cb1475e7e5a2 |
permissions | -rw-r--r-- |
15442
db0340f4b507
tests: use 'hghave execbit' for tests that manipulate x bit in file system
Mads Kiilerich <mads@kiilerich.com>
parents:
15441
diff
changeset
|
1 |
$ "$TESTDIR/hghave" symlink execbit || exit 80 |
15441
e0348815e806
tests: use 'hghave symlink' for tests using symlinks
Mads Kiilerich <mads@kiilerich.com>
parents:
12279
diff
changeset
|
2 |
|
12279 | 3 |
$ hg init |
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
4 |
|
12279 | 5 |
$ echo a > a |
6 |
$ hg ci -Amadd |
|
7 |
adding a |
|
8 |
||
9 |
$ chmod +x a |
|
10 |
$ hg ci -mexecutable |
|
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
11 |
|
12279 | 12 |
$ hg up 0 |
13 |
0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
14 |
$ rm a |
|
15 |
$ ln -s symlink a |
|
16 |
$ hg ci -msymlink |
|
17 |
created new head |
|
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
18 |
|
12279 | 19 |
$ hg merge --debug |
20 |
searching for copies back to rev 1 |
|
21 |
resolving manifests |
|
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15442
diff
changeset
|
22 |
overwrite: False, partial: False |
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15442
diff
changeset
|
23 |
ancestor: c334dc3be0da, local: 521a1e40188f+, remote: 3574f3e69b1c |
12279 | 24 |
conflicting flags for a |
25 |
(n)one, e(x)ec or sym(l)ink? n |
|
26 |
a: update permissions -> e |
|
27 |
updating: a 1/1 files (100.00%) |
|
28 |
0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
29 |
(branch merge, don't forget to commit) |
|
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
30 |
|
12279 | 31 |
|
32 |
Symlink is local parent, executable is other: |
|
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
33 |
|
12279 | 34 |
$ if [ -h a ]; then |
35 |
> echo a is a symlink |
|
36 |
> $TESTDIR/readlink.py a |
|
37 |
> elif [ -x a ]; then |
|
38 |
> echo a is executable |
|
39 |
> else |
|
40 |
> echo "a has no flags (default for conflicts)" |
|
41 |
> fi |
|
42 |
a has no flags (default for conflicts) |
|
43 |
||
44 |
$ hg update -C 1 |
|
45 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
46 |
|
12279 | 47 |
$ hg merge --debug |
48 |
searching for copies back to rev 1 |
|
49 |
resolving manifests |
|
15625
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15442
diff
changeset
|
50 |
overwrite: False, partial: False |
efdcce3fd2d5
merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents:
15442
diff
changeset
|
51 |
ancestor: c334dc3be0da, local: 3574f3e69b1c+, remote: 521a1e40188f |
12279 | 52 |
conflicting flags for a |
53 |
(n)one, e(x)ec or sym(l)ink? n |
|
54 |
a: remote is newer -> g |
|
55 |
updating: a 1/1 files (100.00%) |
|
56 |
getting a |
|
57 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
58 |
(branch merge, don't forget to commit) |
|
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
59 |
|
12279 | 60 |
|
61 |
Symlink is other parent, executable is local: |
|
62 |
||
63 |
$ if [ -h a ]; then |
|
64 |
> echo a is a symlink |
|
65 |
> $TESTDIR/readlink.py a |
|
66 |
> elif [ -x a ]; then |
|
67 |
> echo a is executable |
|
68 |
> else |
|
69 |
> echo "a has no flags (default for conflicts)" |
|
70 |
> fi |
|
71 |
a has no flags (default for conflicts) |
|
72 |
||
16255
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
73 |
Update to link without local change should get us a symlink (issue3316): |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
74 |
|
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
75 |
$ hg up -C 0 |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
76 |
$ hg up |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
77 |
$ hg st |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
78 |
|
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
79 |
Update to link with local change should cause a merge prompt (issue3200): |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
80 |
|
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
81 |
$ hg up -C 0 |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
82 |
1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
83 |
$ echo data > a |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
84 |
$ HGMERGE= hg up -y --debug |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
85 |
searching for copies back to rev 2 |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
86 |
resolving manifests |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
87 |
overwrite: False, partial: False |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
88 |
ancestor: c334dc3be0da, local: c334dc3be0da+, remote: 521a1e40188f |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
89 |
a: versions differ -> m |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
90 |
preserving a for resolve of a |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
91 |
updating: a 1/1 files (100.00%) |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
92 |
couldn't find merge tool hgmerge |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
93 |
picked tool 'internal:prompt' for a (binary False symlink True) |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
94 |
no tool found to merge a |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
95 |
keep (l)ocal or take (o)ther? l |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
96 |
0 files updated, 1 files merged, 0 files removed, 0 files unresolved |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
97 |
$ hg diff --git |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
98 |
diff --git a/a b/a |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
99 |
old mode 120000 |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
100 |
new mode 100644 |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
101 |
--- a/a |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
102 |
+++ b/a |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
103 |
@@ -1,1 +1,1 @@ |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
104 |
-symlink |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
105 |
\ No newline at end of file |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
106 |
+data |
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
107 |
|
ca5cc2976574
merge: handle linear update to symlink correctly (issue3316)
Matt Mackall <mpm@selenic.com>
parents:
15625
diff
changeset
|
108 |