tests/test-rebase-inmemory.t
author Pulkit Goyal <7895pulkit@gmail.com>
Wed, 09 Sep 2020 16:49:19 +0530
changeset 45530 6877b0ee5f9d
parent 45518 1f5c548f15e5
child 45561 feffeb18d412
permissions -rw-r--r--
mergestate: introduce a new ACTION_KEEP_NEW `ACTION_KEEP` is overloaded and it's hard to figure out how we end up with this KEEP, what was the state of things. In a previous patch, we introduced `ACTION_KEEP_ABSENT` which represents files which are kept absent in the working directory. There is another special case where we keep the file when it's not present on both ancestor and remote side. We introduce a dedicated action for that. The goal is to use these information to make bid merge smarter. Differential Revision: https://phab.mercurial-scm.org/D9002
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
     1
#require symlink execbit
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
     2
  $ cat << EOF >> $HGRCPATH
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
     3
  > [phases]
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
     4
  > publish=False
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
     5
  > [extensions]
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
     6
  > amend=
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
     7
  > rebase=
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
     8
  > debugdrawdag=$TESTDIR/drawdag.py
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
     9
  > strip=
35396
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35393
diff changeset
    10
  > [rebase]
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35393
diff changeset
    11
  > experimental.inmemory=1
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    12
  > [diff]
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    13
  > git=1
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    14
  > [alias]
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    15
  > tglog = log -G --template "{rev}: {node|short} '{desc}'\n"
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    16
  > EOF
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    17
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    18
Rebase a simple DAG:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    19
  $ hg init repo1
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    20
  $ cd repo1
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    21
  $ hg debugdrawdag <<'EOS'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    22
  > c b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    23
  > |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    24
  > d
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    25
  > |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    26
  > a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    27
  > EOS
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    28
  $ hg up -C a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    29
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    30
  $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    31
  o  3: 814f6bd05178 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    32
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    33
  | o  2: db0e82a16a62 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    34
  |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    35
  o  1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    36
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    37
  @  0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    38
  
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    39
  $ hg cat -r 3 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    40
  c (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    41
  $ hg cat -r 2 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    42
  b (no-eol)
35396
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35393
diff changeset
    43
  $ hg rebase --debug -r b -d c | grep rebasing
45518
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45268
diff changeset
    44
  rebasing in memory
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    45
  rebasing 2:db0e82a16a62 "b" (b)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    46
  $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    47
  o  3: ca58782ad1e4 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    48
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    49
  o  2: 814f6bd05178 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    50
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    51
  o  1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    52
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    53
  @  0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    54
  
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    55
  $ hg cat -r 3 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    56
  b (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    57
  $ hg cat -r 2 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    58
  c (no-eol)
40459
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40456
diff changeset
    59
  $ cd ..
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    60
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    61
Case 2:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    62
  $ hg init repo2
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    63
  $ cd repo2
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    64
  $ hg debugdrawdag <<'EOS'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    65
  > c b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    66
  > |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    67
  > d
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    68
  > |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    69
  > a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    70
  > EOS
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    71
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    72
Add a symlink and executable file:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    73
  $ hg up -C c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    74
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    75
  $ ln -s somefile e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    76
  $ echo f > f
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    77
  $ chmod +x f
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    78
  $ hg add e f
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    79
  $ hg amend -q
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    80
  $ hg up -Cq a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    81
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    82
Write files to the working copy, and ensure they're still there after the rebase
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    83
  $ echo "abc" > a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    84
  $ ln -s def b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    85
  $ echo "ghi" > c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    86
  $ echo "jkl" > d
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    87
  $ echo "mno" > e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    88
  $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    89
  o  3: f56b71190a8f 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    90
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    91
  | o  2: db0e82a16a62 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    92
  |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    93
  o  1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    94
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    95
  @  0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    96
  
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    97
  $ hg cat -r 3 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    98
  c (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    99
  $ hg cat -r 2 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   100
  b (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   101
  $ hg cat -r 3 e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   102
  somefile (no-eol)
35396
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35393
diff changeset
   103
  $ hg rebase --debug -s b -d a | grep rebasing
45518
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45268
diff changeset
   104
  rebasing in memory
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   105
  rebasing 2:db0e82a16a62 "b" (b)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   106
  $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   107
  o  3: fc055c3b4d33 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   108
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   109
  | o  2: f56b71190a8f 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   110
  | |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   111
  | o  1: 02952614a83d 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   112
  |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   113
  @  0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   114
  
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   115
  $ hg cat -r 2 c
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   116
  c (no-eol)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   117
  $ hg cat -r 3 b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   118
  b (no-eol)
35396
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35393
diff changeset
   119
  $ hg rebase --debug -s 1 -d 3 | grep rebasing
45518
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45268
diff changeset
   120
  rebasing in memory
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   121
  rebasing 1:02952614a83d "d" (d)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   122
  rebasing 2:f56b71190a8f "c"
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   123
  $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   124
  o  3: 753feb6fd12a 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   125
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   126
  o  2: 09c044d2cb43 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   127
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   128
  o  1: fc055c3b4d33 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   129
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   130
  @  0: b173517d0057 'a'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   131
  
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   132
Ensure working copy files are still there:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   133
  $ cat a
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   134
  abc
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   135
  $ readlink.py b
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   136
  b -> def
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   137
  $ cat e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   138
  mno
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   139
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   140
Ensure symlink and executable files were rebased properly:
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   141
  $ hg up -Cq 3
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   142
  $ readlink.py e
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   143
  e -> somefile
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   144
  $ ls -l f | cut -c -10
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   145
  -rwxr-xr-x
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   146
36981
795eb53f1d3e rebase: allow in-memory merge of the working copy parent
Martin von Zweigbergk <martinvonz@google.com>
parents: 35396
diff changeset
   147
Rebase the working copy parent
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   148
  $ hg up -C 3
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   149
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
35396
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35393
diff changeset
   150
  $ hg rebase -r 3 -d 0 --debug | grep rebasing
45518
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45268
diff changeset
   151
  rebasing in memory
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   152
  rebasing 3:753feb6fd12a "c" (tip)
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   153
  $ hg tglog
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   154
  @  3: 844a7de3e617 'c'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   155
  |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   156
  | o  2: 09c044d2cb43 'd'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   157
  | |
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   158
  | o  1: fc055c3b4d33 'b'
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   159
  |/
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   160
  o  0: b173517d0057 'a'
39168
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   161
  
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   162
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   163
Test reporting of path conflicts
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   164
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   165
  $ hg rm a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   166
  $ mkdir a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   167
  $ touch a/a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   168
  $ hg ci -Am "a/a"
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   169
  adding a/a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   170
  $ hg tglog
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   171
  @  4: daf7dfc139cb 'a/a'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   172
  |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   173
  o  3: 844a7de3e617 'c'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   174
  |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   175
  | o  2: 09c044d2cb43 'd'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   176
  | |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   177
  | o  1: fc055c3b4d33 'b'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   178
  |/
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   179
  o  0: b173517d0057 'a'
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   180
  
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   181
  $ hg rebase -r . -d 2
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39167
diff changeset
   182
  rebasing 4:daf7dfc139cb "a/a" (tip)
40459
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40456
diff changeset
   183
  saved backup bundle to $TESTTMP/repo2/.hg/strip-backup/daf7dfc139cb-fdbfcf4f-rebase.hg
39167
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39164
diff changeset
   184
39591
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   185
  $ hg tglog
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   186
  @  4: c6ad37a4f250 'a/a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   187
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   188
  | o  3: 844a7de3e617 'c'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   189
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   190
  o |  2: 09c044d2cb43 'd'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   191
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   192
  o |  1: fc055c3b4d33 'b'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   193
  |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   194
  o  0: b173517d0057 'a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   195
  
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   196
  $ echo foo > foo
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   197
  $ hg ci -Aqm "added foo"
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   198
  $ hg up '.^'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   199
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   200
  $ echo bar > bar
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   201
  $ hg ci -Aqm "added bar"
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   202
  $ hg rm a/a
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   203
  $ echo a > a
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   204
  $ hg ci -Aqm "added a back!"
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   205
  $ hg tglog
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   206
  @  7: 855e9797387e 'added a back!'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   207
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   208
  o  6: d14530e5e3e6 'added bar'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   209
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   210
  | o  5: 9b94b9373deb 'added foo'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   211
  |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   212
  o  4: c6ad37a4f250 'a/a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   213
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   214
  | o  3: 844a7de3e617 'c'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   215
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   216
  o |  2: 09c044d2cb43 'd'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   217
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   218
  o |  1: fc055c3b4d33 'b'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   219
  |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   220
  o  0: b173517d0057 'a'
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   221
  
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   222
  $ hg rebase -r . -d 5
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   223
  rebasing 7:855e9797387e "added a back!" (tip)
40459
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40456
diff changeset
   224
  saved backup bundle to $TESTTMP/repo2/.hg/strip-backup/855e9797387e-81ee4c5d-rebase.hg
39592
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   225
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   226
  $ hg tglog
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   227
  @  7: bb3f02be2688 'added a back!'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   228
  |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   229
  | o  6: d14530e5e3e6 'added bar'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   230
  | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   231
  o |  5: 9b94b9373deb 'added foo'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   232
  |/
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   233
  o  4: c6ad37a4f250 'a/a'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   234
  |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   235
  | o  3: 844a7de3e617 'c'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   236
  | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   237
  o |  2: 09c044d2cb43 'd'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   238
  | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   239
  o |  1: fc055c3b4d33 'b'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   240
  |/
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   241
  o  0: b173517d0057 'a'
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39591
diff changeset
   242
  
41774
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40848
diff changeset
   243
  $ mkdir -p c/subdir
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40848
diff changeset
   244
  $ echo c > c/subdir/file.txt
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40848
diff changeset
   245
  $ hg add c/subdir/file.txt
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40848
diff changeset
   246
  $ hg ci -m 'c/subdir/file.txt'
40456
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   247
  $ hg rebase -r . -d 3 -n
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   248
  starting dry-run rebase; repository will not be changed
41774
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40848
diff changeset
   249
  rebasing 8:e147e6e3c490 "c/subdir/file.txt" (tip)
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40848
diff changeset
   250
  abort: error: 'c/subdir/file.txt' conflicts with file 'c' in 3.
40456
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   251
  [255]
43636
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   252
FIXME: shouldn't need this, but when we hit path conflicts in dryrun mode, we
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   253
don't clean up rebasestate.
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   254
  $ hg rebase --abort
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   255
  rebase aborted
40456
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   256
  $ hg rebase -r 3 -d . -n
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   257
  starting dry-run rebase; repository will not be changed
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   258
  rebasing 3:844a7de3e617 "c"
42100
b63b8b7ca5fa messages: replace some instances of "folder" by "directory"
Martin von Zweigbergk <martinvonz@google.com>
parents: 41954
diff changeset
   259
  abort: error: file 'c' cannot be written because  'c/' is a directory in e147e6e3c490 (containing 1 entries: c/subdir/file.txt)
40456
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   260
  [255]
39591
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39172
diff changeset
   261
39167
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39164
diff changeset
   262
  $ cd ..
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39164
diff changeset
   263
40460
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   264
Test path auditing (issue5818)
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   265
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   266
  $ mkdir lib_
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   267
  $ ln -s lib_ lib
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   268
  $ hg init repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   269
  $ cd repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   270
  $ mkdir -p ".$TESTTMP/lib"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   271
  $ touch ".$TESTTMP/lib/a"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   272
  $ hg add ".$TESTTMP/lib/a"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   273
  $ hg ci -m 'a'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   274
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   275
  $ touch ".$TESTTMP/lib/b"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   276
  $ hg add ".$TESTTMP/lib/b"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   277
  $ hg ci -m 'b'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   278
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   279
  $ hg up -q '.^'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   280
  $ touch ".$TESTTMP/lib/c"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   281
  $ hg add ".$TESTTMP/lib/c"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   282
  $ hg ci -m 'c'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   283
  created new head
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   284
  $ hg rebase -s 1 -d .
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   285
  rebasing 1:* "b" (glob)
40461
1c8c54cf9725 rebase: fix path auditing to audit path relative to repo root (issue5818)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40460
diff changeset
   286
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-rebase.hg (glob)
40460
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   287
  $ cd ..
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   288
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   289
Test dry-run rebasing
39167
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39164
diff changeset
   290
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   291
  $ hg init repo3
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   292
  $ cd repo3
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   293
  $ echo a>a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   294
  $ hg ci -Aqma
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   295
  $ echo b>b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   296
  $ hg ci -Aqmb
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   297
  $ echo c>c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   298
  $ hg ci -Aqmc
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   299
  $ echo d>d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   300
  $ hg ci -Aqmd
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   301
  $ echo e>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   302
  $ hg ci -Aqme
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   303
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   304
  $ hg up 1 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   305
  $ echo f>f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   306
  $ hg ci -Amf
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   307
  adding f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   308
  created new head
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   309
  $ echo g>g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   310
  $ hg ci -Aqmg
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   311
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   312
  @  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   313
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   314
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   315
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   316
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   317
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   318
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   319
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   320
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   321
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   322
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   323
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   324
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   325
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   326
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   327
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   328
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   329
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   330
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   331
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   332
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   333
Make sure it throws error while passing --continue or --abort with --dry-run
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   334
  $ hg rebase -s 2 -d 6 -n --continue
43933
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43636
diff changeset
   335
  abort: cannot specify both --continue and --dry-run
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   336
  [255]
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   337
  $ hg rebase -s 2 -d 6 -n --abort
43933
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43636
diff changeset
   338
  abort: cannot specify both --abort and --dry-run
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   339
  [255]
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   340
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   341
Check dryrun gives correct results when there is no conflict in rebasing
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   342
  $ hg rebase -s 2 -d 6 -n
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   343
  starting dry-run rebase; repository will not be changed
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   344
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   345
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   346
  rebasing 4:e860deea161a "e"
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   347
  dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   348
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   349
  $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   350
  $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   351
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   352
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   353
  @  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   354
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   355
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   356
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   357
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   358
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   359
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   360
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   361
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   362
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   363
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   364
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   365
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   366
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   367
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   368
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   369
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   370
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   371
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   372
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   373
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   374
Check dryrun working with --collapse when there is no conflict
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   375
  $ hg rebase -s 2 -d 6 -n --collapse
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   376
  starting dry-run rebase; repository will not be changed
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   377
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   378
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   379
  rebasing 4:e860deea161a "e"
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   380
  dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   381
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   382
Check dryrun gives correct results when there is conflict in rebasing
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   383
Make a conflict:
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   384
  $ hg up 6 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   385
  $ echo conflict>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   386
  $ hg ci -Aqm "conflict with e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   387
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   388
  @  7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   389
  |  conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   390
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   391
  o  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   392
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   393
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   394
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   395
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   396
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   397
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   398
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   399
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   400
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   401
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   402
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   403
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   404
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   405
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   406
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   407
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   408
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   409
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   410
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   411
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   412
  $ hg rebase -s 2 -d 7 -n
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   413
  starting dry-run rebase; repository will not be changed
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   414
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   415
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   416
  rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   417
  merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   418
  transaction abort!
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   419
  rollback completed
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   420
  hit a merge conflict
38448
e6b643ccf87d rebase: make dry-run return 1 or 0 according to result
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38378
diff changeset
   421
  [1]
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   422
  $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   423
  $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   424
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   425
  @  7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   426
  |  conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   427
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   428
  o  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   429
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   430
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   431
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   432
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   433
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   434
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   435
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   436
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   437
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   438
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   439
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   440
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   441
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   442
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   443
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   444
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   445
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   446
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   447
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   448
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   449
Check dryrun working with --collapse when there is conflicts
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   450
  $ hg rebase -s 2 -d 7 -n --collapse
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   451
  starting dry-run rebase; repository will not be changed
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   452
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   453
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   454
  rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   455
  merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   456
  hit a merge conflict
38448
e6b643ccf87d rebase: make dry-run return 1 or 0 according to result
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38378
diff changeset
   457
  [1]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   458
39171
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   459
In-memory rebase that fails due to merge conflicts
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   460
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   461
  $ hg rebase -s 2 -d 7
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   462
  rebasing 2:177f92b77385 "c"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   463
  rebasing 3:055a42cdd887 "d"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   464
  rebasing 4:e860deea161a "e"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   465
  merging e
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   466
  transaction abort!
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   467
  rollback completed
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   468
  hit merge conflicts; re-running rebase without in-memory merge
39172
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   469
  rebasing 2:177f92b77385 "c"
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   470
  rebasing 3:055a42cdd887 "d"
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   471
  rebasing 4:e860deea161a "e"
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   472
  merging e
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   473
  warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45091
diff changeset
   474
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
39172
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   475
  [1]
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   476
  $ hg rebase --abort
40459
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40456
diff changeset
   477
  saved backup bundle to $TESTTMP/repo3/.hg/strip-backup/c1e524d4287c-f91f82e1-backup.hg
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   478
  rebase aborted
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   479
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   480
Retrying without in-memory merge won't lose working copy changes
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   481
  $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   482
  $ hg clone repo3 repo3-dirty -q
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   483
  $ cd repo3-dirty
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   484
  $ echo dirty > a
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   485
  $ hg rebase -s 2 -d 7
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   486
  rebasing 2:177f92b77385 "c"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   487
  rebasing 3:055a42cdd887 "d"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   488
  rebasing 4:e860deea161a "e"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   489
  merging e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   490
  transaction abort!
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   491
  rollback completed
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   492
  hit merge conflicts; re-running rebase without in-memory merge
40452
f07d4f94f098 rebase: preserve working copy when redoing in-mem rebase on disk
Martin von Zweigbergk <martinvonz@google.com>
parents: 40451
diff changeset
   493
  abort: uncommitted changes
f07d4f94f098 rebase: preserve working copy when redoing in-mem rebase on disk
Martin von Zweigbergk <martinvonz@google.com>
parents: 40451
diff changeset
   494
  [255]
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   495
  $ cat a
40452
f07d4f94f098 rebase: preserve working copy when redoing in-mem rebase on disk
Martin von Zweigbergk <martinvonz@google.com>
parents: 40451
diff changeset
   496
  dirty
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   497
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   498
Retrying without in-memory merge won't lose merge state
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   499
  $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   500
  $ hg clone repo3 repo3-merge-state -q
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   501
  $ cd repo3-merge-state
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   502
  $ hg merge 4
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   503
  merging e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   504
  warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   505
  2 files updated, 0 files merged, 0 files removed, 1 files unresolved
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   506
  use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   507
  [1]
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   508
  $ hg resolve -l
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   509
  U e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   510
  $ hg rebase -s 2 -d 7
43636
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   511
  abort: outstanding uncommitted merge
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   512
  (use 'hg commit' or 'hg merge --abort')
40453
6f679f25fd4d rebase: abort in-mem rebase if there's a dirty merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 40452
diff changeset
   513
  [255]
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   514
  $ hg resolve -l
40453
6f679f25fd4d rebase: abort in-mem rebase if there's a dirty merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 40452
diff changeset
   515
  U e
39171
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   516
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   517
==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   518
Test for --confirm option|
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   519
==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   520
  $ cd ..
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   521
  $ hg clone repo3 repo4 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   522
  $ cd repo4
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   523
  $ hg strip 7 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   524
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   525
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   526
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   527
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   528
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   529
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   530
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   531
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   532
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   533
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   534
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   535
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   536
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   537
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   538
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   539
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   540
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   541
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   542
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   543
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   544
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   545
  
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   546
Check it gives error when both --dryrun and --confirm is used:
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   547
  $ hg rebase -s 2 -d . --confirm --dry-run
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   548
  abort: cannot specify both --confirm and --dry-run
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   549
  [255]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   550
  $ hg rebase -s 2 -d . --confirm --abort
43933
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43636
diff changeset
   551
  abort: cannot specify both --abort and --confirm
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   552
  [255]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   553
  $ hg rebase -s 2 -d . --confirm --continue
43933
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43636
diff changeset
   554
  abort: cannot specify both --continue and --confirm
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   555
  [255]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   556
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   557
Test --confirm option when there are no conflicts:
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   558
  $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   559
  > n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   560
  > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
   561
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   562
  rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   563
  rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   564
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   565
  rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   566
  apply changes (yn)? n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   567
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   568
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   569
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   570
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   571
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   572
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   573
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   574
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   575
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   576
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   577
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   578
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   579
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   580
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   581
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   582
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   583
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   584
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   585
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   586
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   587
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   588
  
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   589
  $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   590
  > y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   591
  > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
   592
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   593
  rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   594
  rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   595
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   596
  rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   597
  apply changes (yn)? y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   598
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   599
  o  9:9fd28f55f6dc test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   600
  |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   601
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   602
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   603
  |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   604
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   605
  o  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   606
  |  c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   607
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   608
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   609
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   610
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   611
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   612
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   613
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   614
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   615
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   616
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   617
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   618
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   619
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   620
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   621
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   622
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   623
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   624
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   625
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   626
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   627
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   628
  
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   629
Test --confirm option when there is a conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   630
  $ hg up tip -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   631
  $ echo ee>e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   632
  $ hg ci --amend -m "conflict with e" -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   633
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   634
  @  9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   635
  |  conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   636
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   637
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   638
  |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   639
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   640
  o  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   641
  |  c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   642
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   643
  o  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   644
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   645
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   646
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   647
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   648
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   649
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   650
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   651
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   652
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   653
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   654
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   655
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   656
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   657
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   658
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   659
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   660
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   661
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   662
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   663
  
38679
b3d0c97a0820 rebase: in --confirm option just abort if hit a conflict
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38675
diff changeset
   664
  $ hg rebase -s 4 -d . --keep --confirm
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
   665
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   666
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   667
  merging e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   668
  hit a merge conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   669
  [1]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   670
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   671
  @  9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   672
  |  conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   673
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   674
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   675
  |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   676
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   677
  o  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   678
  |  c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   679
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   680
  o  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   681
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   682
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   683
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   684
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   685
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   686
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   687
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   688
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   689
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   690
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   691
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   692
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   693
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   694
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   695
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   696
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   697
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   698
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   699
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   700
  
39164
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   701
Test a metadata-only in-memory merge
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   702
  $ cd $TESTTMP
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   703
  $ hg init no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   704
  $ cd no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   705
# Produce the following graph:
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   706
#   o  'add +x to foo.txt'
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   707
#   | o  r1  (adds bar.txt, just for something to rebase to)
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   708
#   |/
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   709
#   o  r0   (adds foo.txt, no +x)
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   710
  $ echo hi > foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   711
  $ hg ci -qAm r0
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   712
  $ echo hi > bar.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   713
  $ hg ci -qAm r1
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   714
  $ hg co -qr ".^"
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   715
  $ chmod +x foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   716
  $ hg ci -qAm 'add +x to foo.txt'
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   717
issue5960: this was raising an AttributeError exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   718
  $ hg rebase -r . -d 1
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   719
  rebasing 2:539b93e77479 "add +x to foo.txt" (tip)
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   720
  saved backup bundle to $TESTTMP/no_exception/.hg/strip-backup/*.hg (glob)
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   721
  $ hg diff -c tip
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   722
  diff --git a/foo.txt b/foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   723
  old mode 100644
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   724
  new mode 100755
41953
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   725
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   726
Test rebasing a commit with copy information, but no content changes
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   727
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   728
  $ cd ..
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   729
  $ hg clone -q repo1 merge-and-rename
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   730
  $ cd merge-and-rename
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   731
  $ cat << EOF >> .hg/hgrc
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   732
  > [experimental]
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   733
  > evolution.createmarkers=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   734
  > evolution.allowunstable=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   735
  > EOF
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   736
  $ hg co -q 1
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   737
  $ hg mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   738
  $ hg ci -qm 'rename d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   739
  $ hg co -q 3
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   740
  $ hg merge -q 4
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   741
  $ hg ci -m 'merge'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   742
  $ hg co -q 2
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   743
  $ mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   744
  $ hg addremove -qs 0
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   745
  $ hg ci -qm 'untracked rename of d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   746
  $ hg debugobsolete -q `hg log -T '{node}' -r 4` `hg log -T '{node}' -r .`
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   747
  1 new orphan changesets
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   748
  $ hg tglog
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   749
  @  6: 676538af172d 'untracked rename of d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   750
  |
42621
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42535
diff changeset
   751
  | *    5: 574d92ad16fc 'merge'
41953
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   752
  | |\
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   753
  | | x  4: 2c8b5dad7956 'rename d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   754
  | | |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   755
  | o |  3: ca58782ad1e4 'b'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   756
  |/ /
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   757
  o /  2: 814f6bd05178 'c'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   758
  |/
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   759
  o  1: 02952614a83d 'd'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   760
  |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   761
  o  0: b173517d0057 'a'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   762
  
41954
e1ceefab9bca rebase: fix crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41953
diff changeset
   763
  $ hg rebase -b 5 -d tip
e1ceefab9bca rebase: fix crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41953
diff changeset
   764
  rebasing 3:ca58782ad1e4 "b"
42621
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42535
diff changeset
   765
  rebasing 5:574d92ad16fc "merge"
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42535
diff changeset
   766
  note: not rebasing 5:574d92ad16fc "merge", its destination already has all its changes
42155
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   767
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   768
  $ cd ..
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   769
42314
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   770
Test rebasing a commit with copy information
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   771
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   772
  $ hg init rebase-rename
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   773
  $ cd rebase-rename
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   774
  $ echo a > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   775
  $ hg ci -Aqm 'add a'
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   776
  $ echo a2 > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   777
  $ hg ci -m 'modify a'
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   778
  $ hg co -q 0
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   779
  $ hg mv a b
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   780
  $ hg ci -qm 'rename a to b'
42315
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   781
  $ hg rebase -d 1
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   782
  rebasing 2:b977edf6f839 "rename a to b" (tip)
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   783
  merging a and b to b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   784
  saved backup bundle to $TESTTMP/rebase-rename/.hg/strip-backup/b977edf6f839-0864f570-rebase.hg
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   785
  $ hg st --copies --change .
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   786
  A b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   787
    a
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   788
  R a
42314
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   789
  $ cd ..
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   790
42534
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   791
Test rebasing a commit with copy information, where the target is empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   792
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   793
  $ hg init rebase-rename-empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   794
  $ cd rebase-rename-empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   795
  $ echo a > a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   796
  $ hg ci -Aqm 'add a'
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   797
  $ cat > a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   798
  $ hg ci -m 'make a empty'
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   799
  $ hg co -q 0
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   800
  $ hg mv a b
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   801
  $ hg ci -qm 'rename a to b'
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   802
  $ hg rebase -d 1
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   803
  rebasing 2:b977edf6f839 "rename a to b" (tip)
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   804
  merging a and b to b
42535
e079e001d536 rebase: fix in-memory rebasing of copy of empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42534
diff changeset
   805
  saved backup bundle to $TESTTMP/rebase-rename-empty/.hg/strip-backup/b977edf6f839-0864f570-rebase.hg
42534
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   806
  $ hg st --copies --change .
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   807
  A b
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   808
    a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   809
  R a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   810
  $ cd ..
42344
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   811
Rebase across a copy with --collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   812
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   813
  $ hg init rebase-rename-collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   814
  $ cd rebase-rename-collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   815
  $ echo a > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   816
  $ hg ci -Aqm 'add a'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   817
  $ hg mv a b
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   818
  $ hg ci -m 'rename a to b'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   819
  $ hg co -q 0
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   820
  $ echo a2 > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   821
  $ hg ci -qm 'modify a'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   822
  $ hg rebase -r . -d 1 --collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   823
  rebasing 2:41c4ea50d4cf "modify a" (tip)
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   824
  merging b and a to b
42345
313812cbf4ca copies: fix duplicatecopies() with overlay context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42344
diff changeset
   825
  saved backup bundle to $TESTTMP/rebase-rename-collapse/.hg/strip-backup/41c4ea50d4cf-b90b7994-rebase.hg
42344
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   826
  $ cd ..
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   827
42155
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   828
Test rebasing when the file we are merging in destination is empty
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   829
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   830
  $ hg init test
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   831
  $ cd test
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   832
  $ echo a > foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   833
  $ hg ci -Aqm 'added a to foo'
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   834
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   835
  $ rm foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   836
  $ touch foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   837
  $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   838
  diff --git a/foo b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   839
  --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   840
  +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   841
  @@ -1,1 +0,0 @@
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   842
  -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   843
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   844
  $ hg ci -m "make foo an empty file"
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   845
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   846
  $ hg up '.^'
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   847
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   848
  $ echo b > foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   849
  $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   850
  diff --git a/foo b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   851
  --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   852
  +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   853
  @@ -1,1 +1,1 @@
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   854
  -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   855
  +b
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   856
  $ hg ci -m "add b to foo"
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   857
  created new head
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   858
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   859
  $ hg rebase -r . -d 1 --config ui.merge=internal:merge3
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   860
  rebasing 2:fb62b706688e "add b to foo" (tip)
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   861
  merging foo
42156
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   862
  hit merge conflicts; re-running rebase without in-memory merge
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   863
  rebasing 2:fb62b706688e "add b to foo" (tip)
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   864
  merging foo
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   865
  warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45091
diff changeset
   866
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
42156
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   867
  [1]
43636
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   868
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   869
  $ cd $TESTTMP
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   870
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   871
Test rebasing when we're in the middle of a rebase already
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   872
  $ hg init test_issue6214
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   873
  $ cd test_issue6214
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   874
  $ echo r0 > r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   875
  $ hg ci -qAm 'r0'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   876
  $ echo hi > foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   877
  $ hg ci -qAm 'hi from foo'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   878
  $ hg co -q '.^'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   879
  $ echo bye > foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   880
  $ hg ci -qAm 'bye from foo'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   881
  $ hg co -q '.^'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   882
  $ echo unrelated > some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   883
  $ hg ci -qAm 'some unrelated changes'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   884
  $ hg log -G -T'{rev}: {desc}\n{files%"{file}\n"}'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   885
  @  3: some unrelated changes
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   886
  |  some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   887
  | o  2: bye from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   888
  |/   foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   889
  | o  1: hi from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   890
  |/   foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   891
  o  0: r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   892
     r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   893
  $ hg rebase -r 2 -d 1 -t:merge3
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   894
  rebasing 2:b4d249fbf8dd "bye from foo"
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   895
  merging foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   896
  hit merge conflicts; re-running rebase without in-memory merge
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   897
  rebasing 2:b4d249fbf8dd "bye from foo"
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   898
  merging foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   899
  warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45091
diff changeset
   900
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
43636
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   901
  [1]
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   902
  $ hg rebase -r 3 -d 1 -t:merge3
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   903
  abort: rebase in progress
45248
a253ded5b03d morestatus: mention --stop even if not using --verbose
Kyle Lippincott <spectral@google.com>
parents: 45150
diff changeset
   904
  (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
43636
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   905
  [255]
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   906
  $ hg resolve --list
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   907
  U foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   908
  $ hg resolve --all --re-merge -t:other
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   909
  (no more unresolved files)
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   910
  continue: hg rebase --continue
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   911
  $ hg rebase --continue
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   912
  rebasing 2:b4d249fbf8dd "bye from foo"
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   913
  saved backup bundle to $TESTTMP/test_issue6214/.hg/strip-backup/b4d249fbf8dd-299ec25c-rebase.hg
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   914
  $ hg log -G -T'{rev}: {desc}\n{files%"{file}\n"}'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   915
  o  3: bye from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   916
  |  foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   917
  | @  2: some unrelated changes
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   918
  | |  some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   919
  o |  1: hi from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   920
  |/   foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   921
  o  0: r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42820
diff changeset
   922
     r0
45087
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   923
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   924
  $ cd ..
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   925
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   926
Changesets that become empty should not be committed. Merges are not empty by
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   927
definition.
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   928
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   929
  $ hg init keep_merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   930
  $ cd keep_merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   931
  $ echo base > base; hg add base; hg ci -m base
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   932
  $ echo test > test; hg add test; hg ci -m a
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   933
  $ hg up 0 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   934
  $ echo test > test; hg add test; hg ci -m b -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   935
  $ hg up 0 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   936
  $ echo test > test; hg add test; hg ci -m c -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   937
  $ hg up 1 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   938
  $ hg merge 2 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   939
  $ hg ci -m merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   940
  $ hg up null -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   941
  $ hg tglog
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   942
  o    4: 59c8292117b1 'merge'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   943
  |\
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   944
  | | o  3: 531f80391e4a 'c'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   945
  | | |
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   946
  | o |  2: 0194f1db184a 'b'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   947
  | |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   948
  o /  1: 6f252845ea45 'a'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   949
  |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   950
  o  0: d20a80d4def3 'base'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   951
  
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   952
  $ hg rebase -s 2 -d 3
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   953
  rebasing 2:0194f1db184a "b"
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   954
  note: not rebasing 2:0194f1db184a "b", its destination already has all its changes
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   955
  rebasing 4:59c8292117b1 "merge" (tip)
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   956
  saved backup bundle to $TESTTMP/keep_merge/.hg/strip-backup/0194f1db184a-aee31d03-rebase.hg
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   957
  $ hg tglog
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   958
  o    3: 506e2454484b 'merge'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   959
  |\
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   960
  | o  2: 531f80391e4a 'c'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   961
  | |
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   962
  o |  1: 6f252845ea45 'a'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   963
  |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   964
  o  0: d20a80d4def3 'base'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43933
diff changeset
   965
  
45200
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   966
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   967
  $ cd ..
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   968
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   969
Test (virtual) working directory without changes, created by merge conflict
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   970
resolution. There was a regression where the file was incorrectly detected as
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   971
changed although the file contents were the same as in the parent.
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   972
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   973
  $ hg init nofilechanges
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   974
  $ cd nofilechanges
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   975
  $ echo a > a; hg add a; hg ci -m a
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   976
  $ echo foo > test; hg add test; hg ci -m b
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   977
  $ hg up 0 -q
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   978
  $ echo bar > test; hg add test; hg ci -m c
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   979
  created new head
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   980
  $ hg rebase -d 2 -d 1 --tool :local
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   981
  rebasing 2:ca2749322ee5 "c" (tip)
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   982
  note: not rebasing 2:ca2749322ee5 "c" (tip), its destination already has all its changes
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   983
  saved backup bundle to $TESTTMP/nofilechanges/.hg/strip-backup/ca2749322ee5-6dc7e94b-rebase.hg