annotate tests/test-copy.t @ 44909:d452acc8cce8 stable

flags: account for flag change when tracking rename relevant to merge There are some logic filtering rename to the one relevant to the merge. That logic was oblivious of flag change, leading to exec flag being dropped when merged with a renamed. There are two others bugs affecting this scenario. This patch fix the was where there is not modification involved except for the flag change. Fixes for the other bug are coming in later changesets. Differential Revision: https://phab.mercurial-scm.org/D8531
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 16 May 2020 20:37:56 +0200
parents 7c4b98a4e536
children 8d72e29ad1e0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
1 $ mkdir part1
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
2 $ cd part1
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
3
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
4 $ hg init
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
5 $ echo a > a
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
6 $ hg add a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
7 $ hg commit -m "1"
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
8 $ hg status
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
9 $ hg copy a b
13962
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
10 $ hg --config ui.portablefilenames=abort copy a con.xml
33798
2cd5aba5e1d2 scmutil: use util.shellquote instead of %r
Augie Fackler <augie@google.com>
parents: 33425
diff changeset
11 abort: filename contains 'con', which is reserved on Windows: con.xml
13962
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12156
diff changeset
12 [255]
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
13 $ hg status
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
14 A b
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
15 $ hg sum
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
16 parent: 0:c19d34741b0a tip
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
17 1
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
18 branch: default
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
19 commit: 1 copied
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
20 update: (current)
25382
6084926366b9 summary: move the parents phase marker to commit line (issue4688)
Gilles Moris <gilles.moris@free.fr>
parents: 25111
diff changeset
21 phases: 1 draft
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
22 $ hg --debug commit -m "2"
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23285
diff changeset
23 committing files:
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
24 b
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
25 b: copy a:b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23285
diff changeset
26 committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23285
diff changeset
27 committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 30151
diff changeset
28 updating the branch cache
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
29 committed changeset 1:93580a2c28a50a56f63526fb305067e6fbf739c4
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
30
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
31 we should see two history entries
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
32
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
33 $ hg history -v
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
34 changeset: 1:93580a2c28a5
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
35 tag: tip
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
36 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
37 date: Thu Jan 01 00:00:00 1970 +0000
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
38 files: b
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
39 description:
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
40 2
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
41
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
42
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
43 changeset: 0:c19d34741b0a
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
44 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
45 date: Thu Jan 01 00:00:00 1970 +0000
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
46 files: a
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
47 description:
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
48 1
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
49
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
50
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
51
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
52 we should see one log entry for a
363
ae96b7e1318d Add hg copy
mpm@selenic.com
parents:
diff changeset
53
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
54 $ hg log a
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
55 changeset: 0:c19d34741b0a
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
56 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
57 date: Thu Jan 01 00:00:00 1970 +0000
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
58 summary: 1
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
59
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
60
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
61 this should show a revision linked to changeset 0
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
62
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 13962
diff changeset
63 $ hg debugindex a
37283
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
64 rev linkrev nodeid p1 p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
65 0 0 b789fdd96dc2 000000000000 000000000000
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
66
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
67 we should see one log entry for b
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
68
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
69 $ hg log b
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
70 changeset: 1:93580a2c28a5
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
71 tag: tip
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
72 user: test
12156
4c94b6d0fb1c tests: remove unneeded -d flags
Martin Geisler <mg@lazybytes.net>
parents: 11805
diff changeset
73 date: Thu Jan 01 00:00:00 1970 +0000
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
74 summary: 2
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
75
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
76
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
77 this should show a revision linked to changeset 1
1043
9344f5dd4488 Update tests
mpm@selenic.com
parents: 814
diff changeset
78
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 13962
diff changeset
79 $ hg debugindex b
37283
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
80 rev linkrev nodeid p1 p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
81 0 1 37d9b5d994ea 000000000000 000000000000
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
82
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
83 this should show the rename information in the metadata
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
84
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 13962
diff changeset
85 $ hg debugdata b 0 | head -3 | tail -2
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
86 copy: a
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
87 copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3
1043
9344f5dd4488 Update tests
mpm@selenic.com
parents: 814
diff changeset
88
37338
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
89 #if reporevlogstore
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
90 $ md5sum.py .hg/store/data/b.i
26919
aa23e02f9415 test: enable generaldelta in 'test-copy.t'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25472
diff changeset
91 44913824c8f5890ae218f9829535922e .hg/store/data/b.i
37338
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37330
diff changeset
92 #endif
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
93 $ hg cat b > bsum
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
94 $ md5sum.py bsum
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
95 60b725f10c9c85c70d97880dfe8191b3 bsum
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
96 $ hg cat a > asum
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 25382
diff changeset
97 $ md5sum.py asum
11805
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
98 60b725f10c9c85c70d97880dfe8191b3 asum
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
99 $ hg verify
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
100 checking changesets
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
101 checking manifests
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
102 crosschecking files in changesets and manifests
8ef250726cf0 tests: unify test-copy
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 11331
diff changeset
103 checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39350
diff changeset
104 checked 2 changesets with 2 changes to 2 files
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
105
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
106 $ cd ..
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
107
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
108
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
109 $ mkdir part2
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
110 $ cd part2
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
111
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
112 $ hg init
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
113 $ echo foo > foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
114 should fail - foo is not managed
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
115 $ hg mv foo bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
116 foo: not copying - file is not managed
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
117 abort: no files to copy
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
118 [255]
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
119 $ hg st -A
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
120 ? foo
41657
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
121 respects ui.relative-paths
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
122 $ mkdir dir
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
123 $ cd dir
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
124 $ hg mv ../foo ../bar
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
125 ../foo: not copying - file is not managed
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
126 abort: no files to copy
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
127 [255]
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
128 $ hg mv ../foo ../bar --config ui.relative-paths=yes
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
129 ../foo: not copying - file is not managed
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
130 abort: no files to copy
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
131 [255]
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
132 $ hg mv ../foo ../bar --config ui.relative-paths=no
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
133 foo: not copying - file is not managed
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
134 abort: no files to copy
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
135 [255]
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
136 $ cd ..
e41449818bee copy: respect ui.relative-paths in copy/rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 39489
diff changeset
137 $ rmdir dir
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
138 $ hg add foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
139 dry-run; print a warning that this is not a real copy; foo is added
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
140 $ hg mv --dry-run foo bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
141 foo has not been committed yet, so no copy data will be stored for bar.
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
142 $ hg st -A
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
143 A foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
144 should print a warning that this is not a real copy; bar is added
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
145 $ hg mv foo bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
146 foo has not been committed yet, so no copy data will be stored for bar.
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
147 $ hg st -A
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
148 A bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
149 should print a warning that this is not a real copy; foo is added
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
150 $ hg cp bar foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
151 bar has not been committed yet, so no copy data will be stored for foo.
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
152 $ hg rm -f bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
153 $ rm bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
154 $ hg st -A
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
155 A foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
156 $ hg commit -m1
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
157
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
158 moving a missing file
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
159 $ rm foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
160 $ hg mv foo foo3
24364
135b23868f45 commands: replace "working copy" with "working directory" in help/messages
Yuya Nishihara <yuya@tcha.org>
parents: 23958
diff changeset
161 foo: deleted in working directory
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
162 foo3 does not exist!
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
163 $ hg up -qC .
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
164
17492
973c2b0b403c spelling: nonexistent
timeless@mozdev.org
parents: 17132
diff changeset
165 copy --after to a nonexistent target filename
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
166 $ hg cp -A foo dummy
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
167 foo: not recording copy - dummy does not exist
39350
5b92a717bfc1 rename: return error status if any rename/copy failed
Martin von Zweigbergk <martinvonz@google.com>
parents: 39348
diff changeset
168 [1]
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
169
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
170 dry-run; should show that foo is clean
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
171 $ hg copy --dry-run foo bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
172 $ hg st -A
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
173 C foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
174 should show copy
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
175 $ hg copy foo bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
176 $ hg st -C
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
177 A bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
178 foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
179
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
180 shouldn't show copy
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
181 $ hg commit -m2
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
182 $ hg st -C
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
183
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
184 should match
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
185 $ hg debugindex foo
37283
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
186 rev linkrev nodeid p1 p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
187 0 0 2ed2a3912a0b 000000000000 000000000000
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
188 $ hg debugrename bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
189 bar renamed from foo:2ed2a3912a0b24502043eae84ee4b279c18b90dd
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
190
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
191 $ echo bleah > foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
192 $ echo quux > bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
193 $ hg commit -m3
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
194
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
195 should not be renamed
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
196 $ hg debugrename bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
197 bar not renamed
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
198
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
199 $ hg copy -f foo bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
200 should show copy
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
201 $ hg st -C
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
202 M bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
203 foo
23958
df463ca0adef largefiles: revert to lfilesrepo.status() being an unfiltered method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23749
diff changeset
204
df463ca0adef largefiles: revert to lfilesrepo.status() being an unfiltered method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23749
diff changeset
205 XXX: filtering lfilesrepo.status() in 3.3-rc causes the copy source to not be
df463ca0adef largefiles: revert to lfilesrepo.status() being an unfiltered method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23749
diff changeset
206 displayed.
df463ca0adef largefiles: revert to lfilesrepo.status() being an unfiltered method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23749
diff changeset
207 $ hg st -C --config extensions.largefiles=
33425
886207fb18ab tests: take extra care for fsmonitor at enabling incompatible extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32267
diff changeset
208 The fsmonitor extension is incompatible with the largefiles extension and has been disabled. (fsmonitor !)
23958
df463ca0adef largefiles: revert to lfilesrepo.status() being an unfiltered method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23749
diff changeset
209 M bar
df463ca0adef largefiles: revert to lfilesrepo.status() being an unfiltered method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23749
diff changeset
210 foo
df463ca0adef largefiles: revert to lfilesrepo.status() being an unfiltered method
Matt Harbison <matt_harbison@yahoo.com>
parents: 23749
diff changeset
211
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
212 $ hg commit -m3
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
213
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
214 should show no parents for tip
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
215 $ hg debugindex bar
37283
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
216 rev linkrev nodeid p1 p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
217 0 1 7711d36246cc 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
218 1 2 bdf70a2b8d03 7711d36246cc 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
219 2 3 b2558327ea8d 000000000000 000000000000
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
220 should match
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
221 $ hg debugindex foo
37283
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
222 rev linkrev nodeid p1 p2
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
223 0 0 2ed2a3912a0b 000000000000 000000000000
d4e62df1c73d debugcommands: drop offset and length from debugindex by default
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37282
diff changeset
224 1 2 dd12c926cf16 2ed2a3912a0b 000000000000
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
225 $ hg debugrename bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
226 bar renamed from foo:dd12c926cf165e3eb4cf87b084955cb617221c17
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
227
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
228 should show no copies
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
229 $ hg st -C
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
230
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
231 copy --after on an added file
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
232 $ cp bar baz
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
233 $ hg add baz
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
234 $ hg cp -A bar baz
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
235 $ hg st -C
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
236 A baz
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
237 bar
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
238
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
239 foo was clean:
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
240 $ hg st -AC foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
241 C foo
29958
37a36c05dcc3 copy: document current behavior of 'hg cp --after'
Augie Fackler <augie@google.com>
parents: 26919
diff changeset
242 Trying to copy on top of an existing file fails,
37a36c05dcc3 copy: document current behavior of 'hg cp --after'
Augie Fackler <augie@google.com>
parents: 26919
diff changeset
243 $ hg copy -A bar foo
30151
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
244 foo: not overwriting - file already committed
39348
cde75233c415 rename: quote hg commands in warnings
Martin von Zweigbergk <martinvonz@google.com>
parents: 37338
diff changeset
245 ('hg copy --after --force' to replace the file by recording a copy)
39350
5b92a717bfc1 rename: return error status if any rename/copy failed
Martin von Zweigbergk <martinvonz@google.com>
parents: 39348
diff changeset
246 [1]
30151
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
247 same error without the --after, so the user doesn't have to go through
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
248 two hints:
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
249 $ hg copy bar foo
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
250 foo: not overwriting - file already committed
39348
cde75233c415 rename: quote hg commands in warnings
Martin von Zweigbergk <martinvonz@google.com>
parents: 37338
diff changeset
251 ('hg copy --force' to replace the file by recording a copy)
39350
5b92a717bfc1 rename: return error status if any rename/copy failed
Martin von Zweigbergk <martinvonz@google.com>
parents: 39348
diff changeset
252 [1]
16856
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
253 but it's considered modified after a copy --after --force
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
254 $ hg copy -Af bar foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
255 $ hg st -AC foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
256 M foo
241a32942c7a tests: roll test-copy2.t into test-copy.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 16350
diff changeset
257 bar
30151
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
258 The hint for a file that exists but is not in file history doesn't
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
259 mention --force:
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
260 $ touch xyzzy
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
261 $ hg cp bar xyzzy
381293e1135e copy: distinguish "file exists" cases and add a hint (BC)
Augie Fackler <augie@google.com>
parents: 29958
diff changeset
262 xyzzy: not overwriting - file exists
39348
cde75233c415 rename: quote hg commands in warnings
Martin von Zweigbergk <martinvonz@google.com>
parents: 37338
diff changeset
263 ('hg copy --after' to record the copy)
39350
5b92a717bfc1 rename: return error status if any rename/copy failed
Martin von Zweigbergk <martinvonz@google.com>
parents: 39348
diff changeset
264 [1]
44364
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
265 $ hg co -qC .
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
266 $ rm baz xyzzy
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
267
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
268
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
269 Test unmarking copy of a single file
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
270
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
271 # Set up by creating a copy
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
272 $ hg cp bar baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
273 # Test uncopying a non-existent file
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
274 $ hg copy --forget non-existent
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
275 non-existent: $ENOENT$
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
276 # Test uncopying an tracked but unrelated file
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
277 $ hg copy --forget foo
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
278 foo: not unmarking as copy - file is not marked as copied
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
279 # Test uncopying a copy source
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
280 $ hg copy --forget bar
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
281 bar: not unmarking as copy - file is not marked as copied
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
282 # baz should still be marked as a copy
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
283 $ hg st -C
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
284 A baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
285 bar
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
286 # Test the normal case
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
287 $ hg copy --forget baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
288 $ hg st -C
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
289 A baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
290 # Test uncopy with matching an non-matching patterns
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
291 $ hg cp bar baz --after
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
292 $ hg copy --forget bar baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
293 bar: not unmarking as copy - file is not marked as copied
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
294 $ hg st -C
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
295 A baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
296 # Test uncopy with no exact matches
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
297 $ hg cp bar baz --after
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
298 $ hg copy --forget .
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
299 $ hg st -C
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
300 A baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
301 $ hg forget baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
302 $ rm baz
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
303
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
304 Test unmarking copy of a directory
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
305
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
306 $ mkdir dir
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
307 $ echo foo > dir/foo
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
308 $ echo bar > dir/bar
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
309 $ hg add dir
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
310 adding dir/bar
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
311 adding dir/foo
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
312 $ hg ci -m 'add dir/'
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
313 $ hg cp dir dir2
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
314 copying dir/bar to dir2/bar
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
315 copying dir/foo to dir2/foo
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
316 $ touch dir2/untracked
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
317 $ hg copy --forget dir2
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
318 $ hg st -C
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
319 A dir2/bar
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
320 A dir2/foo
8be0c63535b5 copy: add option to unmark file as copied
Martin von Zweigbergk <martinvonz@google.com>
parents: 41657
diff changeset
321 ? dir2/untracked
44365
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
322 # Clean up for next test
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
323 $ hg forget dir2
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
324 removing dir2/bar
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
325 removing dir2/foo
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
326 $ rm -r dir2
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
327
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
328 Test uncopy on committed copies
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
329
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
330 # Commit some copies
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
331 $ hg cp bar baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
332 $ hg cp bar qux
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
333 $ hg ci -m copies
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
334 $ hg st -C --change .
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
335 A baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
336 bar
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
337 A qux
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
338 bar
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
339 $ base=$(hg log -r '.^' -T '{rev}')
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
340 $ hg log -G -T '{rev}:{node|short} {desc}\n' -r $base:
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
341 @ 5:a612dc2edfda copies
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
342 |
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
343 o 4:4800b1f1f38e add dir/
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
344 |
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
345 ~
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
346 # Add a dirty change on top to show that it's unaffected
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
347 $ echo dirty >> baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
348 $ hg st
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
349 M baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
350 $ cat baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
351 bleah
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
352 dirty
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
353 $ hg copy --forget --at-rev . baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
354 saved backup bundle to $TESTTMP/part2/.hg/strip-backup/a612dc2edfda-e36b4448-uncopy.hg
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
355 # The unwanted copy is no longer recorded, but the unrelated one is
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
356 $ hg st -C --change .
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
357 A baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
358 A qux
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
359 bar
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
360 # The old commit is gone and we have updated to the new commit
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
361 $ hg log -G -T '{rev}:{node|short} {desc}\n' -r $base:
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
362 @ 5:c45090e5effe copies
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
363 |
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
364 o 4:4800b1f1f38e add dir/
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
365 |
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
366 ~
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
367 # Working copy still has the uncommitted change
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
368 $ hg st
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
369 M baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
370 $ cat baz
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
371 bleah
7c4b98a4e536 copy: add experimetal support for unmarking committed copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44364
diff changeset
372 dirty
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16856
diff changeset
373
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16856
diff changeset
374 $ cd ..