annotate tests/test-obsolete-push.t @ 4763:184c64c81528 stable

prune: spell --successor flag without any unnecessary shortcuts If a user wants to spell out -s, it makes sense to allow that. Before this patch, prune would complain that --successor is not a recognized option. Obviously people don't usually need to spell --successors by hand thanks to shell completion (at least for Bash) using debugcomplete to see all available flags, so this patch doesn't bring any need for more typing. And thanks to Mercurial understanding shortened forms of command-line flags as long as they are unambiguous, the old-style `--succ` flags still work normally, and there are tests that use them. But two tests now use the full form to demonstrate that both ways work.
author Anton Shestakov <av6@dwimlabs.net>
date Fri, 19 Jul 2019 17:25:29 +0800
parents b7b6a4524ef7
children a2fdbece7ce1 a1dad44fe3da
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
1 $ cat >> $HGRCPATH <<EOF
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
2 > [defaults]
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
3 > amend=-d "0 0"
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
4 > [extensions]
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
5 > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1732
diff changeset
6 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
4246
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
7 $ echo "topic=$(echo $(dirname $TESTDIR))/hgext3rd/topic/" >> $HGRCPATH
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
8
1732
f4047fba5e90 templates: change {obsolete} to emit only "obsolete" or ""
Martin von Zweigbergk <martinvonz@google.com>
parents: 1631
diff changeset
9 $ template='{rev}:{node|short}@{branch}({separate("/", obsolete, phase)}) {desc|firstline}\n'
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
10 $ glog() {
2776
4dd84054ebbb test: remove reference to the graphlog extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2525
diff changeset
11 > hg log -G --template "$template" "$@"
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
12 > }
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
13
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
14 Test outgoing, common A is suspended, B unstable and C secret, remote
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
15 has A and B, neither A or C should be in outgoing.
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
16
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
17 $ hg init source
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
18 $ cd source
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
19 $ echo a > a
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
20 $ hg ci -qAm A a
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
21 $ echo b > b
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
22 $ hg ci -qAm B b
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
23 $ hg up 0
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
24 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
25 $ echo c > c
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
26 $ hg ci -qAm C c
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
27 $ hg phase --secret --force .
1631
7463f5880ce9 prune: remove the kill alias
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 1185
diff changeset
28 $ hg prune 0 1
688
f2c3fd21fa63 prune: add an informative message about the number of pruned changesets
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 491
diff changeset
29 2 changesets pruned
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
30 1 new orphan changesets
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
31 $ glog --hidden
1732
f4047fba5e90 templates: change {obsolete} to emit only "obsolete" or ""
Martin von Zweigbergk <martinvonz@google.com>
parents: 1631
diff changeset
32 @ 2:244232c2222a@default(secret) C
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
33 |
1732
f4047fba5e90 templates: change {obsolete} to emit only "obsolete" or ""
Martin von Zweigbergk <martinvonz@google.com>
parents: 1631
diff changeset
34 | x 1:6c81ed0049f8@default(obsolete/draft) B
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
35 |/
1732
f4047fba5e90 templates: change {obsolete} to emit only "obsolete" or ""
Martin von Zweigbergk <martinvonz@google.com>
parents: 1631
diff changeset
36 x 0:1994f17a630e@default(obsolete/draft) A
300
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
37
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
38 $ hg init ../clone
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
39 $ cat > ../clone/.hg/hgrc <<EOF
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
40 > [phases]
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
41 > publish = false
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
42 > EOF
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
43 $ hg outgoing ../clone --template "$template"
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
44 comparing with ../clone
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
45 searching for changes
1732
f4047fba5e90 templates: change {obsolete} to emit only "obsolete" or ""
Martin von Zweigbergk <martinvonz@google.com>
parents: 1631
diff changeset
46 0:1994f17a630e@default(obsolete/draft) A
2286
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
47 $ cd ..
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
48
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
49 Test options to prevent implicite publishing of changesets
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
50 ----------------------------------------------------------
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
51
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
52
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
53 $ hg clone source strict-publish-client --pull
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
54 requesting all changes
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
55 adding changesets
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
56 adding manifests
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
57 adding file changes
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
58 added 1 changesets with 1 changes to 1 files
2525
5adb8bdb935e compatibility: backport mercurial 176d1a0ce385
Boris Feld <boris.feld@octobus.net>
parents: 2286
diff changeset
59 2 new obsolescence markers
3075
8feb2cae7eae test: adapt to output change from eb586ed5d8ce
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3013
diff changeset
60 new changesets 1994f17a630e
2286
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
61 updating to branch default
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
62 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
63 $ cd strict-publish-client
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
64 $ echo c > c
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
65 $ hg ci -qAm C c
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
66
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
67 abort behavior
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
68
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
69 $ cat >> .hg/hgrc <<eof
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
70 > [experimental]
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
71 > auto-publish = abort
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
72 > eof
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
73 $ hg push -r .
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
74 pushing to $TESTTMP/source
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
75 abort: push would publish 1 changesets
4287
b7b6a4524ef7 safeguard: don't reimplement auto-publish if it's in core (will be in 4.9)
Anton Shestakov <av6@dwimlabs.net>
parents: 4246
diff changeset
76 (* 'experimental.auto-publish' config) (glob)
2286
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
77 [255]
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
78 $ hg push
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
79 pushing to $TESTTMP/source
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
80 abort: push would publish 1 changesets
4287
b7b6a4524ef7 safeguard: don't reimplement auto-publish if it's in core (will be in 4.9)
Anton Shestakov <av6@dwimlabs.net>
parents: 4246
diff changeset
81 (* 'experimental.auto-publish' config) (glob)
2286
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
82 [255]
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
83
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
84 warning behavior
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
85
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
86 $ echo 'auto-publish = warn' >> .hg/hgrc
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
87 $ hg push
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
88 pushing to $TESTTMP/source
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
89 1 changesets about to be published
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
90 searching for changes
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
91 adding changesets
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
92 adding manifests
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
93 adding file changes
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
94 added 0 changesets with 0 changes to 1 files
4246
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
95
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
96 --publish overrides auto-publish
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
97
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
98 $ echo d > d
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
99 $ hg ci -qAm D d
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
100 $ hg push -r . --publish --config experimental.auto-publish=abort
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
101 pushing to $TESTTMP/source
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
102 searching for changes
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
103 adding changesets
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
104 adding manifests
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
105 adding file changes
2d9902f0ff17 safeguard: allow push to succeed (and without warning) with --publish
Anton Shestakov <av6@dwimlabs.net>
parents: 3075
diff changeset
106 added 1 changesets with 1 changes to 1 files