tests/test-rewind.t
author Denis Laxalde <denis@laxalde.org>
Fri, 18 Oct 2019 10:17:53 +0200
branchstable
changeset 4912 43e9bb4de6b5
parent 4899 c982e7fb5e7a
child 4968 d299af4da8d8
child 5123 900668a93629
permissions -rw-r--r--
debian: update debhelper compat Level before 9 are deprecated says debhelper 12. Upgrade to 10, which is available in Debian oldstable and old Ubuntu releases to be conservative (and since we probably don't need more).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     1
This test file test the rewind command in several situations.
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     2
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     3
Global setup
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
============
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     5
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     6
  $ . $TESTDIR/testlib/common.sh
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
  $ cat >> $HGRCPATH <<EOF
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     8
  > [ui]
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     9
  > interactive = true
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
  > [phases]
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    11
  > publish=False
4722
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
    12
  > [alias]
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
    13
  > glf = log -GT "{rev}: {desc} ({files})"
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
  > [extensions]
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
  > evolve =
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
  > EOF
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    18
  $ hg init rewind-testing-base
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    19
  $ cd rewind-testing-base
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    20
  $ echo a > root
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    21
  $ hg add root
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    22
  $ hg ci -m 'c_ROOT'
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    23
  $ echo a > A
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    24
  $ hg add A
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    25
  $ hg ci -m 'c_A0'
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    26
  $ echo a > B
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    27
  $ hg add B
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
  $ hg ci -m 'c_B0'
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    29
  $ hg log -G
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    30
  @  changeset:   2:7e594302a05d
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    31
  |  tag:         tip
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    33
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    34
  |  summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    35
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    36
  o  changeset:   1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    37
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    38
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    39
  |  summary:     c_A0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    40
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    41
  o  changeset:   0:eba9c2249fe7
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    42
     user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    43
     date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    44
     summary:     c_ROOT
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    45
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    46
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    47
  $ cd ..
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    49
Test rewinding to single changesets
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    50
====================================
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    51
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    52
  $ hg clone rewind-testing-base rewind-testing-simple-prune
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    53
  updating to branch default
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    54
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    55
  $ cd rewind-testing-simple-prune
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    56
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    57
Prune changeset unrelated to the working copy
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    58
---------------------------------------------
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    59
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    60
Setup
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    61
`````
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    62
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    63
Update to an unrelated changeset
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    64
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    65
  $ hg up 'desc("c_ROOT")'
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    67
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    68
Prune the head
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    69
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  $ hg prune -r 'desc("c_B0")'
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    71
  1 changesets pruned
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    72
  $ hg log -G
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
  o  changeset:   1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
  |  tag:         tip
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    75
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    77
  |  summary:     c_A0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    78
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    79
  @  changeset:   0:eba9c2249fe7
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    80
     user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
     date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
     summary:     c_ROOT
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    84
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    85
Actual rewind
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    86
`````````````
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    87
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
  $ hg rewind --hidden --to 'desc("c_B0")'
3859
6e3d844b56f2 rewind: add a message about the rewinded changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3858
diff changeset
    89
  rewinded to 1 changesets
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    90
  $ hg debugobsolete
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
  7e594302a05d3769b27be88fc3cdfd39d7498498 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    92
  7e594302a05d3769b27be88fc3cdfd39d7498498 073989a581cf430a844192364fa37606357cbbc2 4 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    93
  $ hg obslog -r 'desc("c_B0")'
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
  o  073989a581cf (3) c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    95
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
  x  7e594302a05d (2) c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    97
       pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    98
       rewritten(meta) as 073989a581cf using rewind by test (Thu Jan 01 00:00:00 1970 +0000)
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    99
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   100
  $ hg log -G
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
  o  changeset:   3:073989a581cf
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
  |  tag:         tip
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   103
  |  parent:      1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   104
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   105
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   106
  |  summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   107
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   108
  o  changeset:   1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   109
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   110
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   111
  |  summary:     c_A0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   112
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   113
  @  changeset:   0:eba9c2249fe7
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   114
     user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   115
     date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   116
     summary:     c_ROOT
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   117
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   118
XXX-TODO: fix the obsfate from "meta-changed as 3" to "identical" or something.
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   119
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   120
  $ hg log -G --hidden
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   121
  o  changeset:   3:073989a581cf
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   122
  |  tag:         tip
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   123
  |  parent:      1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   124
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   125
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   126
  |  summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   127
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   128
  | x  changeset:   2:7e594302a05d
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   129
  |/   user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   130
  |    date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   131
  |    obsolete:    meta-changed using rewind as 3:073989a581cf
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   132
  |    summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   133
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   134
  o  changeset:   1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   135
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   136
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   137
  |  summary:     c_A0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   138
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   139
  @  changeset:   0:eba9c2249fe7
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   140
     user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   141
     date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   142
     summary:     c_ROOT
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   143
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   144
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   145
Other independant rewind create a different revision
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   146
----------------------------------------------------------
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   147
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   148
setup
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   149
`````
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   150
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   151
note: we use "default-date" to make it a "different rewind"
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   152
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   153
  $ echo '[devel]' >> $HGRCPATH
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   154
  $ echo 'default-date = 1 0' >> $HGRCPATH
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   155
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   156
Actual rewind
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   157
`````````````
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   158
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   159
  $ hg prune 'desc("c_B0")'
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   160
  1 changesets pruned
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   161
  $ hg rewind --hidden --to 'min(desc("c_B0"))'
3859
6e3d844b56f2 rewind: add a message about the rewinded changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3858
diff changeset
   162
  rewinded to 1 changesets
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   163
  $ hg debugobsolete
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   164
  7e594302a05d3769b27be88fc3cdfd39d7498498 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   165
  7e594302a05d3769b27be88fc3cdfd39d7498498 073989a581cf430a844192364fa37606357cbbc2 4 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   166
  073989a581cf430a844192364fa37606357cbbc2 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   167
  7e594302a05d3769b27be88fc3cdfd39d7498498 b13b032065ef57a68d9a4cead38ba0f34f95529b 4 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   168
  $ hg obslog -r 'desc("c_B0")' --all
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   169
  x  073989a581cf (3) c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   170
  |    pruned using prune by test (Thu Jan 01 00:00:01 1970 +0000)
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   171
  |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   172
  | o  b13b032065ef (4) c_B0
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   173
  |/
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   174
  x  7e594302a05d (2) c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   175
       pruned using prune by test (Thu Jan 01 00:00:00 1970 +0000)
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   176
       rewritten(meta) as 073989a581cf using rewind by test (Thu Jan 01 00:00:00 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   177
       rewritten(meta) as b13b032065ef using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   178
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   179
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   180
  o  changeset:   4:b13b032065ef
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   181
  |  tag:         tip
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   182
  |  parent:      1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   183
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   184
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   185
  |  summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   186
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   187
  o  changeset:   1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   188
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   189
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   190
  |  summary:     c_A0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   191
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   192
  @  changeset:   0:eba9c2249fe7
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   193
     user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   194
     date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   195
     summary:     c_ROOT
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   196
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   197
  $ hg log -G --hidden
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   198
  o  changeset:   4:b13b032065ef
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   199
  |  tag:         tip
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   200
  |  parent:      1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   201
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   202
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   203
  |  summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   204
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   205
  | x  changeset:   3:073989a581cf
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   206
  |/   parent:      1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   207
  |    user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   208
  |    date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   209
  |    obsolete:    pruned using prune
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   210
  |    summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   211
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   212
  | x  changeset:   2:7e594302a05d
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   213
  |/   user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   214
  |    date:        Thu Jan 01 00:00:00 1970 +0000
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   215
  |    obsolete:    meta-changed using rewind as 4:b13b032065ef
3858
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   216
  |    obsolete:    meta-changed using rewind as 3:073989a581cf
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   217
  |    summary:     c_B0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   218
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   219
  o  changeset:   1:579f120ba918
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   220
  |  user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   221
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   222
  |  summary:     c_A0
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   223
  |
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   224
  @  changeset:   0:eba9c2249fe7
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   225
     user:        test
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   226
     date:        Thu Jan 01 00:00:00 1970 +0000
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   227
     summary:     c_ROOT
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   228
  
bb4f5ad63877 rewind: add a proto version of the command
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   229
  $ cd ..
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   230
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   231
rewind a simple amend - creating content-divergence
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   232
---------------------------------------------------
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   233
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   234
Setup
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   235
`````
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   236
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   237
  $ hg clone rewind-testing-base rewind-testing-single-rewrite
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   238
  updating to branch default
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   239
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   240
  $ cd rewind-testing-single-rewrite
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   241
  $ echo BB > B
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   242
  $ hg amend -m 'c_B1'
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   243
  $ hg log -G
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   244
  @  changeset:   3:25c8f5ab0c3b
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   245
  |  tag:         tip
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   246
  |  parent:      1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   247
  |  user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   248
  |  date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   249
  |  summary:     c_B1
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   250
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   251
  o  changeset:   1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   252
  |  user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   253
  |  date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   254
  |  summary:     c_A0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   255
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   256
  o  changeset:   0:eba9c2249fe7
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   257
     user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   258
     date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   259
     summary:     c_ROOT
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   260
  
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   261
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   262
Actual rewind
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   263
`````````````
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   264
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   265
  $ hg rewind --hidden --to 'desc("c_B0")' --as-divergence
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   266
  2 new content-divergent changesets
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   267
  rewinded to 1 changesets
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   268
  $ hg debugobsolete
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   269
  7e594302a05d3769b27be88fc3cdfd39d7498498 25c8f5ab0c3bb569ec672570f1a901be4c6f032b 0 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   270
  7e594302a05d3769b27be88fc3cdfd39d7498498 b13b032065ef57a68d9a4cead38ba0f34f95529b 4 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   271
  $ hg obslog --rev 'desc("c_B0")'
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   272
  *  b13b032065ef (4) c_B0
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   273
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   274
  x  7e594302a05d (2) c_B0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   275
       rewritten(description, content) as 25c8f5ab0c3b using amend by test (Thu Jan 01 00:00:01 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   276
       rewritten(meta) as b13b032065ef using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   277
  
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   278
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   279
  *  changeset:   4:b13b032065ef
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   280
  |  tag:         tip
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   281
  |  parent:      1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   282
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   283
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   284
  |  instability: content-divergent
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   285
  |  summary:     c_B0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   286
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   287
  | @  changeset:   3:25c8f5ab0c3b
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   288
  |/   parent:      1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   289
  |    user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   290
  |    date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   291
  |    instability: content-divergent
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   292
  |    summary:     c_B1
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   293
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   294
  o  changeset:   1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   295
  |  user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   296
  |  date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   297
  |  summary:     c_A0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   298
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   299
  o  changeset:   0:eba9c2249fe7
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   300
     user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   301
     date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   302
     summary:     c_ROOT
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   303
  
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   304
  $ hg log -G --hidden
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   305
  *  changeset:   4:b13b032065ef
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   306
  |  tag:         tip
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   307
  |  parent:      1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   308
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   309
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   310
  |  instability: content-divergent
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   311
  |  summary:     c_B0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   312
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   313
  | @  changeset:   3:25c8f5ab0c3b
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   314
  |/   parent:      1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   315
  |    user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   316
  |    date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   317
  |    instability: content-divergent
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   318
  |    summary:     c_B1
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   319
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   320
  | x  changeset:   2:7e594302a05d
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   321
  |/   user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   322
  |    date:        Thu Jan 01 00:00:00 1970 +0000
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   323
  |    obsolete:    meta-changed using rewind as 4:b13b032065ef
3860
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   324
  |    obsolete:    rewritten using amend as 3:25c8f5ab0c3b
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   325
  |    summary:     c_B0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   326
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   327
  o  changeset:   1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   328
  |  user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   329
  |  date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   330
  |  summary:     c_A0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   331
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   332
  o  changeset:   0:eba9c2249fe7
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   333
     user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   334
     date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   335
     summary:     c_ROOT
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   336
  
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   337
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   338
Cleanup
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   339
```````
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   340
  $ hg prune 'max(desc("c_B0"))'
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   341
  1 changesets pruned
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   342
  $ hg log -G
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   343
  @  changeset:   3:25c8f5ab0c3b
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   344
  |  tag:         tip
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   345
  |  parent:      1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   346
  |  user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   347
  |  date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   348
  |  summary:     c_B1
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   349
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   350
  o  changeset:   1:579f120ba918
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   351
  |  user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   352
  |  date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   353
  |  summary:     c_A0
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   354
  |
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   355
  o  changeset:   0:eba9c2249fe7
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   356
     user:        test
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   357
     date:        Thu Jan 01 00:00:00 1970 +0000
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   358
     summary:     c_ROOT
fa184c5edfe8 rewind: test rewinding an amended changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3859
diff changeset
   359
  
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   360
  $ echo 'default-date = 2 0' >> $HGRCPATH
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   361
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   362
rewind a simple amend - obsoleting the current latest successors
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   363
----------------------------------------------------------------
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   364
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   365
  $ hg rewind --hidden --to 'min(desc("c_B0"))'
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   366
  rewinded to 1 changesets
3862
8d3eed113b77 rewind: add a message about obsolete changeset
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3861
diff changeset
   367
  (1 changesets obsoleted)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   368
  working directory is now at 837cd997bb05
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   369
  $ hg debugobsolete
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   370
  7e594302a05d3769b27be88fc3cdfd39d7498498 25c8f5ab0c3bb569ec672570f1a901be4c6f032b 0 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   371
  7e594302a05d3769b27be88fc3cdfd39d7498498 b13b032065ef57a68d9a4cead38ba0f34f95529b 4 (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   372
  b13b032065ef57a68d9a4cead38ba0f34f95529b 0 {579f120ba91885449adc92eedf48ef3569742cee} (Thu Jan 01 00:00:01 1970 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   373
  7e594302a05d3769b27be88fc3cdfd39d7498498 837cd997bb05a27f8ed7d1ba3ff1e8422b9b464e 4 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   374
  25c8f5ab0c3bb569ec672570f1a901be4c6f032b 837cd997bb05a27f8ed7d1ba3ff1e8422b9b464e 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   375
  $ hg obslog --rev 'desc("c_B0")'
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   376
  @    837cd997bb05 (5) c_B0
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   377
  |\
3863
c31be22d1d90 rewind: update the working copy if it gets obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3862
diff changeset
   378
  x |  25c8f5ab0c3b (3) c_B1
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   379
  |/     rewritten(description, meta, content) as 837cd997bb05 using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   380
  |
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   381
  x  7e594302a05d (2) c_B0
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   382
       rewritten(description, content) as 25c8f5ab0c3b using amend by test (Thu Jan 01 00:00:01 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   383
       rewritten(meta) as 837cd997bb05 using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   384
       rewritten(meta) as b13b032065ef using rewind by test (Thu Jan 01 00:00:01 1970 +0000)
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   385
  
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   386
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   387
  @  changeset:   5:837cd997bb05
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   388
  |  tag:         tip
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   389
  |  parent:      1:579f120ba918
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   390
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   391
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   392
  |  summary:     c_B0
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   393
  |
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   394
  o  changeset:   1:579f120ba918
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   395
  |  user:        test
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   396
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   397
  |  summary:     c_A0
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   398
  |
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   399
  o  changeset:   0:eba9c2249fe7
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   400
     user:        test
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   401
     date:        Thu Jan 01 00:00:00 1970 +0000
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   402
     summary:     c_ROOT
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   403
  
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   404
  $ hg log -G --hidden
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   405
  @  changeset:   5:837cd997bb05
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   406
  |  tag:         tip
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   407
  |  parent:      1:579f120ba918
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   408
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   409
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   410
  |  summary:     c_B0
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   411
  |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   412
  | x  changeset:   4:b13b032065ef
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   413
  |/   parent:      1:579f120ba918
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   414
  |    user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   415
  |    date:        Thu Jan 01 00:00:00 1970 +0000
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   416
  |    obsolete:    pruned using prune
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   417
  |    summary:     c_B0
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   418
  |
3863
c31be22d1d90 rewind: update the working copy if it gets obsoleted
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3862
diff changeset
   419
  | x  changeset:   3:25c8f5ab0c3b
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   420
  |/   parent:      1:579f120ba918
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   421
  |    user:        test
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   422
  |    date:        Thu Jan 01 00:00:00 1970 +0000
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   423
  |    obsolete:    rewritten using rewind as 5:837cd997bb05
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   424
  |    summary:     c_B1
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   425
  |
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   426
  | x  changeset:   2:7e594302a05d
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   427
  |/   user:        test
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   428
  |    date:        Thu Jan 01 00:00:00 1970 +0000
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   429
  |    obsolete:    meta-changed using rewind as 4:b13b032065ef
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   430
  |    obsolete:    meta-changed using rewind as 5:837cd997bb05
3861
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   431
  |    obsolete:    rewritten using amend as 3:25c8f5ab0c3b
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   432
  |    summary:     c_B0
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   433
  |
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   434
  o  changeset:   1:579f120ba918
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   435
  |  user:        test
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   436
  |  date:        Thu Jan 01 00:00:00 1970 +0000
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   437
  |  summary:     c_A0
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   438
  |
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   439
  o  changeset:   0:eba9c2249fe7
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   440
     user:        test
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   441
     date:        Thu Jan 01 00:00:00 1970 +0000
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   442
     summary:     c_ROOT
bbe635dfd75c rewind: obsolete latest successors unless instructed otherwise
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3860
diff changeset
   443
  
3864
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   444
  $ cd ..
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   445
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   446
rewind a simple split
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   447
---------------------
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   448
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   449
Setup
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   450
`````
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   451
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   452
  $ hg clone rewind-testing-base rewind-testing-split-fold
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   453
  updating to branch default
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   454
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   455
  $ cd rewind-testing-split-fold
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   456
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   457
  $ echo C > C
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   458
  $ echo D > D
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   459
  $ hg add C D
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   460
  $ hg ci -m 'c_CD0'
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   461
  $ hg split << EOF
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   462
  > y
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   463
  > f
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   464
  > d
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
   465
  > c
3864
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   466
  > EOF
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   467
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   468
  adding C
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   469
  adding D
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   470
  diff --git a/C b/C
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   471
  new file mode 100644
4712
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4624
diff changeset
   472
  examine changes to 'C'?
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4624
diff changeset
   473
  (enter ? for help) [Ynesfdaq?] y
3864
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   474
  
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   475
  @@ -0,0 +1,1 @@
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   476
  +C
4712
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4624
diff changeset
   477
  record change 1/2 to 'C'?
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4624
diff changeset
   478
  (enter ? for help) [Ynesfdaq?] f
3864
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   479
  
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   480
  diff --git a/D b/D
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   481
  new file mode 100644
4712
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4624
diff changeset
   482
  examine changes to 'D'?
e2c548cc83b5 tests: update output for shorted prompts from Mercurial
Martin von Zweigbergk <martinvonz@google.com>
parents: 4624
diff changeset
   483
  (enter ? for help) [Ynesfdaq?] d
3864
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   484
  
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   485
  created new head
4294
8974a05a49fa split: rework the prompt to be more standard
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 4293
diff changeset
   486
  continue splitting? [Ycdq?] c
3864
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   487
  $ hg log -G
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   488
  @  changeset:   5:9576e80d6851
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   489
  |  tag:         tip
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   490
  |  user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   491
  |  date:        Thu Jan 01 00:00:02 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   492
  |  summary:     c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   493
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   494
  o  changeset:   4:a0316c4c5417
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   495
  |  parent:      2:7e594302a05d
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   496
  |  user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   497
  |  date:        Thu Jan 01 00:00:02 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   498
  |  summary:     c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   499
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   500
  o  changeset:   2:7e594302a05d
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   501
  |  user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   502
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   503
  |  summary:     c_B0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   504
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   505
  o  changeset:   1:579f120ba918
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   506
  |  user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   507
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   508
  |  summary:     c_A0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   509
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   510
  o  changeset:   0:eba9c2249fe7
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   511
     user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   512
     date:        Thu Jan 01 00:00:00 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   513
     summary:     c_ROOT
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   514
  
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   515
  $ hg debugobsolete
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   516
  49fb7d900906b0a3d329e90da4dcb0a7582d3b6e a0316c4c54179357e71d068fb8884678ebc7c351 9576e80d6851ce79cd535e2dc5fa01b444d89a39 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '12', 'operation': 'split', 'user': 'test'}
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   517
  $ hg obslog --all
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   518
  @  9576e80d6851 (5) c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   519
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   520
  | o  a0316c4c5417 (4) c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   521
  |/
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   522
  x  49fb7d900906 (3) c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   523
       rewritten(parent, content) as 9576e80d6851, a0316c4c5417 using split by test (Thu Jan 01 00:00:02 1970 +0000)
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   524
  
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   525
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   526
Actual rewind
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   527
`````````````
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   528
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   529
  $ hg rewind --hidden --to 'min(desc("c_CD0"))'
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   530
  rewinded to 1 changesets
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   531
  (2 changesets obsoleted)
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   532
  working directory is now at 4535d0af405c
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   533
  $ hg debugobsolete
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   534
  49fb7d900906b0a3d329e90da4dcb0a7582d3b6e a0316c4c54179357e71d068fb8884678ebc7c351 9576e80d6851ce79cd535e2dc5fa01b444d89a39 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '12', 'operation': 'split', 'user': 'test'}
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   535
  49fb7d900906b0a3d329e90da4dcb0a7582d3b6e 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 4 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   536
  9576e80d6851ce79cd535e2dc5fa01b444d89a39 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '14', 'operation': 'rewind', 'user': 'test'}
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   537
  a0316c4c54179357e71d068fb8884678ebc7c351 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '10', 'operation': 'rewind', 'user': 'test'}
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   538
  $ hg obslog
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   539
  @    4535d0af405c (6) c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   540
  |\
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   541
  | \
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   542
  | |\
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   543
  | x |  9576e80d6851 (5) c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   544
  |/ /     rewritten(meta, parent, content) as 4535d0af405c using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   545
  | |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   546
  | x  a0316c4c5417 (4) c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   547
  |/     rewritten(meta, content) as 4535d0af405c using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   548
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   549
  x  49fb7d900906 (3) c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   550
       rewritten(meta) as 4535d0af405c using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   551
       rewritten(parent, content) as 9576e80d6851, a0316c4c5417 using split by test (Thu Jan 01 00:00:02 1970 +0000)
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   552
  
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   553
  $ hg log -G
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   554
  @  changeset:   6:4535d0af405c
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   555
  |  tag:         tip
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   556
  |  parent:      2:7e594302a05d
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   557
  |  user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   558
  |  date:        Thu Jan 01 00:00:02 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   559
  |  summary:     c_CD0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   560
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   561
  o  changeset:   2:7e594302a05d
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   562
  |  user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   563
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   564
  |  summary:     c_B0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   565
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   566
  o  changeset:   1:579f120ba918
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   567
  |  user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   568
  |  date:        Thu Jan 01 00:00:00 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   569
  |  summary:     c_A0
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   570
  |
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   571
  o  changeset:   0:eba9c2249fe7
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   572
     user:        test
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   573
     date:        Thu Jan 01 00:00:00 1970 +0000
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   574
     summary:     c_ROOT
0254c96ce108 rewind: add a test for rewinding a split
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3863
diff changeset
   575
  
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   576
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   577
rewind a fold
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   578
-------------
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   579
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   580
setup
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   581
`````
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   582
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   583
  $ echo 'default-date = 3 0' >> $HGRCPATH
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   584
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   585
Actual Rewind
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   586
`````````````
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   587
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   588
  $ hg rewind --to '9576e80d6851+a0316c4c5417' --hidden
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   589
  rewinded to 2 changesets
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   590
  (1 changesets obsoleted)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   591
  working directory is now at 95d72d892df7
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   592
  $ hg debugobsolete
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   593
  49fb7d900906b0a3d329e90da4dcb0a7582d3b6e a0316c4c54179357e71d068fb8884678ebc7c351 9576e80d6851ce79cd535e2dc5fa01b444d89a39 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '12', 'operation': 'split', 'user': 'test'}
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   594
  49fb7d900906b0a3d329e90da4dcb0a7582d3b6e 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 4 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   595
  9576e80d6851ce79cd535e2dc5fa01b444d89a39 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '14', 'operation': 'rewind', 'user': 'test'}
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   596
  a0316c4c54179357e71d068fb8884678ebc7c351 4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b 0 (Thu Jan 01 00:00:02 1970 +0000) {'ef1': '10', 'operation': 'rewind', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   597
  a0316c4c54179357e71d068fb8884678ebc7c351 e76375de0bfc9c59bdd91067c901f3eed7d6c8fe 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   598
  9576e80d6851ce79cd535e2dc5fa01b444d89a39 95d72d892df7fec59107e10914c5729bdf03665f 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   599
  4535d0af405c1bf35f37b35f26ec6f9acfa6fe0b e76375de0bfc9c59bdd91067c901f3eed7d6c8fe 95d72d892df7fec59107e10914c5729bdf03665f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '14', 'operation': 'rewind', 'user': 'test'}
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   600
  $ hg obslog -r -2:
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   601
  @    95d72d892df7 (8) c_CD0
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   602
  |\
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   603
  +---o  e76375de0bfc (7) c_CD0
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   604
  | | |
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   605
  x---+  4535d0af405c (6) c_CD0
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   606
  |\| |    rewritten(meta, parent, content) as 95d72d892df7, e76375de0bfc using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   607
  | | |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   608
  | x |  9576e80d6851 (5) c_CD0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   609
  |/ /     rewritten(meta, parent, content) as 4535d0af405c using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   610
  | |      rewritten(meta, parent) as 95d72d892df7 using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   611
  | |
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   612
  | x  a0316c4c5417 (4) c_CD0
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   613
  |/     rewritten(meta, content) as 4535d0af405c using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   614
  |      rewritten(meta) as e76375de0bfc using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   615
  |
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   616
  x  49fb7d900906 (3) c_CD0
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   617
       rewritten(meta) as 4535d0af405c using rewind by test (Thu Jan 01 00:00:02 1970 +0000)
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   618
       rewritten(parent, content) as 9576e80d6851, a0316c4c5417 using split by test (Thu Jan 01 00:00:02 1970 +0000)
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   619
  
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   620
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   621
  @  changeset:   8:95d72d892df7
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   622
  |  tag:         tip
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   623
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   624
  |  date:        Thu Jan 01 00:00:02 1970 +0000
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   625
  |  summary:     c_CD0
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   626
  |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   627
  o  changeset:   7:e76375de0bfc
3866
de42d00d6ee2 rewind: use rewinded parent when creating multiple changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3865
diff changeset
   628
  |  parent:      2:7e594302a05d
de42d00d6ee2 rewind: use rewinded parent when creating multiple changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3865
diff changeset
   629
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   630
  |  date:        Thu Jan 01 00:00:02 1970 +0000
3866
de42d00d6ee2 rewind: use rewinded parent when creating multiple changesets
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3865
diff changeset
   631
  |  summary:     c_CD0
3865
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   632
  |
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   633
  o  changeset:   2:7e594302a05d
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   634
  |  user:        test
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   635
  |  date:        Thu Jan 01 00:00:00 1970 +0000
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   636
  |  summary:     c_B0
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   637
  |
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   638
  o  changeset:   1:579f120ba918
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   639
  |  user:        test
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   640
  |  date:        Thu Jan 01 00:00:00 1970 +0000
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   641
  |  summary:     c_A0
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   642
  |
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   643
  o  changeset:   0:eba9c2249fe7
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   644
     user:        test
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   645
     date:        Thu Jan 01 00:00:00 1970 +0000
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   646
     summary:     c_ROOT
b945f2dae587 rewind: add a test for rewinding a fold
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3864
diff changeset
   647
  
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   648
  $ cd ..
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   649
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   650
Test rewinding stack
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   651
====================
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   652
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   653
  $ hg clone rewind-testing-base rewind-testing-stack
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   654
  updating to branch default
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   655
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   656
  $ cd rewind-testing-stack
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   657
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   658
Rewinding the top of the stack only
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   659
-----------------------------------
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   660
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   661
setup
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   662
`````
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   663
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   664
  $ hg up 'desc("c_A0")'
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   665
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   666
  $ echo AA >> A
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   667
  $ hg amend -m 'c_A1'
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   668
  1 new orphan changesets
4576
96ce1030d2fb tests: add --update to hg evolve to reduce test changes for the next patch
Anton Shestakov <av6@dwimlabs.net>
parents: 4294
diff changeset
   669
  $ hg evolve --all --update
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   670
  move:[2] c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   671
  atop:[3] c_A1
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   672
  working directory is now at a65fceb2324a
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   673
  $ hg debugobsolete
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   674
  579f120ba91885449adc92eedf48ef3569742cee d952d1794ff657f5c2a82225d2e6307ed930b32f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   675
  7e594302a05d3769b27be88fc3cdfd39d7498498 a65fceb2324ae1eb1231610193d24a5fa02c7c0e 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   676
  $ hg obslog -r 'desc("c_A1")::'
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   677
  @  a65fceb2324a (4) c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   678
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   679
  | o  d952d1794ff6 (3) c_A1
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   680
  | |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   681
  | x  579f120ba918 (1) c_A0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   682
  |      rewritten(description, content) as d952d1794ff6 using amend by test (Thu Jan 01 00:00:03 1970 +0000)
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   683
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   684
  x  7e594302a05d (2) c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   685
       rewritten(parent) as a65fceb2324a using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   686
  
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   687
  $ hg log -G
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   688
  @  changeset:   4:a65fceb2324a
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   689
  |  tag:         tip
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   690
  |  user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   691
  |  date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   692
  |  summary:     c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   693
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   694
  o  changeset:   3:d952d1794ff6
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   695
  |  parent:      0:eba9c2249fe7
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   696
  |  user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   697
  |  date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   698
  |  summary:     c_A1
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   699
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   700
  o  changeset:   0:eba9c2249fe7
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   701
     user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   702
     date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   703
     summary:     c_ROOT
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   704
  
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   705
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   706
Actual rewind
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   707
`````````````
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   708
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   709
  $ hg rewind --hidden --to 'min(desc(c_B0))' --exact
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   710
  1 new orphan changesets
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   711
  rewinded to 1 changesets
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   712
  (1 changesets obsoleted)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   713
  working directory is now at ac979e0aac4e
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   714
  $ hg debugobsolete
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   715
  579f120ba91885449adc92eedf48ef3569742cee d952d1794ff657f5c2a82225d2e6307ed930b32f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   716
  7e594302a05d3769b27be88fc3cdfd39d7498498 a65fceb2324ae1eb1231610193d24a5fa02c7c0e 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   717
  7e594302a05d3769b27be88fc3cdfd39d7498498 ac979e0aac4e63ccbbf88ac33942192942302766 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   718
  a65fceb2324ae1eb1231610193d24a5fa02c7c0e ac979e0aac4e63ccbbf88ac33942192942302766 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   719
  $ hg obslog
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   720
  @    ac979e0aac4e (5) c_B0
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   721
  |\
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   722
  | x  a65fceb2324a (4) c_B0
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   723
  |/     rewritten(meta, parent) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   724
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   725
  x  7e594302a05d (2) c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   726
       rewritten(parent) as a65fceb2324a using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   727
       rewritten(meta) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   728
  
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   729
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   730
  @  changeset:   5:ac979e0aac4e
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   731
  |  tag:         tip
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   732
  |  parent:      1:579f120ba918
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   733
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   734
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   735
  |  instability: orphan
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   736
  |  summary:     c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   737
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   738
  | o  changeset:   3:d952d1794ff6
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   739
  | |  parent:      0:eba9c2249fe7
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   740
  | |  user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   741
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   742
  | |  summary:     c_A1
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   743
  | |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   744
  x |  changeset:   1:579f120ba918
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   745
  |/   user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   746
  |    date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   747
  |    obsolete:    rewritten using amend as 3:d952d1794ff6
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   748
  |    summary:     c_A0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   749
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   750
  o  changeset:   0:eba9c2249fe7
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   751
     user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   752
     date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   753
     summary:     c_ROOT
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   754
  
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   755
3872
bbc3cfdfe42b rewind: default to rewinding the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3871
diff changeset
   756
Testing default argument (and cleanup)
bbc3cfdfe42b rewind: default to rewinding the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3871
diff changeset
   757
``````````````````````````````````````
bbc3cfdfe42b rewind: default to rewinding the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3871
diff changeset
   758
bbc3cfdfe42b rewind: default to rewinding the current stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3871
diff changeset
   759
rewind with no argument should be equivalent to `--from .`
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   760
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   761
  $ echo 'default-date = 4 0' >> $HGRCPATH
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   762
  $ hg rewind --from '.'
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   763
  rewinded to 1 changesets
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   764
  (1 changesets obsoleted)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   765
  working directory is now at a5dd64adbb2a
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   766
  $ echo 'default-date = 5 0' >> $HGRCPATH
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   767
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   768
  @  changeset:   6:a5dd64adbb2a
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   769
  |  tag:         tip
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   770
  |  parent:      3:d952d1794ff6
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   771
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   772
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   773
  |  summary:     c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   774
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   775
  o  changeset:   3:d952d1794ff6
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   776
  |  parent:      0:eba9c2249fe7
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   777
  |  user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   778
  |  date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   779
  |  summary:     c_A1
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   780
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   781
  o  changeset:   0:eba9c2249fe7
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   782
     user:        test
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   783
     date:        Thu Jan 01 00:00:00 1970 +0000
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   784
     summary:     c_ROOT
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   785
  
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   786
  $ hg debugobsolete
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   787
  579f120ba91885449adc92eedf48ef3569742cee d952d1794ff657f5c2a82225d2e6307ed930b32f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   788
  7e594302a05d3769b27be88fc3cdfd39d7498498 a65fceb2324ae1eb1231610193d24a5fa02c7c0e 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   789
  7e594302a05d3769b27be88fc3cdfd39d7498498 ac979e0aac4e63ccbbf88ac33942192942302766 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   790
  a65fceb2324ae1eb1231610193d24a5fa02c7c0e ac979e0aac4e63ccbbf88ac33942192942302766 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   791
  a65fceb2324ae1eb1231610193d24a5fa02c7c0e a5dd64adbb2af2e646859b35d0d7128daa73cb2b 4 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   792
  ac979e0aac4e63ccbbf88ac33942192942302766 a5dd64adbb2af2e646859b35d0d7128daa73cb2b 0 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   793
  $ hg obslog
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   794
  @    a5dd64adbb2a (6) c_B0
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   795
  |\
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   796
  | x  ac979e0aac4e (5) c_B0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   797
  |/|    rewritten(meta, parent) as a5dd64adbb2a using rewind by test (Thu Jan 01 00:00:04 1970 +0000)
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   798
  | |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   799
  x |  a65fceb2324a (4) c_B0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   800
  |/     rewritten(meta) as a5dd64adbb2a using rewind by test (Thu Jan 01 00:00:04 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   801
  |      rewritten(meta, parent) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   802
  |
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   803
  x  7e594302a05d (2) c_B0
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   804
       rewritten(parent) as a65fceb2324a using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   805
       rewritten(meta) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3867
339b05c3e929 rewind: add a test about rewinding top of stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3866
diff changeset
   806
  
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   807
Automatically rewinding the full stack (with --to)
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   808
--------------------------------------------------
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   809
4624
c9798965b1f4 revset: switch internal uses and tests to `predecessors` from legacy name
Matt Harbison <matt_harbison@yahoo.com>
parents: 4576
diff changeset
   810
  $ hg rewind --hidden --to 'predecessors(.)'
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   811
  rewinded to 2 changesets
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   812
  (2 changesets obsoleted)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   813
  working directory is now at 3f2d8862657d
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   814
  $ hg debugobsolete
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   815
  579f120ba91885449adc92eedf48ef3569742cee d952d1794ff657f5c2a82225d2e6307ed930b32f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   816
  7e594302a05d3769b27be88fc3cdfd39d7498498 a65fceb2324ae1eb1231610193d24a5fa02c7c0e 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   817
  7e594302a05d3769b27be88fc3cdfd39d7498498 ac979e0aac4e63ccbbf88ac33942192942302766 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   818
  a65fceb2324ae1eb1231610193d24a5fa02c7c0e ac979e0aac4e63ccbbf88ac33942192942302766 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   819
  a65fceb2324ae1eb1231610193d24a5fa02c7c0e a5dd64adbb2af2e646859b35d0d7128daa73cb2b 4 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   820
  ac979e0aac4e63ccbbf88ac33942192942302766 a5dd64adbb2af2e646859b35d0d7128daa73cb2b 0 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   821
  579f120ba91885449adc92eedf48ef3569742cee 9c28b7ed3951fd15b20ab75449c1e0fdec445958 4 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   822
  ac979e0aac4e63ccbbf88ac33942192942302766 3f2d8862657d20af331f0c0531f5228eef4d36c5 4 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   823
  a5dd64adbb2af2e646859b35d0d7128daa73cb2b 3f2d8862657d20af331f0c0531f5228eef4d36c5 0 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   824
  d952d1794ff657f5c2a82225d2e6307ed930b32f 9c28b7ed3951fd15b20ab75449c1e0fdec445958 0 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   825
  $ hg obslog
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   826
  @    3f2d8862657d (8) c_B0
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   827
  |\
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   828
  x |  a5dd64adbb2a (6) c_B0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   829
  |\|    rewritten(meta, parent) as 3f2d8862657d using rewind by test (Thu Jan 01 00:00:05 1970 +0000)
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   830
  | |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   831
  | x  ac979e0aac4e (5) c_B0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   832
  |/|    rewritten(meta, parent) as 3f2d8862657d using rewind by test (Thu Jan 01 00:00:05 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   833
  | |    rewritten(meta, parent) as a5dd64adbb2a using rewind by test (Thu Jan 01 00:00:04 1970 +0000)
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   834
  | |
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   835
  x |  a65fceb2324a (4) c_B0
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   836
  |/     rewritten(meta) as a5dd64adbb2a using rewind by test (Thu Jan 01 00:00:04 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   837
  |      rewritten(meta, parent) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   838
  |
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   839
  x  7e594302a05d (2) c_B0
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   840
       rewritten(parent) as a65fceb2324a using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   841
       rewritten(meta) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   842
  
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   843
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   844
  @  changeset:   8:3f2d8862657d
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   845
  |  tag:         tip
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   846
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   847
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   848
  |  summary:     c_B0
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   849
  |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   850
  o  changeset:   7:9c28b7ed3951
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   851
  |  parent:      0:eba9c2249fe7
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   852
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   853
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3868
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   854
  |  summary:     c_A0
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   855
  |
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   856
  o  changeset:   0:eba9c2249fe7
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   857
     user:        test
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   858
     date:        Thu Jan 01 00:00:00 1970 +0000
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   859
     summary:     c_ROOT
1742254d1190 rewind: automatically rewind entire stack
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3867
diff changeset
   860
  
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   861
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   862
Automatically rewinding the full stack (with --from)
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   863
----------------------------------------------------
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   864
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   865
  $ echo 'default-date = 6 0' >> $HGRCPATH
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   866
  $ hg rewind --hidden --from '.'
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   867
  rewinded to 2 changesets
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   868
  (2 changesets obsoleted)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   869
  working directory is now at d36d6d267714
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   870
  $ hg debugobsolete
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   871
  579f120ba91885449adc92eedf48ef3569742cee d952d1794ff657f5c2a82225d2e6307ed930b32f 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   872
  7e594302a05d3769b27be88fc3cdfd39d7498498 a65fceb2324ae1eb1231610193d24a5fa02c7c0e 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '4', 'operation': 'evolve', 'user': 'test'}
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   873
  7e594302a05d3769b27be88fc3cdfd39d7498498 ac979e0aac4e63ccbbf88ac33942192942302766 4 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   874
  a65fceb2324ae1eb1231610193d24a5fa02c7c0e ac979e0aac4e63ccbbf88ac33942192942302766 0 (Thu Jan 01 00:00:03 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   875
  a65fceb2324ae1eb1231610193d24a5fa02c7c0e a5dd64adbb2af2e646859b35d0d7128daa73cb2b 4 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   876
  ac979e0aac4e63ccbbf88ac33942192942302766 a5dd64adbb2af2e646859b35d0d7128daa73cb2b 0 (Thu Jan 01 00:00:04 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   877
  579f120ba91885449adc92eedf48ef3569742cee 9c28b7ed3951fd15b20ab75449c1e0fdec445958 4 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   878
  ac979e0aac4e63ccbbf88ac33942192942302766 3f2d8862657d20af331f0c0531f5228eef4d36c5 4 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   879
  a5dd64adbb2af2e646859b35d0d7128daa73cb2b 3f2d8862657d20af331f0c0531f5228eef4d36c5 0 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   880
  d952d1794ff657f5c2a82225d2e6307ed930b32f 9c28b7ed3951fd15b20ab75449c1e0fdec445958 0 (Thu Jan 01 00:00:05 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   881
  d952d1794ff657f5c2a82225d2e6307ed930b32f fef4355b4cc9e2d3ddc154f60e4f4f1a286e9ce7 4 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '2', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   882
  a5dd64adbb2af2e646859b35d0d7128daa73cb2b d36d6d267714108384f31762b6193c32f9f97514 4 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   883
  3f2d8862657d20af331f0c0531f5228eef4d36c5 d36d6d267714108384f31762b6193c32f9f97514 0 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '6', 'operation': 'rewind', 'user': 'test'}
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   884
  9c28b7ed3951fd15b20ab75449c1e0fdec445958 fef4355b4cc9e2d3ddc154f60e4f4f1a286e9ce7 0 (Thu Jan 01 00:00:06 1970 +0000) {'ef1': '11', 'operation': 'rewind', 'user': 'test'}
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   885
  $ hg obslog
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   886
  @    d36d6d267714 (10) c_B0
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   887
  |\
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   888
  x |  3f2d8862657d (8) c_B0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   889
  |\|    rewritten(meta, parent) as d36d6d267714 using rewind by test (Thu Jan 01 00:00:06 1970 +0000)
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   890
  | |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   891
  | x  a5dd64adbb2a (6) c_B0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   892
  |/|    rewritten(meta, parent) as 3f2d8862657d using rewind by test (Thu Jan 01 00:00:05 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   893
  | |    rewritten(meta, parent) as d36d6d267714 using rewind by test (Thu Jan 01 00:00:06 1970 +0000)
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   894
  | |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   895
  x |  ac979e0aac4e (5) c_B0
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   896
  |\|    rewritten(meta, parent) as 3f2d8862657d using rewind by test (Thu Jan 01 00:00:05 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   897
  | |    rewritten(meta, parent) as a5dd64adbb2a using rewind by test (Thu Jan 01 00:00:04 1970 +0000)
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   898
  | |
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   899
  | x  a65fceb2324a (4) c_B0
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   900
  |/     rewritten(meta) as a5dd64adbb2a using rewind by test (Thu Jan 01 00:00:04 1970 +0000)
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   901
  |      rewritten(meta, parent) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   902
  |
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   903
  x  7e594302a05d (2) c_B0
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   904
       rewritten(parent) as a65fceb2324a using evolve by test (Thu Jan 01 00:00:03 1970 +0000)
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   905
       rewritten(meta) as ac979e0aac4e using rewind by test (Thu Jan 01 00:00:03 1970 +0000)
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   906
  
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   907
  $ hg log -G
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   908
  @  changeset:   10:d36d6d267714
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   909
  |  tag:         tip
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   910
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   911
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   912
  |  summary:     c_B0
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   913
  |
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   914
  o  changeset:   9:fef4355b4cc9
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   915
  |  parent:      0:eba9c2249fe7
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   916
  |  user:        test
4899
c982e7fb5e7a rewind: preserve date
Manuel Jacob <me@manueljacob.de>
parents: 4821
diff changeset
   917
  |  date:        Thu Jan 01 00:00:00 1970 +0000
3871
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   918
  |  summary:     c_A1
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   919
  |
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   920
  o  changeset:   0:eba9c2249fe7
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   921
     user:        test
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   922
     date:        Thu Jan 01 00:00:00 1970 +0000
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   923
     summary:     c_ROOT
2e32a1ef0c60 rewing: add the ability to rewind "from" revisions
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3870
diff changeset
   924
  
3873
b81fd1487e04 rewing: prevent rewind in case of uncommitted changes
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3872
diff changeset
   925
  $ cd ..
b81fd1487e04 rewing: prevent rewind in case of uncommitted changes
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3872
diff changeset
   926
4820
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   927
Merge commits
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   928
=============
3873
b81fd1487e04 rewing: prevent rewind in case of uncommitted changes
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3872
diff changeset
   929
4820
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   930
  $ hg clone -q rewind-testing-base rewind-merge
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   931
  $ cd rewind-merge
4722
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   932
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   933
  $ hg up --clean .^
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   934
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   935
  $ echo foo > foo
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   936
  $ hg ci -qAm foo
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   937
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   938
  $ hg merge
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   939
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   940
  (branch merge, don't forget to commit)
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   941
  $ hg ci -m merge
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   942
  $ hg st --change .
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   943
  A B
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   944
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   945
  $ echo bar > foo
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   946
  $ hg amend -m 'merge, but foo is now bar'
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   947
  $ hg st --change .
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   948
  M foo
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   949
  A B
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   950
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   951
  $ hg rewind --from .
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   952
  rewinded to 1 changesets
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   953
  (1 changesets obsoleted)
4820
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   954
  working directory is now at 9d325190bd87
4722
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   955
  $ hg st --change .
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   956
  A B
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   957
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   958
  $ hg glf -r '. + allpredecessors(.) + parents(.)' --hidden
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   959
  @    6: merge ()
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   960
  |\
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   961
  +---x  5: merge, but foo is now bar (foo)
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   962
  | |/
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   963
  +---x  4: merge ()
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   964
  | |/
4820
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   965
  | o  3: foo (foo)
4722
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   966
  | |
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   967
  | ~
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   968
  o  2: c_B0 (B)
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   969
  |
7839720c7c75 rewind: make sure merge commits include files from p1 and p2
Anton Shestakov <av6@dwimlabs.net>
parents: 4712
diff changeset
   970
  ~
4820
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   971
d842a4c6fc4a tests: separate rewinding of merge commits, temporarily drop an error case
Anton Shestakov <av6@dwimlabs.net>
parents: 4722
diff changeset
   972
  $ cd ..
4821
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   973
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   974
Rewind --keep
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   975
=============
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   976
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   977
  $ hg init rewind-keep
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   978
  $ cd rewind-keep
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   979
  $ echo root > root
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   980
  $ hg ci -qAm 'root'
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   981
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   982
  $ echo apple > a
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   983
  $ echo banana > b
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   984
  $ hg ci -qAm initial
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   985
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   986
  $ hg rm b
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   987
  $ echo apricot > a
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   988
  $ echo coconut > c
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   989
  $ hg add c
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   990
  $ hg status
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   991
  M a
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   992
  A c
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   993
  R b
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   994
  $ hg amend -m amended
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   995
  $ hg glf --hidden
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   996
  @  2: amended (a c)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   997
  |
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   998
  | x  1: initial (a b)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
   999
  |/
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1000
  o  0: root (root)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1001
  
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1002
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1003
Clean wdir
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1004
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1005
  $ hg rewind --keep --to 'desc("initial")' --hidden
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1006
  rewinded to 1 changesets
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1007
  (1 changesets obsoleted)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1008
  $ hg obslog
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1009
  @    b4c97fddc16a (3) initial
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1010
  |\
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1011
  x |  2ea5be2f8751 (2) amended
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1012
  |/     rewritten(description, meta, content) as b4c97fddc16a using rewind by test (Thu Jan 01 00:00:06 1970 +0000)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1013
  |
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1014
  x  30704102d912 (1) initial
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1015
       rewritten(description, content) as 2ea5be2f8751 using amend by test (Thu Jan 01 00:00:06 1970 +0000)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1016
       rewritten(meta) as b4c97fddc16a using rewind by test (Thu Jan 01 00:00:06 1970 +0000)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1017
  
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1018
  $ hg glf --hidden
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1019
  @  3: initial (a b)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1020
  |
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1021
  | x  2: amended (a c)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1022
  |/
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1023
  | x  1: initial (a b)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1024
  |/
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1025
  o  0: root (root)
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1026
  
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1027
  $ hg st
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1028
  M a
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1029
  A c
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1030
  R b
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1031
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1032
Making wdir even more dirty
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1033
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1034
  $ echo avocado > a
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1035
  $ echo durian > d
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1036
  $ hg st
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1037
  M a
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1038
  A c
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1039
  R b
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1040
  ? d
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1041
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1042
No rewinding without --keep
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1043
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1044
  $ hg rewind --to 'desc("amended")' --hidden
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1045
  abort: uncommitted changes
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1046
  [255]
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1047
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1048
XXX: Unfortunately, even with --keep it's not allowed
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1049
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1050
  $ hg rewind --keep --to 'desc("amended")' --hidden
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1051
  abort: uncommitted changes
d8e36e60aea0 rewind: add --keep flag that "doesn't modify working directory"
Anton Shestakov <av6@dwimlabs.net>
parents: 4820
diff changeset
  1052
  [255]