tests/test-rebase-inmemory.t
author Yuya Nishihara <yuya@tcha.org>
Sun, 27 Oct 2019 12:49:09 +0900
branchstable
changeset 43337 7e20b705da5b
parent 42820 7b80ad5af239
child 43636 b56c6647f65e
permissions -rw-r--r--
formatter: fix handling of None value in templater mapping For historical reasons, None in mapping dict means there's no such keyword, and falls back to b"". That's fine in log templates where mapping item is generally a callable returning a value (which may be None,) but the formatter directly puts an "evaluated" value in the mapping. So the None value has to be lifted to wrappedvalue(None) to avoid confusion in the template engine.
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
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
    44
  rebasing in-memory
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
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   104
  rebasing in-memory
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
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   120
  rebasing in-memory
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
36981
795eb53f1d3e rebase: allow in-memory merge of the working copy parent
Martin von Zweigbergk <martinvonz@google.com>
parents: 35396
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]
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40455
diff changeset
   252
  $ 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
   253
  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
   254
  rebasing 3:844a7de3e617 "c"
42100
b63b8b7ca5fa messages: replace some instances of "folder" by "directory"
Martin von Zweigbergk <martinvonz@google.com>
parents: 41954
diff changeset
   255
  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
   256
  [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
   257
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
   258
  $ 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
   259
40460
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   260
Test path auditing (issue5818)
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   261
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   262
  $ mkdir lib_
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   263
  $ ln -s lib_ lib
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   264
  $ hg init repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   265
  $ cd repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   266
  $ mkdir -p ".$TESTTMP/lib"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   267
  $ touch ".$TESTTMP/lib/a"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   268
  $ 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
   269
  $ hg ci -m 'a'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   270
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   271
  $ touch ".$TESTTMP/lib/b"
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/b"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   273
  $ hg ci -m 'b'
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
  $ hg up -q '.^'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   276
  $ touch ".$TESTTMP/lib/c"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   277
  $ 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
   278
  $ hg ci -m 'c'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   279
  created new head
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   280
  $ 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
   281
  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
   282
  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
   283
  $ cd ..
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40459
diff changeset
   284
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   285
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
   286
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   287
  $ hg init repo3
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   288
  $ cd repo3
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   289
  $ echo a>a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   290
  $ hg ci -Aqma
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   291
  $ echo b>b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   292
  $ hg ci -Aqmb
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   293
  $ echo c>c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   294
  $ hg ci -Aqmc
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   295
  $ echo d>d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   296
  $ hg ci -Aqmd
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   297
  $ echo e>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   298
  $ hg ci -Aqme
35393
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   299
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   300
  $ hg up 1 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   301
  $ echo f>f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   302
  $ hg ci -Amf
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   303
  adding f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   304
  created new head
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   305
  $ echo g>g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   306
  $ hg ci -Aqmg
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   307
  $ 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
   308
  @  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   309
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   310
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   311
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   312
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   313
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   314
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   315
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   316
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   317
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   318
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   319
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   320
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   321
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   322
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   323
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   324
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   325
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   326
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   327
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   328
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   329
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
   330
  $ hg rebase -s 2 -d 6 -n --continue
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   331
  abort: cannot specify both --dry-run and --continue
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   332
  [255]
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   333
  $ hg rebase -s 2 -d 6 -n --abort
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   334
  abort: cannot specify both --dry-run and --abort
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   335
  [255]
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   336
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   337
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
   338
  $ hg rebase -s 2 -d 6 -n
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   339
  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
   340
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   341
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   342
  rebasing 4:e860deea161a "e"
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   343
  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
   344
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   345
  $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   346
  $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   347
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   348
  $ 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
   349
  @  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   350
  |  g
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
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   353
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   354
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   355
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   356
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   357
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   358
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   359
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   360
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   361
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   362
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   363
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   364
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   365
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   366
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   367
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   368
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   369
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   370
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
   371
  $ 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
   372
  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
   373
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   374
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   375
  rebasing 4:e860deea161a "e"
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   376
  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
   377
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   378
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
   379
Make a conflict:
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   380
  $ hg up 6 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   381
  $ echo conflict>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   382
  $ hg ci -Aqm "conflict with e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   383
  $ 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
   384
  @  7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   385
  |  conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   386
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   387
  o  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   388
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   389
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   390
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   391
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   392
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   393
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   394
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   395
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   396
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   397
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   398
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   399
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   400
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   401
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   402
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   403
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   404
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   405
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   406
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   407
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   408
  $ hg rebase -s 2 -d 7 -n
38547
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38503
diff changeset
   409
  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
   410
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   411
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   412
  rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   413
  merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   414
  transaction abort!
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   415
  rollback completed
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   416
  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
   417
  [1]
38378
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   418
  $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   419
  $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   420
  $ 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
   421
  @  7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   422
  |  conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   423
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   424
  o  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   425
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   426
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   427
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   428
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   429
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   430
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   431
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   432
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   433
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   434
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   435
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   436
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   437
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   438
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   439
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   440
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   441
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   442
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   443
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   444
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   445
Check dryrun working with --collapse when there is conflicts
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   446
  $ 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
   447
  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
   448
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   449
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   450
  rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   451
  merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36981
diff changeset
   452
  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
   453
  [1]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   454
39171
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   455
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
   456
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   457
  $ hg rebase -s 2 -d 7
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   458
  rebasing 2:177f92b77385 "c"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   459
  rebasing 3:055a42cdd887 "d"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   460
  rebasing 4:e860deea161a "e"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   461
  merging e
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   462
  transaction abort!
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   463
  rollback completed
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   464
  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
   465
  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
   466
  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
   467
  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
   468
  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
   469
  warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   470
  unresolved conflicts (see hg resolve, then hg rebase --continue)
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39171
diff changeset
   471
  [1]
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   472
  $ 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
   473
  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
   474
  rebase aborted
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   475
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   476
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
   477
  $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   478
  $ 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
   479
  $ cd repo3-dirty
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   480
  $ echo dirty > a
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   481
  $ 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
   482
  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
   483
  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
   484
  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
   485
  merging e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   486
  transaction abort!
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   487
  rollback completed
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   488
  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
   489
  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
   490
  [255]
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   491
  $ 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
   492
  dirty
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   493
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   494
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
   495
  $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   496
  $ 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
   497
  $ 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
   498
  $ hg merge 4
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   499
  merging e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   500
  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
   501
  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
   502
  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
   503
  [1]
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   504
  $ hg resolve -l
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   505
  U e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   506
  $ 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
   507
  rebasing 2:177f92b77385 "c"
40453
6f679f25fd4d rebase: abort in-mem rebase if there's a dirty merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 40452
diff changeset
   508
  abort: outstanding merge conflicts
42820
7b80ad5af239 merge: hint about using `hg resolve` for resolving conflicts
Martin von Zweigbergk <martinvonz@google.com>
parents: 42621
diff changeset
   509
  (use 'hg resolve' to resolve)
40453
6f679f25fd4d rebase: abort in-mem rebase if there's a dirty merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 40452
diff changeset
   510
  [255]
40451
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39592
diff changeset
   511
  $ 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
   512
  U e
39171
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39169
diff changeset
   513
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   514
==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   515
Test for --confirm option|
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   516
==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   517
  $ cd ..
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   518
  $ hg clone repo3 repo4 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   519
  $ cd repo4
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   520
  $ hg strip 7 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   521
  $ 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
   522
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   523
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   524
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   525
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   526
  |  f
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  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   529
  | |  e
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  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   532
  | |  d
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  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   535
  |/   c
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  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   538
  |  b
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  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   541
     a
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
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
   544
  $ hg rebase -s 2 -d . --confirm --dry-run
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   545
  abort: cannot specify both --confirm and --dry-run
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   546
  [255]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   547
  $ hg rebase -s 2 -d . --confirm --abort
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   548
  abort: cannot specify both --confirm and --abort
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 --continue
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   551
  abort: cannot specify both --confirm and --continue
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
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   554
Test --confirm option when there are no conflicts:
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   555
  $ 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
   556
  > n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   557
  > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
   558
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   559
  rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   560
  rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   561
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   562
  rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   563
  apply changes (yn)? n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   564
  $ 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
   565
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   566
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   567
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   568
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   569
  |  f
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  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   572
  | |  e
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  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   575
  | |  d
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  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   578
  |/   c
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  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   581
  |  b
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  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   584
     a
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
  $ 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
   587
  > y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   588
  > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
   589
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   590
  rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   591
  rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   592
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   593
  rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   594
  apply changes (yn)? y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   595
  $ 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
   596
  o  9:9fd28f55f6dc test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   597
  |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   598
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   599
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   600
  |  d
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  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   603
  |  c
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
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   606
  |  g
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
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   609
  |  f
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  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   612
  | |  e
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  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   615
  | |  d
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  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   618
  |/   c
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  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   621
  |  b
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  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   624
     a
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
Test --confirm option when there is a conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   627
  $ hg up tip -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   628
  $ echo ee>e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   629
  $ hg ci --amend -m "conflict with e" -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   630
  $ 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
   631
  @  9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   632
  |  conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   633
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   634
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   635
  |  d
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  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   638
  |  c
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  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   641
  |  g
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  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   644
  |  f
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  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   647
  | |  e
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  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   650
  | |  d
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  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   653
  |/   c
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  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   656
  |  b
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  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   659
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   660
  
38679
b3d0c97a0820 rebase: in --confirm option just abort if hit a conflict
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38675
diff changeset
   661
  $ 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
   662
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   663
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   664
  merging e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   665
  hit a merge conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   666
  [1]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   667
  $ 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
   668
  @  9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   669
  |  conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   670
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   671
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   672
  |  d
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  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   675
  |  c
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  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   678
  |  g
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  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   681
  |  f
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  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   684
  | |  e
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  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   687
  | |  d
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  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   690
  |/   c
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  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   693
  |  b
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  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   696
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38547
diff changeset
   697
  
39164
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   698
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
   699
  $ cd $TESTTMP
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   700
  $ hg init no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   701
  $ cd no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   702
# Produce the following graph:
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   703
#   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
   704
#   | 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
   705
#   |/
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   706
#   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
   707
  $ echo hi > foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   708
  $ hg ci -qAm r0
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   709
  $ echo hi > bar.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   710
  $ hg ci -qAm r1
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   711
  $ hg co -qr ".^"
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   712
  $ chmod +x foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   713
  $ 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
   714
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
   715
  $ hg rebase -r . -d 1
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   716
  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
   717
  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
   718
  $ hg diff -c tip
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   719
  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
   720
  old mode 100644
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   721
  new mode 100755
41953
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   722
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   723
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
   724
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   725
  $ cd ..
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   726
  $ 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
   727
  $ cd merge-and-rename
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   728
  $ cat << EOF >> .hg/hgrc
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   729
  > [experimental]
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   730
  > evolution.createmarkers=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   731
  > evolution.allowunstable=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   732
  > EOF
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   733
  $ hg co -q 1
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   734
  $ hg mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   735
  $ 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
   736
  $ hg co -q 3
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   737
  $ hg merge -q 4
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   738
  $ hg ci -m 'merge'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   739
  $ hg co -q 2
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   740
  $ mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   741
  $ hg addremove -qs 0
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   742
  $ 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
   743
  $ 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
   744
  1 new orphan changesets
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   745
  $ hg tglog
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   746
  @  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
   747
  |
42621
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42535
diff changeset
   748
  | *    5: 574d92ad16fc 'merge'
41953
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   749
  | |\
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   750
  | | 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
   751
  | | |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   752
  | o |  3: ca58782ad1e4 'b'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   753
  |/ /
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   754
  o /  2: 814f6bd05178 'c'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   755
  |/
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   756
  o  1: 02952614a83d 'd'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   757
  |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   758
  o  0: b173517d0057 'a'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41774
diff changeset
   759
  
41954
e1ceefab9bca rebase: fix crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41953
diff changeset
   760
  $ 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
   761
  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
   762
  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
   763
  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
   764
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   765
  $ cd ..
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   766
42314
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   767
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
   768
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   769
  $ 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
   770
  $ cd rebase-rename
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   771
  $ echo a > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   772
  $ 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
   773
  $ echo a2 > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   774
  $ 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
   775
  $ 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
   776
  $ 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
   777
  $ 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
   778
  $ hg rebase -d 1
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   779
  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
   780
  merging a and b to b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   781
  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
   782
  $ hg st --copies --change .
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   783
  A b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   784
    a
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42314
diff changeset
   785
  R a
42314
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   786
  $ cd ..
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42156
diff changeset
   787
42534
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   788
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
   789
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   790
  $ 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
   791
  $ 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
   792
  $ 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
   793
  $ 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
   794
  $ cat > a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   795
  $ 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
   796
  $ 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
   797
  $ 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
   798
  $ 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
   799
  $ 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
   800
  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
   801
  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
   802
  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
   803
  $ 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
   804
  A b
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   805
    a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   806
  R a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42345
diff changeset
   807
  $ cd ..
42344
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   808
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
   809
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   810
  $ 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
   811
  $ cd rebase-rename-collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   812
  $ echo a > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   813
  $ 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
   814
  $ hg mv a b
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   815
  $ 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
   816
  $ hg co -q 0
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   817
  $ echo a2 > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   818
  $ 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
   819
  $ 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
   820
  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
   821
  merging b and a to b
42345
313812cbf4ca copies: fix duplicatecopies() with overlay context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42344
diff changeset
   822
  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
   823
  $ cd ..
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42315
diff changeset
   824
42155
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   825
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
   826
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   827
  $ 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
   828
  $ cd test
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   829
  $ 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
   830
  $ 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
   831
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   832
  $ rm foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   833
  $ touch foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   834
  $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   835
  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
   836
  --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   837
  +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   838
  @@ -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
   839
  -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   840
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   841
  $ 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
   842
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   843
  $ hg up '.^'
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   844
  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
   845
  $ 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
   846
  $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   847
  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
   848
  --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   849
  +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   850
  @@ -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
   851
  -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   852
  +b
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   853
  $ 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
   854
  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
   855
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   856
  $ 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
   857
  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
   858
  merging foo
42156
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   859
  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
   860
  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
   861
  merging foo
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   862
  warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   863
  unresolved conflicts (see hg resolve, then hg rebase --continue)
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42155
diff changeset
   864
  [1]