tests/test-amend-subrepo.t
author Manuel Jacob <me@manueljacob.de>
Wed, 01 Jun 2022 01:30:48 +0200
changeset 49312 fce591256085
parent 43913 4b7d5d10c45d
child 49826 c84844cd523a
permissions -rw-r--r--
commit: remove special handling of IOError (actually dead code) In the past, IOError was used to mark a file as removed. The differentiation between OSError and IOError in this place was introduced in e553a425751d, to avoid that “normal” OSErrors / IOErrors accidentally mark files as removed. This weird internal API was removed in 650b5b6e75ed. It seems like that changeset should have removed the differentiation, at least I don’t see any reason for keeping it. On Python 3, OSError and IOError are aliased. Therefore the removed code was actually dead.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     1
#testcases obsstore-off obsstore-on
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     2
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     3
  $ cat << EOF >> $HGRCPATH
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     4
  > [extensions]
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     5
  > amend =
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     6
  > EOF
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     7
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     8
#if obsstore-on
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
     9
  $ cat << EOF >> $HGRCPATH
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    10
  > [experimental]
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    11
  > evolution.createmarkers = True
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    12
  > EOF
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    13
#endif
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    14
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    15
Prepare parent repo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    16
-------------------
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    17
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    18
  $ hg init r
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    19
  $ cd r
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    20
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    21
  $ echo a > a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    22
  $ hg ci -Am0
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    23
  adding a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    24
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    25
Link first subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    26
------------------
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    27
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    28
  $ echo 's = s' >> .hgsub
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    29
  $ hg add .hgsub
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    30
  $ hg init s
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    31
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    32
amend without .hgsub
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    33
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    34
  $ hg amend s
35026
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    35
  abort: can't commit subrepos without .hgsub
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    36
  [255]
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    37
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    38
amend with subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    39
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    40
  $ hg amend
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    41
  saved backup bundle to * (glob) (obsstore-off !)
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    42
  $ hg status --change .
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    43
  A .hgsub
35026
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    44
  A .hgsubstate
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    45
  A a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    46
  $ cat .hgsubstate
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    47
  0000000000000000000000000000000000000000 s
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    48
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    49
Update subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    50
--------------
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    51
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    52
add new commit to be amended
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    53
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    54
  $ echo a >> a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    55
  $ hg ci -m1
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    56
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    57
amend with dirty subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    58
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    59
  $ echo a >> s/a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    60
  $ hg add -R s
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35166
diff changeset
    61
  adding s/a
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    62
  $ hg amend
35026
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    63
  abort: uncommitted changes in subrepository "s"
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    64
  (use --subrepos for recursive commit)
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    65
  [255]
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    66
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    67
amend with modified subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    68
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    69
  $ hg ci -R s -m0
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    70
  $ hg amend
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    71
  saved backup bundle to * (glob) (obsstore-off !)
35026
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    72
  $ hg status --change .
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    73
  M .hgsubstate
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
    74
  M a
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    75
  $ cat .hgsubstate
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    76
  f7b1eb17ad24730a1651fccd46c43826d1bbc2ac s
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    77
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    78
revert subrepo change
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    79
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    80
  $ hg up -R s -q null
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    81
  $ hg amend
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    82
  saved backup bundle to * (glob) (obsstore-off !)
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    83
  $ hg status --change .
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    84
  M a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    85
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    86
Link another subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    87
--------------------
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    88
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    89
add new commit to be amended
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    90
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    91
  $ echo b >> b
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    92
  $ hg ci -qAm2
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    93
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    94
also checks if non-subrepo change is included
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    95
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    96
  $ echo a >> a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    97
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    98
amend with another subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
    99
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   100
  $ hg init t
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   101
  $ echo b >> t/b
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   102
  $ hg ci -R t -Am0
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   103
  adding b
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   104
  $ echo 't = t' >> .hgsub
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   105
  $ hg amend
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   106
  saved backup bundle to * (glob) (obsstore-off !)
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   107
  $ hg status --change .
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   108
  M .hgsub
35026
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
   109
  M .hgsubstate
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   110
  M a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   111
  A b
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   112
  $ cat .hgsubstate
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   113
  0000000000000000000000000000000000000000 s
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   114
  bfb1a4fb358498a9533dabf4f2043d94162f1fcd t
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   115
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   116
Unlink one subrepo
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   117
------------------
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   118
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   119
add new commit to be amended
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   120
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   121
  $ echo a >> a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   122
  $ hg ci -m3
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   123
41977
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   124
  $ echo 't = t' > .hgsub
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   125
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   126
--interactive won't silently ignore dirty subrepos
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   127
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   128
  $ echo modified > t/b
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   129
  $ hg amend --interactive --config ui.interactive=True
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   130
  abort: uncommitted changes in subrepository "t"
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   131
  [255]
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   132
  $ hg amend --interactive --config ui.interactive=True --config ui.commitsubrepos=True
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   133
  abort: uncommitted changes in subrepository "t"
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   134
  [255]
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   135
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   136
  $ hg -R t revert -q --all --no-backup
4ea21df312ec record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   137
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   138
amend with one subrepo dropped
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   139
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   140
  $ hg amend
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   141
  saved backup bundle to * (glob) (obsstore-off !)
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   142
  $ hg status --change .
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   143
  M .hgsub
35026
691524f0bbf6 amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents: 35024
diff changeset
   144
  M .hgsubstate
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   145
  M a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   146
  $ cat .hgsubstate
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   147
  bfb1a4fb358498a9533dabf4f2043d94162f1fcd t
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   148
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   149
Unlink subrepos completely
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   150
--------------------------
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   151
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   152
add new commit to be amended
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   153
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   154
  $ echo a >> a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   155
  $ hg ci -m3
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   156
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   157
amend with .hgsub removed
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   158
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   159
  $ hg rm .hgsub
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   160
  $ hg amend
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   161
  saved backup bundle to * (glob) (obsstore-off !)
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   162
  $ hg status --change .
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   163
  M a
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   164
  R .hgsub
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   165
  R .hgsubstate
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   166
43913
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   167
broken repositories will refuse to push
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   168
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   169
#if obsstore-off
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   170
  $ hg up -q -C 2
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   171
#else
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   172
  $ hg up -q -C 6
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   173
#endif
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   174
  $ echo c >> t/b
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   175
  $ hg amend -q -R t
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   176
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   177
  $ hg init ../dest
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   178
  $ hg init ../dest/t
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   179
  $ hg init ../dest/s
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   180
  $ hg push -q ../dest
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   181
  abort: subrepo 't' is hidden in revision 04aa62396ec6 (obsstore-on !)
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   182
  abort: subrepo 't' not found in revision 04aa62396ec6 (obsstore-off !)
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   183
  [255]
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   184
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   185
... unless forced
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   186
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   187
  $ hg push --force -q ../dest
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   188
  $ hg verify -R ../dest
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   189
  checking changesets
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   190
  checking manifests
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   191
  crosschecking files in changesets and manifests
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   192
  checking files
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   193
  checked 5 changesets with 12 changes to 4 files
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   194
  checking subrepo links
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   195
  subrepo 't' not found in revision 04aa62396ec6
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   196
  subrepo 't' not found in revision 6bce99600681
4b7d5d10c45d exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents: 41977
diff changeset
   197
35024
3f909147a2c3 tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff changeset
   198
  $ cd ..