tests/test-amend.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 15 Jan 2021 12:41:38 +0100
changeset 46314 95a615dd77bf
parent 45853 b4694ef45db5
child 47018 7a90fddb13b0
permissions -rw-r--r--
clone: make sure we warm the cache after a clone This work around any deviciency/limitation of the clone process. In our case this ensure the persistent nodemap exist with valid content. Ideally, the cloning process would also do "the right thing". However since older server will never be able to do "the right thing". The local workaround will be necessary anyway. I am not worried by the performance impact of this as `hg clone` is non-instant on large repositories where is could matters. Warming the cache if they are already correct is very fast. And if they are not already warm, this seems like a good time to do so. This impact various test as more cache are now warmed sooner, all the change should be harmless. Differential Revision: https://phab.mercurial-scm.org/D9789
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     1
#testcases obsstore-off obsstore-on
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     2
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     3
  $ cat << EOF >> $HGRCPATH
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     4
  > [extensions]
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     5
  > amend=
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     6
  > debugdrawdag=$TESTDIR/drawdag.py
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     7
  > [diff]
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     8
  > git=1
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
     9
  > EOF
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    10
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    11
#if obsstore-on
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    12
  $ cat << EOF >> $HGRCPATH
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    13
  > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34795
diff changeset
    14
  > evolution.createmarkers=True
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    15
  > EOF
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    16
#endif
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    17
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    18
Basic amend
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    19
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    20
  $ hg init repo1
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    21
  $ cd repo1
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    22
  $ hg debugdrawdag <<'EOS'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    23
  > B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    24
  > |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    25
  > A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    26
  > EOS
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    27
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    28
  $ hg update B -q
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    29
  $ echo 2 >> B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    30
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
    31
  $ hg amend
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
    32
  saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/112478962961-7e959a55-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    33
#if obsstore-off
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    34
  $ hg log -p -G --hidden -T '{rev} {node|short} {desc}\n'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    35
  @  1 be169c7e8dbe B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    36
  |  diff --git a/B b/B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    37
  |  new file mode 100644
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    38
  |  --- /dev/null
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    39
  |  +++ b/B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    40
  |  @@ -0,0 +1,1 @@
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    41
  |  +B2
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    42
  |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    43
  o  0 426bada5c675 A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    44
     diff --git a/A b/A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    45
     new file mode 100644
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    46
     --- /dev/null
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    47
     +++ b/A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    48
     @@ -0,0 +1,1 @@
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    49
     +A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    50
     \ No newline at end of file
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    51
  
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    52
#else
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    53
  $ hg log -p -G --hidden -T '{rev} {node|short} {desc}\n'
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34053
diff changeset
    54
  @  2 be169c7e8dbe B
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    55
  |  diff --git a/B b/B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    56
  |  new file mode 100644
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    57
  |  --- /dev/null
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    58
  |  +++ b/B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    59
  |  @@ -0,0 +1,1 @@
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    60
  |  +B2
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    61
  |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    62
  | x  1 112478962961 B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    63
  |/   diff --git a/B b/B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    64
  |    new file mode 100644
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    65
  |    --- /dev/null
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    66
  |    +++ b/B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    67
  |    @@ -0,0 +1,1 @@
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    68
  |    +B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    69
  |    \ No newline at end of file
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    70
  |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    71
  o  0 426bada5c675 A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    72
     diff --git a/A b/A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    73
     new file mode 100644
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    74
     --- /dev/null
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    75
     +++ b/A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    76
     @@ -0,0 +1,1 @@
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    77
     +A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    78
     \ No newline at end of file
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    79
  
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    80
#endif
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    81
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    82
Nothing changed
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    83
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    84
  $ hg amend
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    85
  nothing changed
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    86
  [1]
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
    87
34121
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    88
  $ hg amend -d "0 0"
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    89
  nothing changed
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    90
  [1]
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    91
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    92
  $ hg amend -d "Thu Jan 01 00:00:00 1970 UTC"
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    93
  nothing changed
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    94
  [1]
ae95853c250a cmdutil: fix amend when passing a date
Boris Feld <boris.feld@octobus.net>
parents: 34085
diff changeset
    95
45387
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
    96
#if obsstore-on
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
    97
  $ hg init repo-merge-state
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
    98
  $ cd repo-merge-state
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
    99
  $ echo a > f
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   100
  $ hg ci -Aqm a
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   101
  $ echo b > f
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   102
  $ hg ci -Aqm b
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   103
  $ echo c > f
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   104
  $ hg co -m '.^'
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   105
  merging f
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   106
  warning: conflicts while merging f! (edit, then use 'hg resolve --mark')
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   107
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   108
  use 'hg resolve' to retry unresolved file merges
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   109
  [1]
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   110
  $ echo d > f
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   111
  $ hg resolve -m f
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   112
  (no more unresolved files)
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   113
  $ hg ci --amend --config experimental.evolution.allowunstable=True
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   114
  1 new orphan changesets
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   115
  $ hg resolve -l
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   116
  $ cd ..
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   117
#endif
cf21cda4281f tests: add test showing that merge state is not cleared by amend
Martin von Zweigbergk <martinvonz@google.com>
parents: 44377
diff changeset
   118
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   119
Matcher and metadata options
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   120
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   121
  $ echo 3 > C
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   122
  $ echo 4 > D
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   123
  $ hg add C D
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   124
  $ hg amend -m NEWMESSAGE -I C
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
   125
  saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/be169c7e8dbe-7684ddc5-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   126
  $ hg log -r . -T '{node|short} {desc} {files}\n'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   127
  c7ba14d9075b NEWMESSAGE B C
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   128
  $ echo 5 > E
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   129
  $ rm C
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   130
  $ hg amend -d '2000 1000' -u 'Foo <foo@example.com>' -A C D
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
   131
  saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/c7ba14d9075b-b3e76daa-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   132
  $ hg log -r . -T '{node|short} {desc} {files} {author} {date}\n'
38299
88e7105b5cd9 templater: restore the original string format of {date}
Yuya Nishihara <yuya@tcha.org>
parents: 38285
diff changeset
   133
  14f6c4bcc865 NEWMESSAGE B D Foo <foo@example.com> 2000.01000
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   134
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   135
Amend with editor
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   136
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   137
  $ cat > $TESTTMP/prefix.sh <<'EOF'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   138
  > printf 'EDITED: ' > $TESTTMP/msg
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   139
  > cat "$1" >> $TESTTMP/msg
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   140
  > mv $TESTTMP/msg "$1"
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   141
  > EOF
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   142
  $ chmod +x $TESTTMP/prefix.sh
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   143
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   144
  $ HGEDITOR="sh $TESTTMP/prefix.sh" hg amend --edit
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
   145
  saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/14f6c4bcc865-6591f15d-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   146
  $ hg log -r . -T '{node|short} {desc}\n'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   147
  298f085230c3 EDITED: NEWMESSAGE
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   148
  $ HGEDITOR="sh $TESTTMP/prefix.sh" hg amend -e -m MSG
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
   149
  saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/298f085230c3-d81a6ad3-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   150
  $ hg log -r . -T '{node|short} {desc}\n'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   151
  974f07f28537 EDITED: MSG
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   152
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   153
  $ echo FOO > $TESTTMP/msg
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   154
  $ hg amend -l $TESTTMP/msg -m BAR
43894
774cee0e95c6 amend: use cmdutil.check_at_most_one_arg()
Martin von Zweigbergk <martinvonz@google.com>
parents: 43893
diff changeset
   155
  abort: cannot specify both --message and --logfile
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
   156
  [10]
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   157
  $ hg amend -l $TESTTMP/msg
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
   158
  saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/974f07f28537-edb6470a-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   159
  $ hg log -r . -T '{node|short} {desc}\n'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   160
  507be9bdac71 FOO
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   161
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   162
Interactive mode
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   163
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   164
  $ touch F G
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   165
  $ hg add F G
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   166
  $ cat <<EOS | hg amend -i --config ui.interactive=1
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   167
  > y
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   168
  > n
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   169
  > EOS
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   170
  diff --git a/F b/F
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   171
  new file mode 100644
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41214
diff changeset
   172
  examine changes to 'F'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41214
diff changeset
   173
  (enter ? for help) [Ynesfdaq?] y
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   174
  
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   175
  diff --git a/G b/G
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   176
  new file mode 100644
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41214
diff changeset
   177
  examine changes to 'G'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41214
diff changeset
   178
  (enter ? for help) [Ynesfdaq?] n
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   179
  
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
   180
  saved backup bundle to $TESTTMP/repo1/.hg/strip-backup/507be9bdac71-c8077452-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   181
  $ hg log -r . -T '{files}\n'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   182
  B D F
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   183
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   184
Amend in the middle of a stack
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   185
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   186
  $ hg init $TESTTMP/repo2
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   187
  $ cd $TESTTMP/repo2
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   188
  $ hg debugdrawdag <<'EOS'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   189
  > C
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   190
  > |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   191
  > B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   192
  > |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   193
  > A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   194
  > EOS
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   195
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   196
  $ hg update -q B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   197
  $ echo 2 >> B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   198
  $ hg amend
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   199
  abort: cannot amend changeset with children
45853
b4694ef45db5 errors: raise more specific errors from rewriteutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
   200
  [10]
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   201
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   202
#if obsstore-on
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   203
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   204
With allowunstable, amend could work in the middle of a stack
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   205
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   206
  $ cat >> $HGRCPATH <<EOF
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   207
  > [experimental]
34866
1644623ab096 config: use 'experimental.evolution.create-markers'
Boris Feld <boris.feld@octobus.net>
parents: 34795
diff changeset
   208
  > evolution.createmarkers=True
34867
7f183c643eb6 config: use 'experimental.evolution.allowunstable'
Boris Feld <boris.feld@octobus.net>
parents: 34866
diff changeset
   209
  > evolution.allowunstable=True
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   210
  > EOF
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   211
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   212
  $ hg amend
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   213
  1 new orphan changesets
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   214
  $ hg log -T '{rev} {node|short} {desc}\n' -G
34085
e8a7c1a0565a cmdutil: remove the redundant commit during amend
Saurabh Singh <singhsrb@fb.com>
parents: 34053
diff changeset
   215
  @  3 be169c7e8dbe B
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   216
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35393
diff changeset
   217
  | *  2 26805aba1e60 C
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   218
  | |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   219
  | x  1 112478962961 B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   220
  |/
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   221
  o  0 426bada5c675 A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   222
  
34795
530b7361e3a9 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34121
diff changeset
   223
Checking the note stored in the obsmarker
530b7361e3a9 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34121
diff changeset
   224
530b7361e3a9 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34121
diff changeset
   225
  $ echo foo > bar
530b7361e3a9 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34121
diff changeset
   226
  $ hg add bar
34889
554885e10868 amend: error out if the note is greater than 255bytes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34867
diff changeset
   227
  $ hg amend --note 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
554885e10868 amend: error out if the note is greater than 255bytes
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34867
diff changeset
   228
  abort: cannot store a note of more than 255 bytes
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
   229
  [10]
34795
530b7361e3a9 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34121
diff changeset
   230
  $ hg amend --note "adding bar"
530b7361e3a9 amend: add a flag `-n/--note` to store note with amend
Pulkit Goyal <7895pulkit@gmail.com>
parents: 34121
diff changeset
   231
  $ hg debugobsolete -r .
34961
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34889
diff changeset
   232
  112478962961147124edd43549aedd1a335e44bf be169c7e8dbe21cd10b3d79691cbe7f241e3c21c 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
a7e49a5b3e6f obsolete: activate effect-flag by default
Boris Feld <boris.feld@octobus.net>
parents: 34889
diff changeset
   233
  be169c7e8dbe21cd10b3d79691cbe7f241e3c21c 16084da537dd8f84cfdb3055c633772269d62e1b 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'note': 'adding bar', 'operation': 'amend', 'user': 'test'}
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   234
#endif
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   235
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   236
Cannot amend public changeset
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   237
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   238
  $ hg phase -r A --public
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   239
  $ hg update -C -q A
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   240
  $ hg amend -m AMEND
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   241
  abort: cannot amend public changesets
35244
98f97eb20597 rewriteutil: use precheck() in uncommit and amend commands
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35163
diff changeset
   242
  (see 'hg help phases' for details)
45853
b4694ef45db5 errors: raise more specific errors from rewriteutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
   243
  [10]
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   244
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   245
Amend a merge changeset
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   246
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   247
  $ hg init $TESTTMP/repo3
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   248
  $ cd $TESTTMP/repo3
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   249
  $ hg debugdrawdag <<'EOS'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   250
  >   C
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   251
  >  /|
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   252
  > A B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   253
  > EOS
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   254
  $ hg update -q C
34053
24ce7b0edaf9 test-amend: match output using conditional test case name
Jun Wu <quark@fb.com>
parents: 33773
diff changeset
   255
  $ hg amend -m FOO
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35244
diff changeset
   256
  saved backup bundle to $TESTTMP/repo3/.hg/strip-backup/a35c07e8a2a4-15ff4612-amend.hg (obsstore-off !)
33404
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   257
  $ rm .hg/localtags
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   258
  $ hg log -G -T '{desc}\n'
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   259
  @    FOO
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   260
  |\
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   261
  | o  B
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   262
  |
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   263
  o  A
0d5afd360e9e amend: new extension providing the amend command
Jun Wu <quark@fb.com>
parents:
diff changeset
   264
  
35021
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   265
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   266
More complete test for status changes (issue5732)
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   267
-------------------------------------------------
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   268
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   269
Generates history of files having 3 states, r0_r1_wc:
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   270
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   271
 r0: ground (content/missing)
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   272
 r1: old state to be amended (content/missing, where missing means removed)
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   273
 wc: changes to be included in r1 (content/missing-tracked/untracked)
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   274
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   275
  $ hg init $TESTTMP/wcstates
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   276
  $ cd $TESTTMP/wcstates
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   277
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38817
diff changeset
   278
  $ "$PYTHON" $TESTDIR/generate-working-copy-states.py state 2 1
35021
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   279
  $ hg addremove -q --similarity 0
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   280
  $ hg commit -m0
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   281
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38817
diff changeset
   282
  $ "$PYTHON" $TESTDIR/generate-working-copy-states.py state 2 2
35021
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   283
  $ hg addremove -q --similarity 0
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   284
  $ hg commit -m1
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   285
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38817
diff changeset
   286
  $ "$PYTHON" $TESTDIR/generate-working-copy-states.py state 2 wc
35021
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   287
  $ hg addremove -q --similarity 0
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   288
  $ hg forget *_*_*-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   289
  $ rm *_*_missing-*
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   290
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   291
amend r1 to include wc changes
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   292
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   293
  $ hg amend
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   294
  saved backup bundle to * (glob) (obsstore-off !)
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   295
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   296
clean/modified/removed/added states of the amended revision
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   297
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   298
  $ hg status --all --change . 'glob:content1_*_content1-tracked'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   299
  C content1_content1_content1-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   300
  C content1_content2_content1-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   301
  C content1_missing_content1-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   302
  $ hg status --all --change . 'glob:content1_*_content[23]-tracked'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   303
  M content1_content1_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   304
  M content1_content2_content2-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   305
  M content1_content2_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   306
  M content1_missing_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   307
  $ hg status --all --change . 'glob:content1_*_missing-tracked'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   308
  M content1_content2_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   309
  R content1_missing_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   310
  C content1_content1_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   311
  $ hg status --all --change . 'glob:content1_*_*-untracked'
35022
0ba3b928f9a9 amend: do not take untracked files as modified or clean (issue5732)
Yuya Nishihara <yuya@tcha.org>
parents: 35021
diff changeset
   312
  R content1_content1_content1-untracked
0ba3b928f9a9 amend: do not take untracked files as modified or clean (issue5732)
Yuya Nishihara <yuya@tcha.org>
parents: 35021
diff changeset
   313
  R content1_content1_content3-untracked
35021
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   314
  R content1_content1_missing-untracked
35022
0ba3b928f9a9 amend: do not take untracked files as modified or clean (issue5732)
Yuya Nishihara <yuya@tcha.org>
parents: 35021
diff changeset
   315
  R content1_content2_content1-untracked
0ba3b928f9a9 amend: do not take untracked files as modified or clean (issue5732)
Yuya Nishihara <yuya@tcha.org>
parents: 35021
diff changeset
   316
  R content1_content2_content2-untracked
0ba3b928f9a9 amend: do not take untracked files as modified or clean (issue5732)
Yuya Nishihara <yuya@tcha.org>
parents: 35021
diff changeset
   317
  R content1_content2_content3-untracked
35021
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   318
  R content1_content2_missing-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   319
  R content1_missing_content1-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   320
  R content1_missing_content3-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   321
  R content1_missing_missing-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   322
  $ hg status --all --change . 'glob:missing_content2_*'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   323
  A missing_content2_content2-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   324
  A missing_content2_content3-tracked
35023
5f40efa472db amend: do not drop missing files (issue5732)
Yuya Nishihara <yuya@tcha.org>
parents: 35022
diff changeset
   325
  A missing_content2_missing-tracked
35021
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   326
  $ hg status --all --change . 'glob:missing_missing_*'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   327
  A missing_missing_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   328
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   329
working directory should be all clean (with some missing/untracked files)
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   330
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   331
  $ hg status --all 'glob:*_content?-tracked'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   332
  C content1_content1_content1-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   333
  C content1_content1_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   334
  C content1_content2_content1-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   335
  C content1_content2_content2-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   336
  C content1_content2_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   337
  C content1_missing_content1-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   338
  C content1_missing_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   339
  C missing_content2_content2-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   340
  C missing_content2_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   341
  C missing_missing_content3-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   342
  $ hg status --all 'glob:*_missing-tracked'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   343
  ! content1_content1_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   344
  ! content1_content2_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   345
  ! content1_missing_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   346
  ! missing_content2_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   347
  ! missing_missing_missing-tracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   348
  $ hg status --all 'glob:*-untracked'
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   349
  ? content1_content1_content1-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   350
  ? content1_content1_content3-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   351
  ? content1_content2_content1-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   352
  ? content1_content2_content2-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   353
  ? content1_content2_content3-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   354
  ? content1_missing_content1-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   355
  ? content1_missing_content3-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   356
  ? missing_content2_content2-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   357
  ? missing_content2_content3-untracked
b69c700b6de6 tests: add more complete test for status changes on amend
Yuya Nishihara <yuya@tcha.org>
parents: 34889
diff changeset
   358
  ? missing_missing_content3-untracked
38817
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   359
41206
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   360
=================================
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   361
Test backup-bundle config option|
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   362
=================================
38817
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   363
  $ hg init $TESTTMP/repo4
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   364
  $ cd $TESTTMP/repo4
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   365
  $ echo a>a
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   366
  $ hg ci -Aqma
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   367
  $ echo oops>b
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   368
  $ hg ci -Aqm "b"
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   369
  $ echo partiallyfixed > b
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   370
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   371
#if obsstore-off
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   372
  $ hg amend
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   373
  saved backup bundle to $TESTTMP/repo4/.hg/strip-backup/95e899acf2ce-f11cb050-amend.hg
41206
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   374
When backup-bundle config option is set:
38817
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   375
  $ cat << EOF >> $HGRCPATH
41206
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   376
  > [rewrite]
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   377
  > backup-bundle = False
38817
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   378
  > EOF
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   379
  $ echo fixed > b
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   380
  $ hg amend
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   381
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   382
#else
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   383
  $ hg amend
41206
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   384
When backup-bundle config option is set:
38817
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   385
  $ cat << EOF >> $HGRCPATH
41206
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   386
  > [rewrite]
6acbe86c6490 repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents: 41173
diff changeset
   387
  > backup-bundle = False
38817
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   388
  > EOF
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   389
  $ echo fixed > b
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   390
  $ hg amend
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   391
32ece991955c amend: support "history-editing-backup" config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38299
diff changeset
   392
#endif
41120
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   393
==========================================
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   394
Test update-timestamp config option|
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   395
==========================================
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   396
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   397
  $ cat >> $HGRCPATH << EOF
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   398
  > [extensions]
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   399
  > amend=
41214
8633c716f908 tests: replace mockmakedate function in test-amend.t
Taapas Agrawal <taapas2897@gmail.com>
parents: 41206
diff changeset
   400
  > mockmakedate = $TESTDIR/mockmakedate.py
41120
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   401
  > EOF
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   402
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   403
  $ hg init $TESTTMP/repo5
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   404
  $ cd $TESTTMP/repo5
41122
14271b524d76 test-amend: remove uninteresting fields from log output to deduplicate tests
Yuya Nishihara <yuya@tcha.org>
parents: 41120
diff changeset
   405
  $ cat <<'EOF' >> .hg/hgrc
45765
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45388
diff changeset
   406
  > [command-templates]
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45388
diff changeset
   407
  > log = 'user:        {user}
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45388
diff changeset
   408
  >        date:        {date|date}
ed84a4d48910 config: add a new [command-templates] section for templates defined by hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 45388
diff changeset
   409
  >        summary:     {desc|firstline}\n'
41122
14271b524d76 test-amend: remove uninteresting fields from log output to deduplicate tests
Yuya Nishihara <yuya@tcha.org>
parents: 41120
diff changeset
   410
  > EOF
14271b524d76 test-amend: remove uninteresting fields from log output to deduplicate tests
Yuya Nishihara <yuya@tcha.org>
parents: 41120
diff changeset
   411
41120
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   412
  $ echo a>a
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   413
  $ hg ci -Am 'commit 1'
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   414
  adding a
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   415
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   416
When updatetimestamp is False
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   417
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   418
  $ hg amend --date '1997-1-1 0:1'
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   419
  $ hg log --limit 1
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   420
  user:        test
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   421
  date:        Wed Jan 01 00:01:00 1997 +0000
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   422
  summary:     commit 1
41122
14271b524d76 test-amend: remove uninteresting fields from log output to deduplicate tests
Yuya Nishihara <yuya@tcha.org>
parents: 41120
diff changeset
   423
41120
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   424
 When update-timestamp is True and no other change than the date
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   425
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   426
  $ hg amend --config rewrite.update-timestamp=True
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   427
  nothing changed
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   428
  [1]
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   429
  $ hg log --limit 1
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   430
  user:        test
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   431
  date:        Wed Jan 01 00:01:00 1997 +0000
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   432
  summary:     commit 1
41122
14271b524d76 test-amend: remove uninteresting fields from log output to deduplicate tests
Yuya Nishihara <yuya@tcha.org>
parents: 41120
diff changeset
   433
41120
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   434
When update-timestamp is True and there is other change than the date
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   435
  $ hg amend --user foobar --config rewrite.update-timestamp=True
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   436
  $ hg log --limit 1
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   437
  user:        foobar
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   438
  date:        Thu Jan 01 00:00:02 1970 +0000
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   439
  summary:     commit 1
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   440
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   441
When date option is applicable and update-timestamp is True
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   442
  $ hg amend  --date '1998-1-1 0:1' --config rewrite.update-timestamp=True
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   443
  $ hg log --limit 1
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   444
  user:        foobar
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   445
  date:        Thu Jan 01 00:01:00 1998 +0000
79f8f032c706 amend: add config option to update time to current in hg amend (issue5828)
Taapas Agrawal <taapas2897@gmail.com>
parents: 39707
diff changeset
   446
  summary:     commit 1
41125
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   447
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   448
Unlike rewrite.update-timestamp, -D/--currentdate always updates the timestamp
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   449
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   450
  $ hg amend -D
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   451
  $ hg log --limit 1
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   452
  user:        foobar
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   453
  date:        Thu Jan 01 00:00:04 1970 +0000
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   454
  summary:     commit 1
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   455
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   456
  $ hg amend -D --config rewrite.update-timestamp=True
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   457
  $ hg log --limit 1
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   458
  user:        foobar
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   459
  date:        Thu Jan 01 00:00:05 1970 +0000
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   460
  summary:     commit 1
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   461
41173
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   462
rewrite.update-timestamp can be negated by --no-currentdate
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   463
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   464
  $ hg amend --config rewrite.update-timestamp=True --no-currentdate -u baz
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   465
  $ hg log --limit 1
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   466
  user:        baz
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   467
  date:        Thu Jan 01 00:00:05 1970 +0000
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   468
  summary:     commit 1
4145fd3569c3 amend: turn currentdate into tri-state bool so config option can be negated
Yuya Nishihara <yuya@tcha.org>
parents: 41125
diff changeset
   469
41125
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   470
Bad combination of date options:
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   471
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   472
  $ hg amend -D --date '0 0'
43893
2e672ccc2220 commit: use cmdutil.check_at_most_one_arg()
Martin von Zweigbergk <martinvonz@google.com>
parents: 43828
diff changeset
   473
  abort: cannot specify both --date and --currentdate
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45765
diff changeset
   474
  [10]
41125
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   475
42934
09d46b90f6f9 amend: enable support for closing the branch
Matt Harbison <matt_harbison@yahoo.com>
parents: 42643
diff changeset
   476
Close branch
09d46b90f6f9 amend: enable support for closing the branch
Matt Harbison <matt_harbison@yahoo.com>
parents: 42643
diff changeset
   477
42935
f10a0f5eedae amend: enable support for using the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 42934
diff changeset
   478
  $ hg amend --secret --close-branch
f10a0f5eedae amend: enable support for using the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 42934
diff changeset
   479
  $ hg log --limit 1 -T 'close={get(extras, "close")}\nphase={phase}\n'
42934
09d46b90f6f9 amend: enable support for closing the branch
Matt Harbison <matt_harbison@yahoo.com>
parents: 42643
diff changeset
   480
  close=1
42935
f10a0f5eedae amend: enable support for using the secret phase
Matt Harbison <matt_harbison@yahoo.com>
parents: 42934
diff changeset
   481
  phase=secret
42934
09d46b90f6f9 amend: enable support for closing the branch
Matt Harbison <matt_harbison@yahoo.com>
parents: 42643
diff changeset
   482
41125
126101284e04 amend: add -D/--currentdate option
Yuya Nishihara <yuya@tcha.org>
parents: 41122
diff changeset
   483
  $ cd ..
42642
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   484
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   485
Corner case of amend from issue6157:
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   486
- working copy parent has a change to file `a`
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   487
- working copy has the inverse change
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   488
- we amend the working copy parent for files other than `a`
42643
ce52377102db amend: stop committing unrequested file reverts (issue6157)
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42642
diff changeset
   489
hg used to include the changes to `a` anyway.
42642
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   490
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   491
  $ hg init 6157; cd 6157
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   492
  $ echo a > a; echo b > b; hg commit -qAm_
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   493
  $ echo a2 > a; hg commit -qm_
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   494
  $ hg diff --stat -c .
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   495
   a |  2 +-
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   496
   1 files changed, 1 insertions(+), 1 deletions(-)
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   497
  $ echo a > a; echo b2 > b; hg amend -q b
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   498
  $ hg diff --stat -c .
42643
ce52377102db amend: stop committing unrequested file reverts (issue6157)
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42642
diff changeset
   499
   a |  2 +-
42642
464aa857c717 amend: add a test for a simplified version of issue6157
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42566
diff changeset
   500
   b |  2 +-
42643
ce52377102db amend: stop committing unrequested file reverts (issue6157)
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42642
diff changeset
   501
   2 files changed, 2 insertions(+), 2 deletions(-)
43799
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   502
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   503
Modifying a file while the editor is open can cause dirstate corruption
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   504
(issue6233)
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   505
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   506
  $ cd $TESTTMP
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   507
  $ hg init modify-during-amend; cd modify-during-amend
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   508
  $ echo r0 > foo; hg commit -qAm "r0"
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   509
  $ echo alpha > foo; hg commit -qm "alpha"
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   510
  $ echo beta >> foo
44259
141ceec06b55 test: simplify test-amend.t to avoid race condition
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43894
diff changeset
   511
  $ cat > $TESTTMP/touchy_editor.sh <<EOF
141ceec06b55 test: simplify test-amend.t to avoid race condition
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43894
diff changeset
   512
  > sleep 1
44377
1813f79017ac tests: stabilize test-amend.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 44259
diff changeset
   513
  > echo delta >> "$TESTTMP/modify-during-amend/foo"
44259
141ceec06b55 test: simplify test-amend.t to avoid race condition
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43894
diff changeset
   514
  > sleep 1
43799
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   515
  > echo hi > "\$1"
44259
141ceec06b55 test: simplify test-amend.t to avoid race condition
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43894
diff changeset
   516
  > sleep 1
43799
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   517
  > EOF
44259
141ceec06b55 test: simplify test-amend.t to avoid race condition
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43894
diff changeset
   518
  $ HGEDITOR="sh $TESTTMP/touchy_editor.sh" hg commit --amend
43828
36444dddaeb4 tests: replace [[]] bashism with portable [] invocation
Augie Fackler <augie@google.com>
parents: 43799
diff changeset
   519
  $ if (hg diff -c . | grep 'delta' >/dev/null) || [ -n "$(hg status)" ]; then
43799
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   520
  >   echo "OK."
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   521
  > else
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   522
  >   echo "Bug detected. 'delta' is not part of the commit OR the wdir"
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   523
  >   echo "Diff and status before rebuild:"
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   524
  >   hg diff
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   525
  >   hg status
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   526
  >   hg debugrebuilddirstate
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   527
  >   echo "Diff and status after rebuild:"
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   528
  >   hg diff
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   529
  >   hg status
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   530
  > fi
5558e3437872 amend: check for file modifications when updating dirstate (issue6233)
Kyle Lippincott <spectral@google.com>
parents: 42935
diff changeset
   531
  OK.