tests/test-backout.t
author Matt Mackall <mpm@selenic.com>
Sat, 08 Oct 2011 14:18:18 -0500
changeset 15211 1209de02034e
parent 13446 1e497df514e2
child 15515 21766d5531cb
child 15615 41885892796e
permissions -rw-r--r--
backout: deprecate/hide support for backing out merges This has never worked usefully: - it can't undo a completely unwanted merge, as it leaves the merge in the DAG - it can't undo a faulty merge as that means doing a merge correctly, not simply reverting to one or the other parent Both of these kinds of merge also require coordinated action among developers to avoid the bad merge continuing to affect future merges, so we should stop pretending that backout is of any help here. As backing out a merge now requires a hidden option, it can't be done by accident, but will continue to 'work' for anyone who's already dependent on --parent for some unknown reason.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     1
  $ hg init basic
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     2
  $ cd basic
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     3
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
     4
should complain
4365
46280c004f22 change tests to use simplemerge by default
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 2614
diff changeset
     5
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     6
  $ hg backout
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     7
  abort: please specify a revision to backout
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
     8
  [255]
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
     9
  $ hg backout -r 0 0
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    10
  abort: please specify just one revision
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
    11
  [255]
4726
f6e961c0155b Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    12
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
    13
basic operation
4726
f6e961c0155b Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4365
diff changeset
    14
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    15
  $ echo a > a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    16
  $ hg commit -d '0 0' -A -m a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    17
  adding a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    18
  $ echo b >> a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    19
  $ hg commit -d '1 0' -m b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    20
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
    21
  $ hg backout -d '2 0' tip --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    22
  reverting a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    23
  changeset 2:2929462c3dff backs out changeset 1:a820f4f40a57
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    24
  $ cat a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    25
  a
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    26
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
    27
file that was removed is recreated
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    28
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    29
  $ cd ..
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    30
  $ hg init remove
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    31
  $ cd remove
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    32
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    33
  $ echo content > a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    34
  $ hg commit -d '0 0' -A -m a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    35
  adding a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    36
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    37
  $ hg rm a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    38
  $ hg commit -d '1 0' -m b
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    39
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
    40
  $ hg backout -d '2 0' tip --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    41
  adding a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    42
  changeset 2:de31bdc76c0d backs out changeset 1:76862dcce372
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    43
  $ cat a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    44
  content
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    45
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
    46
backout of backout is as if nothing happened
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    47
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
    48
  $ hg backout -d '3 0' --merge tip --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    49
  removing a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    50
  changeset 3:7f6d0f120113 backs out changeset 2:de31bdc76c0d
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    51
  $ cat a 2>/dev/null || echo cat: a: No such file or directory
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    52
  cat: a: No such file or directory
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    53
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
    54
across branch
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    55
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    56
  $ cd ..
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    57
  $ hg init branch
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    58
  $ cd branch
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    59
  $ echo a > a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    60
  $ hg ci -Am0
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    61
  adding a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    62
  $ echo b > b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    63
  $ hg ci -Am1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    64
  adding b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    65
  $ hg co -C 0
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    66
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    67
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    68
should fail
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
    69
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    70
  $ hg backout 1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    71
  abort: cannot backout change on a different branch
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
    72
  [255]
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    73
  $ echo c > c
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    74
  $ hg ci -Am2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    75
  adding c
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    76
  created new head
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    77
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    78
should fail
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    79
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    80
  $ hg backout 1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    81
  abort: cannot backout change on a different branch
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
    82
  [255]
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    83
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
    84
backout with merge
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    85
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    86
  $ cd ..
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    87
  $ hg init merge
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    88
  $ cd merge
5568
de620356064f backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents: 4726
diff changeset
    89
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    90
  $ echo line 1 > a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    91
  $ echo line 2 >> a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    92
  $ hg commit -d '0 0' -A -m a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    93
  adding a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    94
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    95
remove line 1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    96
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    97
  $ echo line 2 > a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    98
  $ hg commit -d '1 0' -m b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
    99
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   100
  $ echo line 3 >> a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   101
  $ hg commit -d '2 0' -m c
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
   102
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
   103
  $ hg backout --merge -d '3 0' 1 --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   104
  reverting a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   105
  created new head
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   106
  changeset 3:26b8ccb9ad91 backs out changeset 1:5a50a024c182
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   107
  merging with changeset 3:26b8ccb9ad91
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   108
  merging a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   109
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   110
  (branch merge, don't forget to commit)
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   111
  $ hg commit -d '4 0' -m d
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
   112
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   113
check line 1 is back
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
   114
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   115
  $ cat a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   116
  line 1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   117
  line 2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   118
  line 3
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   119
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   120
backout should not back out subsequent changesets
2158
ec96c4518236 add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
   121
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   122
  $ hg init onecs
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   123
  $ cd onecs
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   124
  $ echo 1 > a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   125
  $ hg commit -d '0 0' -A -m a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   126
  adding a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   127
  $ echo 2 >> a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   128
  $ hg commit -d '1 0' -m b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   129
  $ echo 1 > b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   130
  $ hg commit -d '2 0' -A -m c
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   131
  adding b
12727
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   132
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   133
without --merge
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
   134
  $ hg backout -d '3 0' 1 --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   135
  reverting a
12727
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   136
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   137
  $ hg locate b
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   138
  b
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   139
  $ hg update -C tip
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   140
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   141
  $ hg locate b
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   142
  b
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   143
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   144
with --merge
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
   145
  $ hg backout --merge -d '3 0' 1 --tool=true
12727
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   146
  reverting a
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   147
  created new head
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   148
  changeset 3:3202beb76721 backs out changeset 1:22bca4c721e5
12727
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   149
  merging with changeset 3:3202beb76721
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   150
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   151
  (branch merge, don't forget to commit)
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   152
  $ hg locate b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   153
  b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   154
  $ hg update -C tip
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   155
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   156
  $ hg locate b
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
   157
  [1]
2492
2f4addf56715 Test case for #295
Brendan Cully <brendan@kublai.com>
parents: 2186
diff changeset
   158
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   159
  $ cd ..
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   160
  $ hg init m
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   161
  $ cd m
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   162
  $ echo a > a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   163
  $ hg commit -d '0 0' -A -m a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   164
  adding a
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   165
  $ echo b > b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   166
  $ hg commit -d '1 0' -A -m b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   167
  adding b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   168
  $ echo c > c
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   169
  $ hg commit -d '2 0' -A -m b
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   170
  adding c
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   171
  $ hg update 1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   172
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   173
  $ echo d > d
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   174
  $ hg commit -d '3 0' -A -m c
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   175
  adding d
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   176
  created new head
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   177
  $ hg merge 2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   178
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   179
  (branch merge, don't forget to commit)
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   180
  $ hg commit -d '4 0' -A -m d
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   181
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   182
backout of merge should fail
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   183
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   184
  $ hg backout 4
15211
1209de02034e backout: deprecate/hide support for backing out merges
Matt Mackall <mpm@selenic.com>
parents: 13446
diff changeset
   185
  abort: cannot backout a merge changeset
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
   186
  [255]
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   187
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   188
backout of merge with bad parent should fail
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   189
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   190
  $ hg backout --parent 0 4
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   191
  abort: cb9a9f314b8b is not a parent of b2f3bb92043e
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
   192
  [255]
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   193
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   194
backout of non-merge with parent should fail
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   195
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   196
  $ hg backout --parent 0 3
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   197
  abort: cannot use --parent on non-merge changeset
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 11856
diff changeset
   198
  [255]
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   199
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   200
backout with valid parent should be ok
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   201
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
   202
  $ hg backout -d '5 0' --parent 2 4 --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   203
  removing d
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   204
  changeset 5:10e5328c8435 backs out changeset 4:b2f3bb92043e
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   205
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   206
  $ hg rollback
13446
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12810
diff changeset
   207
  repository tip rolled back to revision 4 (undo commit)
1e497df514e2 rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents: 12810
diff changeset
   208
  working directory now based on revision 4
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   209
  $ hg update -C
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   210
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2614
8ba1c31f6864 backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents: 2492
diff changeset
   211
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
   212
  $ hg backout -d '6 0' --parent 3 4 --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   213
  removing c
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   214
  changeset 5:033590168430 backs out changeset 4:b2f3bb92043e
6162
554715e584e6 Add test case for backout on named branches (issue665)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6161
diff changeset
   215
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   216
  $ cd ..
6162
554715e584e6 Add test case for backout on named branches (issue665)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6161
diff changeset
   217
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12327
diff changeset
   218
named branches
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   219
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   220
  $ hg init named_branches
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   221
  $ cd named_branches
6162
554715e584e6 Add test case for backout on named branches (issue665)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6161
diff changeset
   222
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   223
  $ echo default > default
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   224
  $ hg ci -d '0 0' -Am default
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   225
  adding default
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   226
  $ hg branch branch1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   227
  marked working directory as branch branch1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   228
  $ echo branch1 > file1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   229
  $ hg ci -d '1 0' -Am file1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   230
  adding file1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   231
  $ hg branch branch2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   232
  marked working directory as branch branch2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   233
  $ echo branch2 > file2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   234
  $ hg ci -d '2 0' -Am file2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   235
  adding file2
12727
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   236
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   237
without --merge
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
   238
  $ hg backout -r 1 --tool=true
12727
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   239
  removing file1
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   240
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   241
  $ hg branch
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   242
  branch2
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   243
  $ hg status -A
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   244
  R file1
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   245
  C default
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   246
  C file2
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   247
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   248
with --merge
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   249
  $ hg update -qC
12810
a68ccfd9c7be backout: add --tool argument for specifying merge tool
Steve Borho <steve@borho.org>
parents: 12727
diff changeset
   250
  $ hg backout --merge -d '3 0' -r 1 -m 'backout on branch1' --tool=true
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   251
  removing file1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   252
  created new head
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   253
  changeset 3:d4e8f6db59fb backs out changeset 1:bf1602f437f3
12727
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   254
  merging with changeset 3:d4e8f6db59fb
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   255
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   256
  (branch merge, don't forget to commit)
52971985be14 backout: provide linear backout as a default (without --merge option)
Gilles Moris <gilles.moris@free.fr>
parents: 12328
diff changeset
   257
  $ hg update -q -C 2
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   258
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   259
on branch2 with branch1 not merged, so file1 should still exist:
6162
554715e584e6 Add test case for backout on named branches (issue665)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6161
diff changeset
   260
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   261
  $ hg id
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   262
  45bbcd363bf0 (branch2)
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   263
  $ hg st -A
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   264
  C default
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   265
  C file1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   266
  C file2
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   267
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   268
on branch2 with branch1 merged, so file1 should be gone:
6162
554715e584e6 Add test case for backout on named branches (issue665)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6161
diff changeset
   269
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   270
  $ hg merge
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   271
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   272
  (branch merge, don't forget to commit)
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   273
  $ hg ci -d '4 0' -m 'merge backout of branch1'
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   274
  $ hg id
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   275
  22149cdde76d (branch2) tip
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   276
  $ hg st -A
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   277
  C default
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   278
  C file2
6162
554715e584e6 Add test case for backout on named branches (issue665)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6161
diff changeset
   279
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   280
on branch1, so no file1 and file2:
6162
554715e584e6 Add test case for backout on named branches (issue665)
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6161
diff changeset
   281
11856
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   282
  $ hg co -C branch1
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   283
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   284
  $ hg id
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   285
  bf1602f437f3 (branch1)
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   286
  $ hg st -A
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   287
  C default
db969ebdebd9 tests: unify test-backout
Martin Geisler <mg@lazybytes.net>
parents: 8167
diff changeset
   288
  C file1