annotate tests/test-add.t @ 12998:91cb08a9e7fb

discovery: list new remote heads in prepush() on --debug With this patch applied, Mercurial will list the hashes of new remote heads if push --debug aborts because of new remote heads (option -f/--force not set). Example: $ hg push --debug repo1 using http://example.org/repo1 http auth: user johndoe, password not set sending between command pushing to http://example.org/repo1 sending capabilities command capabilities: changegroupsubset stream=1 lookup pushkey unbundle=HG10GZ,HG10BZ,HG10UN branchmap sending heads command searching for changes common changesets up to 609edbc7853f sending branchmap command new remote heads on branch 'default' <- new output line new remote head 5862c07f53a2 <- new output line abort: push creates new remote heads on branch 'default'! (did you forget to merge? use push -f to force) Compare to without --debug (not changed by this patch, including it here for reference purposes only): $ hg push repo1 pushing to http://example.org/repo1 searching for changes abort: push creates new remote heads on branch 'default'! (did you forget to merge? use push -f to force) Motivation for this change: 'hg outgoing' may list a whole lot of benign changesets plus an odd changeset that will trigger the "new remote heads" abort. It can be hard to spot that single unwanted changeset (it may be an old forgotten experiment, lingering in the local repo). "hg log -r 'heads(outgoing())'" might be useful, but that also lists a head that may be benign on push. Inside prepush(), we already know which heads are causing troubles on 'hg push'. Why not make that info available (at least on --debug)? This would also be helpful for doing remote support, as the supporter can ask the user to paste the output of 'hg push --debug' on error and then ask further questions about the heads listed.
author Adrian Buehlmann <adrian@cadifra.com>
date Thu, 11 Nov 2010 15:51:20 +0100
parents 4fee1fd3de9a
children 8b252e826c68
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
1 $ hg init a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
2 $ cd a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
3 $ echo a > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
4 $ hg add -n
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
5 adding a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
6 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
7 ? a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
8 $ hg add
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
9 adding a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
10 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
11 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
12 $ hg forget a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
13 $ hg add
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
14 adding a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
15 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
16 A a
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
17
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
18 $ echo b > b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
19 $ hg add -n b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
20 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
21 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
22 ? b
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
23 $ hg add b
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
24 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
25 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
26 A b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
27
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
28 should fail
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
29
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
30 $ hg add b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
31 b already tracked!
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
32 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
33 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
34 A b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
35
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
36 $ hg ci -m 0 --traceback
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
37
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
38 should fail
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
39
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
40 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
41 a already tracked!
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
42
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
43 $ echo aa > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
44 $ hg ci -m 1
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
45 $ hg up 0
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
46 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
47 $ echo aaa > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
48 $ hg ci -m 2
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
49 created new head
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
50
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
51 $ hg merge
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
52 merging a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
53 warning: conflicts during merge.
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
54 merging a failed!
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
55 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
12314
f2daa6ab514a merge: suggest 'hg up -C .' for discarding changes, not 'hg up -C'
Brodie Rao <brodie@bitheap.org>
parents: 11795
diff changeset
56 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
57 [1]
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
58 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
59 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
60 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
61
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
62 should fail
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
63
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
64 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
65 a already tracked!
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
66 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
67 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
68 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
69 $ hg resolve -m a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
70 $ hg ci -m merge
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
71
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12365
diff changeset
72 Issue683: peculiarity with hg revert of an removed then added file
5688
883d887c6408 commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents: 5207
diff changeset
73
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
74 $ hg forget a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
75 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
76 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
77 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
78 $ hg rm a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
79 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
80 R a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
81 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
82 $ echo a > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
83 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
84 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
85 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
86 ? a.orig
5688
883d887c6408 commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents: 5207
diff changeset
87
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
88 $ hg add c && echo "unexpected addition of missing file"
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
89 c: No such file or directory
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
90 [1]
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
91 $ echo c > c
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
92 $ hg add d c && echo "unexpected addition of missing file"
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
93 d: No such file or directory
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
94 [1]
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
95 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
96 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
97 A c
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
98 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
99