Mercurial > hg
annotate tests/test-update-names.t @ 41163:0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
There was a divergence in behavior here between obsolete and strip based
amending. I first noticed the abort when testing outside of the test harness,
but then had trouble recreating it here after reverting the code changes. It
turns out, strip based amend was successfully amending the public commit after
it was posted! It looks like the protection is in the `commit --amend` command,
not in the underlying code that it calls.
I considered doing a preflight check and aborting. But the locks are only
acquired at the end, if amending, and this is too large a section of code to be
wrapped in a maybe-it's-held-or-not context manager for my tastes.
Additionally, some people do post-push reviews, and amending is the default
behavior, so they shouldn't see a misleading error message.
The lack of a 'Differential Revision' entry in the commit message breaks a
{phabreview} test, so it had to be partially conditionalized.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 05 Jan 2019 15:20:33 -0500 |
parents | c8514f858788 |
children |
rev | line source |
---|---|
29480
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
1 Test update logic when there are renames or weird same-name cases between dirs |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
2 and files |
10874
4f11978ae45d
copies: properly visit file context ancestors on working file contexts
Henrik Stuart <henrik.stuart@edlund.dk>
parents:
diff
changeset
|
3 |
12328
b63f6422d2a7
tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents:
12316
diff
changeset
|
4 Update with local changes across a file rename |
12299
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
5 |
29480
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
6 $ hg init r1 && cd r1 |
12299
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
7 |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
8 $ echo a > a |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
9 $ hg add a |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
10 $ hg ci -m a |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
11 |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
12 $ hg mv a b |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
13 $ hg ci -m rename |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
14 |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
15 $ echo b > b |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
16 $ hg ci -m change |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
17 |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
18 $ hg up -q 0 |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
19 |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
20 $ echo c > a |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
21 |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
22 $ hg up |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
23 merging a and b to b |
26614
ef1eb6df7071
simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents:
16911
diff
changeset
|
24 warning: conflicts while merging b! (edit, then use 'hg resolve --mark') |
12299
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
25 0 files updated, 0 files merged, 0 files removed, 1 files unresolved |
a73684df0f8a
tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents:
10874
diff
changeset
|
26 use 'hg resolve' to retry unresolved file merges |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12299
diff
changeset
|
27 [1] |
29480
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
28 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
29 Test update when local untracked directory exists with the same name as a |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
30 tracked file in a commit we are updating to |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
31 $ hg init r2 && cd r2 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
32 $ echo root > root && hg ci -Am root # rev 0 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
33 adding root |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
34 $ echo text > name && hg ci -Am "name is a file" # rev 1 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
35 adding name |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
36 $ hg up 0 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
37 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
38 $ mkdir name |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
39 $ hg up 1 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
40 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
41 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
42 Test update when local untracked directory exists with some files in it and has |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
43 the same name a tracked file in a commit we are updating to. In future this |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
44 should be updated to give an friendlier error message, but now we should just |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
45 make sure that this does not erase untracked data |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
46 $ hg up 0 |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
47 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
48 $ mkdir name |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
49 $ echo text > name/file |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
50 $ hg st |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
51 ? name/file |
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
52 $ hg up 1 |
39593
c8514f858788
tests: stabilize change for handling not quoting non-empty-directory
Matt Harbison <matt_harbison@yahoo.com>
parents:
39577
diff
changeset
|
53 abort: Unlinking directory not permitted: *$TESTTMP/r1/r2/name* (glob) (windows !) |
39577
cb1329738d64
tests: handle Python 3 not quoting non-empty-directory error
Augie Fackler <augie@google.com>
parents:
39478
diff
changeset
|
54 abort: Directory not empty: '?\$TESTTMP/r1/r2/name'? (re) (no-windows !) |
39196
8c6775e812d8
merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents:
34942
diff
changeset
|
55 [255] |
8c6775e812d8
merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents:
34942
diff
changeset
|
56 $ cat name/file |
8c6775e812d8
merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents:
34942
diff
changeset
|
57 text |
29480
1e4512eac59e
update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents:
26614
diff
changeset
|
58 $ cd .. |
29629
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
59 |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
60 #if symlink |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
61 |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
62 Test update when two commits have symlinks that point to different folders |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
63 $ hg init r3 && cd r3 |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
64 $ echo root > root && hg ci -Am root |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
65 adding root |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
66 $ mkdir folder1 && mkdir folder2 |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
67 $ ln -s folder1 folder |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
68 $ hg ci -Am "symlink to folder1" |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
69 adding folder |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
70 $ rm folder |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
71 $ ln -s folder2 folder |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
72 $ hg ci -Am "symlink to folder2" |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
73 $ hg up 1 |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
74 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
75 $ cd .. |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
76 |
b33c0c38d68f
update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents:
29480
diff
changeset
|
77 #endif |
30172
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
78 |
30230
46a0203dfb89
tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents:
30172
diff
changeset
|
79 #if rmcwd |
46a0203dfb89
tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents:
30172
diff
changeset
|
80 |
30172
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
81 Test that warning is printed if cwd is deleted during update |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
82 $ hg init r4 && cd r4 |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
83 $ mkdir dir |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
84 $ cd dir |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
85 $ echo a > a |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
86 $ echo b > b |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
87 $ hg add a b |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
88 $ hg ci -m "file and dir" |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
89 $ hg up -q null |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
90 current directory was removed |
90a6c18a7c1d
update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents:
29629
diff
changeset
|
91 (consider changing to repo root: $TESTTMP/r1/r4) |
30230
46a0203dfb89
tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents:
30172
diff
changeset
|
92 |
46a0203dfb89
tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents:
30172
diff
changeset
|
93 #endif |