tests/test-unamend.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 06 Jul 2021 16:12:09 +0200
branchstable
changeset 47504 411dc27fd9fd
parent 46465 0e2becd1fe0c
child 47018 7a90fddb13b0
permissions -rw-r--r--
corruption: backout changeset 49fd21f32695 (issue6528) inverting the parent is masking copy information leading to bad content being fetched and bad status result. Since 49fd21f32695, exchange can actively swap these parent corrupting existing changesets and triggering the corruption. Data corruption are considered critical so backing this out and doing and unscheduled release seems in order. Differential Revision: https://phab.mercurial-scm.org/D10995
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     1
Test for command `hg unamend` which lives in uncommit extension
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     2
===============================================================
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     3
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     4
  $ cat >> $HGRCPATH << EOF
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     5
  > [alias]
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     6
  > glog = log -G -T '{rev}:{node|short}  {desc}'
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     7
  > [experimental]
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     8
  > evolution = createmarkers, allowunstable
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
     9
  > [extensions]
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    10
  > rebase =
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    11
  > amend =
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    12
  > uncommit =
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    13
  > EOF
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    14
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    15
Repo Setup
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    16
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    17
  $ hg init repo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    18
  $ cd repo
35195
900ed9853017 tests: removes bashism from test-unamend.t
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35182
diff changeset
    19
  $ for ch in a b c d e f g h; do touch $ch; echo "foo" >> $ch; hg ci -Aqm "Added "$ch; done
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    20
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    21
  $ hg glog
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    22
  @  7:ec2426147f0e  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    23
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    24
  o  6:87d6d6676308  Added g
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    25
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    26
  o  5:825660c69f0c  Added f
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    27
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    28
  o  4:aa98ab95a928  Added e
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    29
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    30
  o  3:62615734edd5  Added d
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    31
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    32
  o  2:28ad74487de9  Added c
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    33
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    34
  o  1:29becc82797a  Added b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    35
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    36
  o  0:18d04c59bb5d  Added a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    37
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    38
Trying to unamend when there was no amend done
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    39
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    40
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    41
  abort: changeset must have one predecessor, found 0 predecessors
46465
0e2becd1fe0c errors: use InputError in uncommit extension
Martin von Zweigbergk <martinvonz@google.com>
parents: 45853
diff changeset
    42
  [10]
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    43
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    44
Unamend on clean wdir and tip
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    45
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    46
  $ echo "bar" >> h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    47
  $ hg amend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    48
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    49
  $ hg exp
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    50
  # HG changeset patch
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    51
  # User test
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    52
  # Date 0 0
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    53
  #      Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    54
  # Node ID c9fa1a715c1b7661c0fafb362a9f30bd75878d7d
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    55
  # Parent  87d6d66763085b629e6d7ed56778c79827273022
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    56
  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    57
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    58
  diff -r 87d6d6676308 -r c9fa1a715c1b h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    59
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    60
  +++ b/h	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    61
  @@ -0,0 +1,2 @@
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    62
  +foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    63
  +bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    64
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    65
  $ hg glog --hidden
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    66
  @  8:c9fa1a715c1b  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    67
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    68
  | x  7:ec2426147f0e  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    69
  |/
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    70
  o  6:87d6d6676308  Added g
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    71
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    72
  o  5:825660c69f0c  Added f
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    73
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    74
  o  4:aa98ab95a928  Added e
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    75
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    76
  o  3:62615734edd5  Added d
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    77
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    78
  o  2:28ad74487de9  Added c
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    79
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    80
  o  1:29becc82797a  Added b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    81
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    82
  o  0:18d04c59bb5d  Added a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    83
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    84
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    85
  $ hg glog --hidden
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
    86
  @  9:46d02d47eec6  Added h
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    87
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    88
  | x  8:c9fa1a715c1b  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    89
  |/
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    90
  | x  7:ec2426147f0e  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    91
  |/
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    92
  o  6:87d6d6676308  Added g
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    93
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    94
  o  5:825660c69f0c  Added f
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    95
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    96
  o  4:aa98ab95a928  Added e
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    97
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    98
  o  3:62615734edd5  Added d
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
    99
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   100
  o  2:28ad74487de9  Added c
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   101
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   102
  o  1:29becc82797a  Added b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   103
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   104
  o  0:18d04c59bb5d  Added a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   105
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   106
  $ hg diff
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   107
  diff -r 46d02d47eec6 h
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   108
  --- a/h	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   109
  +++ b/h	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   110
  @@ -1,1 +1,2 @@
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   111
   foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   112
  +bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   113
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   114
  $ hg exp
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   115
  # HG changeset patch
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   116
  # User test
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   117
  # Date 0 0
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   118
  #      Thu Jan 01 00:00:00 1970 +0000
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   119
  # Node ID 46d02d47eec6ca096b8dcab3f8f5579c40c3dd9a
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   120
  # Parent  87d6d66763085b629e6d7ed56778c79827273022
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   121
  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   122
  
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   123
  diff -r 87d6d6676308 -r 46d02d47eec6 h
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   124
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   125
  +++ b/h	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   126
  @@ -0,0 +1,1 @@
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   127
  +foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   128
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   129
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   130
  M h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   131
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   132
  $ hg log -r . -T '{extras % "{extra}\n"}' --config alias.log=log
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   133
  branch=default
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   134
  unamend_source=c9fa1a715c1b7661c0fafb362a9f30bd75878d7d
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   135
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   136
Using unamend to undo an unamed (intentional)
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   137
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   138
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   139
  $ hg exp
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   140
  # HG changeset patch
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   141
  # User test
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   142
  # Date 0 0
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   143
  #      Thu Jan 01 00:00:00 1970 +0000
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   144
  # Node ID 850ddfc1bc662997ec6094ada958f01f0cc8070a
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   145
  # Parent  87d6d66763085b629e6d7ed56778c79827273022
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   146
  Added h
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   147
  
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   148
  diff -r 87d6d6676308 -r 850ddfc1bc66 h
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   149
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   150
  +++ b/h	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   151
  @@ -0,0 +1,2 @@
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   152
  +foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   153
  +bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   154
  $ hg diff
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   155
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   156
Unamend on a dirty working directory
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   157
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   158
  $ echo "bar" >> a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   159
  $ hg amend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   160
  $ echo "foobar" >> a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   161
  $ echo "bar" >> b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   162
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   163
  M a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   164
  M b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   165
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   166
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   167
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   168
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   169
  M a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   170
  M b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   171
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   172
  $ hg diff
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   173
  diff -r ec338db45d51 a
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   174
  --- a/a	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   175
  +++ b/a	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   176
  @@ -1,1 +1,3 @@
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   177
   foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   178
  +bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   179
  +foobar
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   180
  diff -r ec338db45d51 b
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   181
  --- a/b	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   182
  +++ b/b	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   183
  @@ -1,1 +1,2 @@
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   184
   foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   185
  +bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   186
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   187
Unamending an added file
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   188
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   189
  $ hg ci -m "Added things to a and b"
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   190
  $ echo foo > bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   191
  $ hg add bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   192
  $ hg amend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   193
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   194
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   195
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   196
  A bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   197
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   198
  $ hg revert --all
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   199
  forgetting bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   200
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   201
Unamending a removed file
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   202
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   203
  $ hg remove a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   204
  $ hg amend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   205
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   206
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   207
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   208
  R a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   209
  ? bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   210
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   211
  $ hg revert --all
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   212
  undeleting a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   213
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   214
Unamending an added file with dirty wdir status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   215
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   216
  $ hg add bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   217
  $ hg amend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   218
  $ echo bar >> bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   219
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   220
  M bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   221
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   222
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   223
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   224
  A bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   225
  $ hg diff
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   226
  diff -r 7f79409af972 bar
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   227
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   228
  +++ b/bar	Thu Jan 01 00:00:00 1970 +0000
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   229
  @@ -0,0 +1,2 @@
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   230
  +foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   231
  +bar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   232
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   233
  $ hg revert --all
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   234
  forgetting bar
41337
713fbf057c7d tests: clean up after each test in test-unamend.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35709
diff changeset
   235
  $ rm bar
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   236
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   237
Unamending in middle of a stack
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   238
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   239
  $ hg glog
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   240
  @  19:7f79409af972  Added things to a and b
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   241
  |
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   242
  o  12:ec338db45d51  Added h
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   243
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   244
  o  6:87d6d6676308  Added g
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   245
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   246
  o  5:825660c69f0c  Added f
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   247
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   248
  o  4:aa98ab95a928  Added e
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   249
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   250
  o  3:62615734edd5  Added d
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   251
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   252
  o  2:28ad74487de9  Added c
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   253
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   254
  o  1:29becc82797a  Added b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   255
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   256
  o  0:18d04c59bb5d  Added a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   257
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   258
  $ hg up 5
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   259
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   260
  $ echo bar >> f
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   261
  $ hg amend
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35435
diff changeset
   262
  3 new orphan changesets
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   263
  $ hg rebase -s 6 -d . -q
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   264
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   265
  $ hg glog
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   266
  o  23:03ddd6fc5af1  Added things to a and b
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   267
  |
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   268
  o  22:3e7b64ee157b  Added h
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   269
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   270
  o  21:49635b68477e  Added g
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   271
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   272
  @  20:93f0e8ffab32  Added f
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   273
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   274
  o  4:aa98ab95a928  Added e
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   275
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   276
  o  3:62615734edd5  Added d
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   277
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   278
  o  2:28ad74487de9  Added c
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   279
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   280
  o  1:29becc82797a  Added b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   281
  |
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   282
  o  0:18d04c59bb5d  Added a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   283
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   284
35435
f01101100043 unamend: allow unamending if allowunstable is set
Martin von Zweigbergk <martinvonz@google.com>
parents: 35200
diff changeset
   285
  $ hg --config experimental.evolution=createmarkers unamend
f01101100043 unamend: allow unamending if allowunstable is set
Martin von Zweigbergk <martinvonz@google.com>
parents: 35200
diff changeset
   286
  abort: cannot unamend changeset with children
45853
b4694ef45db5 errors: raise more specific errors from rewriteutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45812
diff changeset
   287
  [10]
35435
f01101100043 unamend: allow unamending if allowunstable is set
Martin von Zweigbergk <martinvonz@google.com>
parents: 35200
diff changeset
   288
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   289
  $ hg unamend
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35435
diff changeset
   290
  3 new orphan changesets
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   291
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   292
Trying to unamend a public changeset
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   293
35435
f01101100043 unamend: allow unamending if allowunstable is set
Martin von Zweigbergk <martinvonz@google.com>
parents: 35200
diff changeset
   294
  $ hg up -C 23
f01101100043 unamend: allow unamending if allowunstable is set
Martin von Zweigbergk <martinvonz@google.com>
parents: 35200
diff changeset
   295
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   296
  $ hg phase -r . -p
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35435
diff changeset
   297
  1 new phase-divergent changesets
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   298
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   299
  abort: cannot unamend public changesets
35435
f01101100043 unamend: allow unamending if allowunstable is set
Martin von Zweigbergk <martinvonz@google.com>
parents: 35200
diff changeset
   300
  (see 'hg help phases' for details)
45853
b4694ef45db5 errors: raise more specific errors from rewriteutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45812
diff changeset
   301
  [10]
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   302
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   303
Testing whether unamend retains copies or not
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   304
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   305
  $ hg status
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   306
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   307
  $ hg mv a foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   308
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   309
  $ hg ci -m "Moved a to foo"
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   310
  $ hg exp --git
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   311
  # HG changeset patch
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   312
  # User test
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   313
  # Date 0 0
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   314
  #      Thu Jan 01 00:00:00 1970 +0000
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   315
  # Node ID cfef290346fbee5126313d7e1aab51d877679b09
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   316
  # Parent  03ddd6fc5af19e028c44a2fd6d790dd22712f231
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   317
  Moved a to foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   318
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   319
  diff --git a/a b/foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   320
  rename from a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   321
  rename to foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   322
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   323
  $ hg mv b foobar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   324
  $ hg diff --git
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   325
  diff --git a/b b/foobar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   326
  rename from b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   327
  rename to foobar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   328
  $ hg amend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   329
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   330
  $ hg exp --git
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   331
  # HG changeset patch
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   332
  # User test
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   333
  # Date 0 0
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   334
  #      Thu Jan 01 00:00:00 1970 +0000
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   335
  # Node ID eca050985275bb271ce3092b54e56ea5c85d29a3
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   336
  # Parent  03ddd6fc5af19e028c44a2fd6d790dd22712f231
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   337
  Moved a to foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   338
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   339
  diff --git a/a b/foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   340
  rename from a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   341
  rename to foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   342
  diff --git a/b b/foobar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   343
  rename from b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   344
  rename to foobar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   345
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   346
  $ hg mv c wat
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   347
  $ hg unamend
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   348
44113
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   349
  $ hg verify -v
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   350
  repository uses revlog format 1
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   351
  checking changesets
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   352
  checking manifests
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   353
  crosschecking files in changesets and manifests
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   354
  checking files
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   355
  checked 28 changesets with 16 changes to 11 files
e77b57e09bfa verify: avoid spurious integrity warnings in verbose mode (issue6172)
Matt Harbison <matt_harbison@yahoo.com>
parents: 41341
diff changeset
   356
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   357
Retained copies in new prdecessor commit
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   358
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   359
  $ hg exp --git
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   360
  # HG changeset patch
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   361
  # User test
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   362
  # Date 0 0
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   363
  #      Thu Jan 01 00:00:00 1970 +0000
35200
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   364
  # Node ID 552e3af4f01f620f88ca27be1f898316235b736a
9e339c97fabb unamend: drop unused vars, query after taking lock, use ctx.hex() for extras
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35195
diff changeset
   365
  # Parent  03ddd6fc5af19e028c44a2fd6d790dd22712f231
35182
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   366
  Moved a to foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   367
  
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   368
  diff --git a/a b/foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   369
  rename from a
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   370
  rename to foo
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   371
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   372
Retained copies in working directoy
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   373
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   374
  $ hg diff --git
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   375
  diff --git a/b b/foobar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   376
  rename from b
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   377
  rename to foobar
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   378
  diff --git a/c b/wat
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   379
  rename from c
867990238dc6 unamend: move fb extension unamend to core
Pulkit Goyal <7895pulkit@gmail.com>
parents:
diff changeset
   380
  rename to wat
41337
713fbf057c7d tests: clean up after each test in test-unamend.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35709
diff changeset
   381
  $ hg revert -qa
713fbf057c7d tests: clean up after each test in test-unamend.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35709
diff changeset
   382
  $ rm foobar wat
41338
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   383
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   384
Rename a->b, then amend b->c. After unamend, should look like b->c.
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   385
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   386
  $ hg co -q 0
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   387
  $ hg mv a b
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   388
  $ hg ci -qm 'move to a b'
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   389
  $ hg mv b c
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   390
  $ hg amend
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   391
  $ hg unamend
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   392
  $ hg st --copies --change .
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   393
  A b
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   394
    a
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   395
  R a
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   396
  $ hg st --copies
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   397
  A c
41341
19c590ce8661 unamend: fix unamending of renamed rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 41338
diff changeset
   398
    b
41338
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   399
  R b
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   400
  $ hg revert -qa
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   401
  $ rm c
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   402
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   403
Rename a->b, then amend b->c, and working copy change c->d. After unamend, should look like b->d
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   404
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   405
  $ hg co -q 0
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   406
  $ hg mv a b
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   407
  $ hg ci -qm 'move to a b'
45812
976b26bdd0d8 commit: warn the user when a commit already exists
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 44113
diff changeset
   408
  warning: commit already existed in the repository!
41338
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   409
  $ hg mv b c
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   410
  $ hg amend
45812
976b26bdd0d8 commit: warn the user when a commit already exists
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents: 44113
diff changeset
   411
  warning: commit already existed in the repository!
41338
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   412
  $ hg mv c d
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   413
  $ hg unamend
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   414
  $ hg st --copies --change .
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   415
  A b
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   416
    a
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   417
  R a
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   418
  $ hg st --copies
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   419
  A d
41341
19c590ce8661 unamend: fix unamending of renamed rename
Martin von Zweigbergk <martinvonz@google.com>
parents: 41338
diff changeset
   420
    b
41338
c7d425f7f5c9 tests: add more tests of uncommit/unamend with copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41337
diff changeset
   421
  R b