tests/test-obsolete-push.t
author Boris Feld <boris.feld@octobus.net>
Tue, 30 May 2017 13:16:43 +0200
changeset 2525 5adb8bdb935e
parent 2286 a4c5744a7b93
child 2534 b3dac812fb2a
child 2776 4dd84054ebbb
permissions -rw-r--r--
compatibility: backport mercurial 176d1a0ce385 Backport obsstore.relevantmarkers change for including previously forgotten pruned obs markers. Target mercurial version lesser than 4.3. This impact multiple tests. All test changes has been manually checked. Since the computation of relevant obsmarkers have changed, we are bumping the cache schema version. So that caches get recomputed.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
  > hgext.graphlog=
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
     6
  > EOF
1806
9f42f819267b evolve: move the extensions to 'hgext3rd'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1732
diff changeset
     7
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $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() {
3b1f326878e5 obsolete: suspended changeset with secret only children should be secret too
Patrick Mezard <patrick@mezard.eu>
parents:
diff changeset
    11
  >   hg glog --template "$template" "$@"
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
486
2111c655b4f5 fix typo
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 385
diff changeset
    30
  1 new unstable 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
2286
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    60
  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
    61
  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
    62
  $ 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
    63
  $ 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
    64
  $ 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
    65
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    66
abort behavior
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    67
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    68
  $ 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
    69
  > [experimental]
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    70
  > 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
    71
  > eof
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    72
  $ 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
    73
  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
    74
  abort: push would publish 1 changesets
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    75
  (behavior controlled by 'experimental.auto-publish' config)
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    76
  [255]
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    77
  $ hg push
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    78
  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
    79
  abort: push would publish 1 changesets
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    80
  (behavior controlled by 'experimental.auto-publish' config)
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    81
  [255]
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    82
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    83
warning behavior
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    84
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    85
  $ 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
    86
  $ hg push
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    87
  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
    88
  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
    89
  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
    90
  adding changesets
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    91
  adding manifests
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    92
  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
    93
  added 0 changesets with 0 changes to 1 files