Mercurial > hg-stable
annotate tests/test-rename-rev.t @ 46793:6266d19556ad
node: introduce nodeconstants class
In preparing for moving from SHA1 hashes to a modern hash function,
place nullid and other constant magic vules in a class. Provide the
active set of constants in the repository and push it down. Provide
nullid directly in strategic places like the repository as it is
accessed very often. This changeset introduces the API change, but not
the mechanical replacement of the node.py attributes itself.
Differential Revision: https://phab.mercurial-scm.org/D9750
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Wed, 13 Jan 2021 16:14:58 +0100 |
parents | 8d72e29ad1e0 |
children | c62e4397eb28 |
rev | line source |
---|---|
12098
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
1 $ hg init |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
2 $ mkdir d1 d1/d11 d2 |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
3 $ echo d1/a > d1/a |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
4 $ echo d1/ba > d1/ba |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
5 $ echo d1/a1 > d1/d11/a1 |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
6 $ echo d1/b > d1/b |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
7 $ echo d2/b > d2/b |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
8 $ hg add d1/a d1/b d1/ba d1/d11/a1 d2/b |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
9 $ hg commit -m "intial" |
12898
f2fd909053d9
test-rename: test with absolute paths
Martin Geisler <mg@aragost.com>
parents:
12897
diff
changeset
|
10 |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
11 |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
12 Test single file |
1565
4bcbc126b80b
fix rename --after
Robin Farine <robin.farine@terminus.org>
parents:
1515
diff
changeset
|
13 |
44771
d2741ab1f8b7
tests: show poor error message for `hg cp -A --at-rev . non-existent dst`
Martin von Zweigbergk <martinvonz@google.com>
parents:
44770
diff
changeset
|
14 # One recorded copy, one copy to record after commit |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
15 $ hg cp d1/b d1/c |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
16 $ cp d1/b d1/d |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
17 $ hg add d1/d |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
18 $ hg ci -m 'copy d1/b to d1/c and d1/d' |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
19 $ hg st -C --change . |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
20 A d1/c |
12098
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
21 d1/b |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
22 A d1/d |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
23 # Errors out without --after for now |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
24 $ hg cp --at-rev . d1/b d1/d |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
25 abort: --at-rev requires --after |
45846
8d72e29ad1e0
errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents:
45389
diff
changeset
|
26 [10] |
44771
d2741ab1f8b7
tests: show poor error message for `hg cp -A --at-rev . non-existent dst`
Martin von Zweigbergk <martinvonz@google.com>
parents:
44770
diff
changeset
|
27 # Errors out with non-existent source |
d2741ab1f8b7
tests: show poor error message for `hg cp -A --at-rev . non-existent dst`
Martin von Zweigbergk <martinvonz@google.com>
parents:
44770
diff
changeset
|
28 $ hg cp -A --at-rev . d1/non-existent d1/d |
d2741ab1f8b7
tests: show poor error message for `hg cp -A --at-rev . non-existent dst`
Martin von Zweigbergk <martinvonz@google.com>
parents:
44770
diff
changeset
|
29 d1/non-existent: no such file in rev 55d1fd85ef0a |
44772
c5574408254a
copy: give better error message when no source paths found with --at-rev
Martin von Zweigbergk <martinvonz@google.com>
parents:
44771
diff
changeset
|
30 abort: no files to copy |
45846
8d72e29ad1e0
errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents:
45389
diff
changeset
|
31 [10] |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
32 # Errors out with non-existent destination |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
33 $ hg cp -A --at-rev . d1/b d1/non-existent |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
34 abort: d1/non-existent: copy destination does not exist in 8a9d70fa20c9 |
45846
8d72e29ad1e0
errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents:
45389
diff
changeset
|
35 [10] |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
36 # Successful invocation |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
37 $ hg cp -A --at-rev . d1/b d1/d |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
38 saved backup bundle to $TESTTMP/.hg/strip-backup/8a9d70fa20c9-973ae357-copy.hg |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
39 # New copy is recorded, and previously recorded copy is also still there |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
40 $ hg st -C --change . |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
41 A d1/c |
12098
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
42 d1/b |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
43 A d1/d |
12098
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
44 d1/b |
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
45 |
45389
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
46 Test moved file (not copied) using 'hg cp' command |
44769
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
47 |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
48 $ hg co 0 |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
49 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
50 $ mv d1/b d1/d |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
51 $ hg rm -A d1/b |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
52 $ hg add d1/d |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
53 $ hg ci -m 'move d1/b to d1/d' |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
54 created new head |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
55 $ hg cp -A --at-rev . d1/b d1/d |
44770
1cdc80280286
copy: to find copy source, walk parent of revision we're marking copies in
Martin von Zweigbergk <martinvonz@google.com>
parents:
44769
diff
changeset
|
56 saved backup bundle to $TESTTMP/.hg/strip-backup/519850c3ea27-153c8fbb-copy.hg |
44769
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
57 $ hg st -C --change . |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
58 A d1/d |
44770
1cdc80280286
copy: to find copy source, walk parent of revision we're marking copies in
Martin von Zweigbergk <martinvonz@google.com>
parents:
44769
diff
changeset
|
59 d1/b |
44769
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
60 R d1/b |
af9970501021
tests: show that `hg cp -A --at-rev .` doesn't work for renames
Martin von Zweigbergk <martinvonz@google.com>
parents:
44401
diff
changeset
|
61 |
45389
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
62 Test moved file (not copied) using 'hg mv' command |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
63 |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
64 $ hg co 0 |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
65 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
66 $ mv d1/b d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
67 $ hg rm -A d1/b |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
68 $ hg add d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
69 $ hg ci -m 'move d1/b to d1/d' |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
70 created new head |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
71 $ hg mv -A --at-rev . d1/b d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
72 saved backup bundle to $TESTTMP/.hg/strip-backup/519850c3ea27-153c8fbb-copy.hg |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
73 $ hg st -C --change . |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
74 A d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
75 d1/b |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
76 R d1/b |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
77 |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
78 Test moved file (not copied) for which source still exists |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
79 |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
80 $ hg co 0 |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
81 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
82 $ cp d1/b d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
83 $ hg add d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
84 $ hg ci -m 'copy d1/b to d1/d' |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
85 created new head |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
86 $ hg mv -A --at-rev . d1/b d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
87 saved backup bundle to $TESTTMP/.hg/strip-backup/c8d0f6bcf7ca-1c9bb53e-copy.hg |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
88 $ hg st -C --change . |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
89 A d1/d |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
90 d1/b |
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
91 |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
92 Test using directory as destination |
1512
53ad6ee6ede4
generalize copy/rename to handle more than one source directory
Robin Farine <robin.farine@terminus.org>
parents:
diff
changeset
|
93 |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
94 $ hg co 0 |
45389
5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
Martin von Zweigbergk <martinvonz@google.com>
parents:
44772
diff
changeset
|
95 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
44401
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
96 $ cp -R d1 d3 |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
97 $ hg add d3 |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
98 adding d3/a |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
99 adding d3/b |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
100 adding d3/ba |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
101 adding d3/d11/a1 |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
102 $ hg ci -m 'copy d1/ to d3/' |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
103 created new head |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
104 $ hg cp -A --at-rev . d1 d3 |
9dab3fa64325
copy: add experimental support for marking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents:
39377
diff
changeset
|
105 abort: d3: --at-rev does not support a directory as destination |
45846
8d72e29ad1e0
errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents:
45389
diff
changeset
|
106 [10] |
12098
12108d7f2ce1
tests: unify test-rename
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
11551
diff
changeset
|
107 |