tests/test-obsolete-push.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 12 May 2017 21:20:40 +0200
changeset 2358 d8ea60fcfbc9
parent 2286 a4c5744a7b93
child 2320 979a8ea17e1e
child 2525 5adb8bdb935e
permissions -rw-r--r--
readme: add a changelog entry about the more efficient obscache
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
a4c5744a7b93 safeguard: add an option to disable automatic publishing
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1806
diff changeset
    59
  1 new obsolescence markers
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