Mercurial > hg
annotate tests/test-merge-types.t @ 14732:e9ed3506f066 stable
backout of d04ba50e104d: allow to qpop/push with a dirty working copy
The new behavior was breaking existing tools that relied on a sequence such as
this:
1) start with a dirty working copy
2) qimport some patch
3) try to qpush it
4) old behavior would fail at this point due to outstanding changes.
(new behavior would only fail if the outstanding changes and the patches
changes intersect)
5) innocent user qrefreshes, gets his local changes in the imported patch
It's worth considering if we can move this behavior to -f in the future.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 24 Jun 2011 23:25:42 +0300 |
parents | 28e2e3804f2e |
children | e0348815e806 |
rev | line source |
---|---|
12279 | 1 $ hg init |
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
2 |
12279 | 3 $ echo a > a |
4 $ hg ci -Amadd | |
5 adding a | |
6 | |
7 $ chmod +x a | |
8 $ hg ci -mexecutable | |
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
9 |
12279 | 10 $ hg up 0 |
11 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
12 $ rm a | |
13 $ ln -s symlink a | |
14 $ hg ci -msymlink | |
15 created new head | |
5503
6f26c7677463
Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
16 |
12279 | 17 $ hg merge --debug |
18 searching for copies back to rev 1 | |
19 resolving manifests | |
20 overwrite None partial False | |
21 ancestor c334dc3be0da local 521a1e40188f+ remote 3574f3e69b1c | |
22 conflicting flags for a | |
23 (n)one, e(x)ec or sym(l)ink? n | |
24 a: update permissions -> e | |
25 updating: a 1/1 files (100.00%) | |
26 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
27 (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
|
28 |
12279 | 29 |
30 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
|
31 |
12279 | 32 $ if [ -h a ]; then |
33 > echo a is a symlink | |
34 > $TESTDIR/readlink.py a | |
35 > elif [ -x a ]; then | |
36 > echo a is executable | |
37 > else | |
38 > echo "a has no flags (default for conflicts)" | |
39 > fi | |
40 a has no flags (default for conflicts) | |
41 | |
42 $ hg update -C 1 | |
43 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
|
44 |
12279 | 45 $ hg merge --debug |
46 searching for copies back to rev 1 | |
47 resolving manifests | |
48 overwrite None partial False | |
49 ancestor c334dc3be0da local 3574f3e69b1c+ remote 521a1e40188f | |
50 conflicting flags for a | |
51 (n)one, e(x)ec or sym(l)ink? n | |
52 a: remote is newer -> g | |
53 updating: a 1/1 files (100.00%) | |
54 getting a | |
55 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
56 (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
|
57 |
12279 | 58 |
59 Symlink is other parent, executable is local: | |
60 | |
61 $ if [ -h a ]; then | |
62 > echo a is a symlink | |
63 > $TESTDIR/readlink.py a | |
64 > elif [ -x a ]; then | |
65 > echo a is executable | |
66 > else | |
67 > echo "a has no flags (default for conflicts)" | |
68 > fi | |
69 a has no flags (default for conflicts) | |
70 |