Mercurial > hg
annotate tests/test-commit-unresolved.t @ 18625:2cbd27f4f3c4
dirstate: walk returns None for files that have a symlink in their path
Previously dirstate.walk would return a stat object for files in the dmap
that have a symlink to a directory in their path. Now it will return None
to indicate that they are no longer considered part of the repository. This
currently only affects walks that traverse the entire directory tree (ex:
hg status) and not walks that only list the contents of the dmap (ex: hg diff).
In a situation like this:
mkdir foo && touch foo/a && hg commit -Am "a"
mv foo bar
ln -s bar foo
'hg status' will now show '! foo/a', whereas before it incorrectly considered
'foo/a' to be unchanged.
In addition to making 'hg status' report the correct information, this will
allow callers to dirstate.walk to not have to detect symlinks themselves,
which can be very expensive.
author | Durham Goode <durham@fb.com> |
---|---|
date | Mon, 04 Feb 2013 14:27:15 -0800 |
parents | f2719b387380 |
children | aa9385f983fa |
rev | line source |
---|---|
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
1 $ echo "[extensions]" >> $HGRCPATH |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
2 $ echo "graphlog=" >> $HGRCPATH |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
3 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
4 $ addcommit () { |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
5 > echo $1 > $1 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
6 > hg add $1 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
7 > hg commit -d "${2} 0" -m $1 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
8 > } |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
9 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
10 $ commit () { |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
11 > hg commit -d "${2} 0" -m $1 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
12 > } |
6910 | 13 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
14 $ hg init a |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
15 $ cd a |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
16 $ addcommit "A" 0 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
17 $ addcommit "B" 1 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
18 $ echo "C" >> A |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
19 $ commit "C" 2 |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
20 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
21 $ hg update -C 0 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
22 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
23 $ echo "D" >> A |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
24 $ commit "D" 3 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
25 created new head |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
26 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
27 Merging a conflict araises |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
28 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
29 $ hg merge |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
30 merging A |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
31 warning: conflicts during merge. |
15501
2371f4aea665
merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents:
13541
diff
changeset
|
32 merging A incomplete! (edit conflicts, then use 'hg resolve --mark') |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
33 1 files updated, 0 files merged, 0 files removed, 1 files unresolved |
12314
f2daa6ab514a
merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents:
11804
diff
changeset
|
34 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12314
diff
changeset
|
35 [1] |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
36 |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
37 Correct the conflict without marking the file as resolved |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
38 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
39 $ echo "ABCD" > A |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
40 $ hg commit -m "Merged" |
13541
919174c0aaff
Improve unresolved merge conflicts warning (issue2681)
Patrick Mezard <pmezard@gmail.com>
parents:
12327
diff
changeset
|
41 abort: unresolved merge conflicts (see hg help resolve) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12314
diff
changeset
|
42 [255] |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
43 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
44 Mark the conflict as resolved and commit |
6888
7c36a4fb05a3
make commit fail when committing unresolved files
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
45 |
11804
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
46 $ hg resolve -m A |
6c24465613de
tests: unify test-commit-unresolved
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
8168
diff
changeset
|
47 $ hg commit -m "Merged" |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15501
diff
changeset
|
48 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15501
diff
changeset
|
49 $ cd .. |