tests/test-rebase-inmemory.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 08 Oct 2021 12:57:24 +0200
changeset 48189 6e01bcd111d2
parent 47787 48da5c325750
child 49059 80579e597439
permissions -rw-r--r--
dirstate-v2: Swap the order of size and mtime on disk This makes the dirstate-v2 file format match dirstate-v1 for the order of `mode`, `size`, and `mtime`. This order does not matter as long as these components are handled through named fields/attributes in code, but in a few places we still have tuples so having the same order everywhere might help avoid a bug that might not be obvious since those components have the same type. Differential Revision: https://phab.mercurial-scm.org/D11620
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35384
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
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
     3
  > [phases]
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
     4
  > publish=False
35384
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: 38546
diff changeset
     9
  > strip=
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
    10
  > [rebase]
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
    11
  > experimental.inmemory=1
35384
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)
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
    43
  $ hg rebase --debug -r b -d c | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
    44
  rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
    45
  rebasing 2:db0e82a16a62 b "b"
35384
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)
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
    59
  $ cd ..
35384
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)
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
   103
  $ hg rebase --debug -s b -d a | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
   104
  rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   105
  rebasing 2:db0e82a16a62 b "b"
35384
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)
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
   119
  $ hg rebase --debug -s 1 -d 3 | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
   120
  rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   121
  rebasing 1:02952614a83d d "d"
35384
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
36975
795eb53f1d3e rebase: allow in-memory merge of the working copy parent
Martin von Zweigbergk <martinvonz@google.com>
parents: 35388
diff changeset
   147
Rebase the working copy parent
35384
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
35388
dd11df900f7f rebase: replace --inmemory flag with rebase.experimental.inmemory config
Phil Cohen <phillco@fb.com>
parents: 35384
diff changeset
   150
  $ hg rebase -r 3 -d 0 --debug | grep rebasing
45510
1f5c548f15e5 rebase: fix an inconsistent hyphenation in a debug message
Martin von Zweigbergk <martinvonz@google.com>
parents: 45242
diff changeset
   151
  rebasing in memory
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   152
  rebasing 3:753feb6fd12a tip "c"
35384
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'
39131
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
   161
  
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
   162
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
diff changeset
   164
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
diff changeset
   166
  $ mkdir a
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
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: 39130
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: 39130
diff changeset
   170
  $ hg tglog
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
diff changeset
   172
  |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
diff changeset
   174
  |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
diff changeset
   176
  | |
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
diff changeset
   178
  |/
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
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: 39130
diff changeset
   180
  
02e80e37fbbc tests: demonstrate that IMM needs to be smarter with path conflicts
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39130
diff changeset
   181
  $ hg rebase -r . -d 2
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   182
  rebasing 4:daf7dfc139cb tip "a/a"
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
   183
  saved backup bundle to $TESTTMP/repo2/.hg/strip-backup/daf7dfc139cb-fdbfcf4f-rebase.hg
39130
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
   184
39575
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
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: 39135
diff changeset
   187
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   189
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   191
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   193
  |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   195
  
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
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: 39135
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: 39135
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: 39135
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: 39135
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: 39135
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: 39135
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: 39135
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: 39135
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: 39135
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: 39135
diff changeset
   207
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   209
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   211
  |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   213
  |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   215
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   217
  | |
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   219
  |/
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
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: 39135
diff changeset
   221
  
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
   222
  $ hg rebase -r . -d 5
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   223
  rebasing 7:855e9797387e tip "added a back!"
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
   224
  saved backup bundle to $TESTTMP/repo2/.hg/strip-backup/855e9797387e-81ee4c5d-rebase.hg
39576
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
diff changeset
   225
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
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: 39575
diff changeset
   228
  |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
diff changeset
   230
  | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
diff changeset
   232
  |/
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
diff changeset
   234
  |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
diff changeset
   236
  | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
diff changeset
   238
  | |
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
diff changeset
   240
  |/
fa4d16daf1be context: don't count deleted files as candidates for path conflicts in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39575
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: 39575
diff changeset
   242
  
41765
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
diff changeset
   243
  $ mkdir -p c/subdir
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
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: 40830
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: 40830
diff changeset
   246
  $ hg ci -m 'c/subdir/file.txt'
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
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: 40802
diff changeset
   248
  starting dry-run rebase; repository will not be changed
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   249
  rebasing 8:e147e6e3c490 tip "c/subdir/file.txt"
41765
0b2361c2c493 tests: change the paths slightly in test-rebase-inmemory.t
Kyle Lippincott <spectral@google.com>
parents: 40830
diff changeset
   250
  abort: error: 'c/subdir/file.txt' conflicts with file 'c' in 3.
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
   251
  [255]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   252
FIXME: shouldn't need this, but when we hit path conflicts in dryrun mode, we
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   253
don't clean up rebasestate.
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   254
  $ hg rebase --abort
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   255
  rebase aborted
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
   256
  $ hg rebase -r 3 -d . -n
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
   257
  starting dry-run rebase; repository will not be changed
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
   258
  rebasing 3:844a7de3e617 "c"
42100
b63b8b7ca5fa messages: replace some instances of "folder" by "directory"
Martin von Zweigbergk <martinvonz@google.com>
parents: 41949
diff changeset
   259
  abort: error: file 'c' cannot be written because  'c/' is a directory in e147e6e3c490 (containing 1 entries: c/subdir/file.txt)
40803
44c2e80db985 rebase: fix dir/file conflict detection when using in-mem merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 40802
diff changeset
   260
  [255]
39575
aa022f8873ea rebase: add tests showing patch conflict detection needs to be smarter in IMM
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39135
diff changeset
   261
39130
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
   262
  $ cd ..
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
   263
40815
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   264
Test path auditing (issue5818)
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   265
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   266
  $ mkdir lib_
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   267
  $ ln -s lib_ lib
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   268
  $ hg init repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   269
  $ cd repo
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   270
  $ mkdir -p ".$TESTTMP/lib"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   271
  $ touch ".$TESTTMP/lib/a"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   272
  $ hg add ".$TESTTMP/lib/a"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   273
  $ hg ci -m 'a'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   274
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   275
  $ touch ".$TESTTMP/lib/b"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   276
  $ hg add ".$TESTTMP/lib/b"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   277
  $ hg ci -m 'b'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   278
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   279
  $ hg up -q '.^'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   280
  $ touch ".$TESTTMP/lib/c"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   281
  $ hg add ".$TESTTMP/lib/c"
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   282
  $ hg ci -m 'c'
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   283
  created new head
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   284
  $ hg rebase -s 1 -d .
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   285
  rebasing 1:* "b" (glob)
40816
1c8c54cf9725 rebase: fix path auditing to audit path relative to repo root (issue5818)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40815
diff changeset
   286
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-rebase.hg (glob)
40815
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   287
  $ cd ..
d10b1dc13431 tests: show bad path auditing in in-memory rebase
Martin von Zweigbergk <martinvonz@google.com>
parents: 40814
diff changeset
   288
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   289
Test dry-run rebasing
39130
0600d09764df tests: don't create new repo inside existing repo in test-rebase-inmemory.t
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 39127
diff changeset
   290
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   291
  $ hg init repo3
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   292
  $ cd repo3
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   293
  $ echo a>a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   294
  $ hg ci -Aqma
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   295
  $ echo b>b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   296
  $ hg ci -Aqmb
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   297
  $ echo c>c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   298
  $ hg ci -Aqmc
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   299
  $ echo d>d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   300
  $ hg ci -Aqmd
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   301
  $ echo e>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   302
  $ hg ci -Aqme
35384
b9bdee046cc2 tests: add a simple test for in-memory rebase
Phil Cohen <phillco@fb.com>
parents:
diff changeset
   303
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   304
  $ hg up 1 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   305
  $ echo f>f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   306
  $ hg ci -Amf
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   307
  adding f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   308
  created new head
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   309
  $ echo g>g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   310
  $ hg ci -Aqmg
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   311
  $ hg log -G --template "{rev}:{short(node)} {person(author)}\n{firstline(desc)} {topic}\n\n"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   312
  @  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   313
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   314
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   315
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   316
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   317
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   318
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   319
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   320
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   321
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   322
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   323
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   324
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   325
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   326
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   327
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   328
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   329
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   330
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   331
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   332
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   333
Make sure it throws error while passing --continue or --abort with --dry-run
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   334
  $ hg rebase -s 2 -d 6 -n --continue
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
   335
  abort: cannot specify both --continue and --dry-run
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
   336
  [10]
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   337
  $ hg rebase -s 2 -d 6 -n --abort
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
   338
  abort: cannot specify both --abort and --dry-run
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
   339
  [10]
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   340
46179
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
   341
When nothing to rebase
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
   342
  $ hg reb -r . -d '.^' -n
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
   343
  starting dry-run rebase; repository will not be changed
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
   344
  nothing to rebase
46180
b7ccdb52e0f9 rebase: handle the case when nothing to rebase (dry-run)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46179
diff changeset
   345
  [1]
46179
11f3d4458e3a rebase: add test to demonstrate an issue in dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 46030
diff changeset
   346
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   347
Check dryrun gives correct results when there is no conflict in rebasing
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   348
  $ hg rebase -s 2 -d 6 -n
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
   349
  starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   350
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   351
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   352
  rebasing 4:e860deea161a "e"
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
   353
  dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   354
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   355
  $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   356
  $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   357
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   358
  $ 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: 36975
diff changeset
   359
  @  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   360
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   361
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   362
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   363
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   364
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   365
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   366
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   367
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   368
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   369
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   370
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   371
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   372
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   373
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   374
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   375
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   376
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   377
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   378
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   379
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   380
Check dryrun working with --collapse when there is no conflict
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   381
  $ hg rebase -s 2 -d 6 -n --collapse
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
   382
  starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   383
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   384
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   385
  rebasing 4:e860deea161a "e"
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
   386
  dry-run rebase completed successfully; run without -n/--dry-run to perform this rebase
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   387
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   388
Check dryrun gives correct results when there is conflict in rebasing
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   389
Make a conflict:
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   390
  $ hg up 6 -q
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   391
  $ echo conflict>e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   392
  $ hg ci -Aqm "conflict with e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   393
  $ 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: 36975
diff changeset
   394
  @  7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   395
  |  conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   396
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   397
  o  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   398
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   399
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   400
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   401
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   402
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   403
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   404
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   405
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   406
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   407
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   408
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   409
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   410
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   411
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   412
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   413
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   414
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   415
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   416
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   417
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   418
  $ hg rebase -s 2 -d 7 -n
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
   419
  starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   420
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   421
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   422
  rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   423
  merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   424
  hit a merge conflict
38443
e6b643ccf87d rebase: make dry-run return 1 or 0 according to result
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38372
diff changeset
   425
  [1]
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   426
  $ hg diff
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   427
  $ hg status
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   428
  $ 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: 36975
diff changeset
   429
  @  7:d2c195b28050 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   430
  |  conflict with e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   431
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   432
  o  6:baf10c5166d4 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   433
  |  g
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   434
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   435
  o  5:6343ca3eff20 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   436
  |  f
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   437
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   438
  | o  4:e860deea161a test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   439
  | |  e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   440
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   441
  | o  3:055a42cdd887 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   442
  | |  d
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   443
  | |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   444
  | o  2:177f92b77385 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   445
  |/   c
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   446
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   447
  o  1:d2ae7f538514 test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   448
  |  b
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   449
  |
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   450
  o  0:cb9a9f314b8b test
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   451
     a
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   452
  
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   453
Check dryrun working with --collapse when there is conflicts
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   454
  $ hg rebase -s 2 -d 7 -n --collapse
38546
731debab233f rebase: improve output of --dry-run
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38499
diff changeset
   455
  starting dry-run rebase; repository will not be changed
38372
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   456
  rebasing 2:177f92b77385 "c"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   457
  rebasing 3:055a42cdd887 "d"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   458
  rebasing 4:e860deea161a "e"
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   459
  merging e
f4f1fb1cbfb4 rebase: add dry-run functionality
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 36975
diff changeset
   460
  hit a merge conflict
38443
e6b643ccf87d rebase: make dry-run return 1 or 0 according to result
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38372
diff changeset
   461
  [1]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   462
39134
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   463
In-memory rebase that fails due to merge conflicts
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   464
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   465
  $ hg rebase -s 2 -d 7
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   466
  rebasing 2:177f92b77385 "c"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   467
  rebasing 3:055a42cdd887 "d"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   468
  rebasing 4:e860deea161a "e"
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   469
  merging e
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
   470
  hit merge conflicts; rebasing that commit again in the working copy
39135
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39134
diff changeset
   471
  merging e
485a3349d5ee rebase: do not pass in user option to rollback in-memory merge conflict
Yuya Nishihara <yuya@tcha.org>
parents: 39134
diff changeset
   472
  warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45090
diff changeset
   473
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45771
diff changeset
   474
  [240]
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   475
  $ hg rebase --abort
40814
9b1d5eea07f9 tests: add a missing "cd .." to test-rebase-inmemory.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 40803
diff changeset
   476
  saved backup bundle to $TESTTMP/repo3/.hg/strip-backup/c1e524d4287c-f91f82e1-backup.hg
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   477
  rebase aborted
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   478
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   479
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: 39576
diff changeset
   480
  $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   481
  $ hg clone repo3 repo3-dirty -q
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   482
  $ cd repo3-dirty
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   483
  $ echo dirty > a
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   484
  $ hg rebase -s 2 -d 7
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   485
  rebasing 2:177f92b77385 "c"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   486
  rebasing 3:055a42cdd887 "d"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   487
  rebasing 4:e860deea161a "e"
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   488
  merging e
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
   489
  hit merge conflicts; rebasing that commit again in the working copy
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   490
  transaction abort!
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   491
  rollback completed
40790
f07d4f94f098 rebase: preserve working copy when redoing in-mem rebase on disk
Martin von Zweigbergk <martinvonz@google.com>
parents: 40789
diff changeset
   492
  abort: uncommitted changes
45840
527ce85c2e60 errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
   493
  [20]
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   494
  $ cat a
40790
f07d4f94f098 rebase: preserve working copy when redoing in-mem rebase on disk
Martin von Zweigbergk <martinvonz@google.com>
parents: 40789
diff changeset
   495
  dirty
46026
39e2cf7cb120 tests: show that in-memory rebase leaves state when working copy is dirty
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   496
  $ hg status -v
39e2cf7cb120 tests: show that in-memory rebase leaves state when working copy is dirty
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   497
  M a
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   498
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   499
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: 39576
diff changeset
   500
  $ cd ..
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   501
  $ 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: 39576
diff changeset
   502
  $ cd repo3-merge-state
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   503
  $ hg merge 4
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   504
  merging e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   505
  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: 39576
diff changeset
   506
  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: 39576
diff changeset
   507
  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: 39576
diff changeset
   508
  [1]
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   509
  $ hg resolve -l
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   510
  U e
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   511
  $ hg rebase -s 2 -d 7
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   512
  abort: outstanding uncommitted merge
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   513
  (use 'hg commit' or 'hg merge --abort')
45840
527ce85c2e60 errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
   514
  [20]
40789
8ff910b21eef tests: show that in-mem rebase falling back loses state
Martin von Zweigbergk <martinvonz@google.com>
parents: 39576
diff changeset
   515
  $ hg resolve -l
40791
6f679f25fd4d rebase: abort in-mem rebase if there's a dirty merge state
Martin von Zweigbergk <martinvonz@google.com>
parents: 40790
diff changeset
   516
  U e
39134
e338a921a0cd rebase: add test for in-memory merge conflicts
Yuya Nishihara <yuya@tcha.org>
parents: 39132
diff changeset
   517
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   518
==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   519
Test for --confirm option|
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   520
==========================
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   521
  $ cd ..
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   522
  $ hg clone repo3 repo4 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   523
  $ cd repo4
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   524
  $ hg strip 7 -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   525
  $ 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: 38546
diff changeset
   526
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   527
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   528
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   529
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   530
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   531
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   532
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   533
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   534
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   535
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   536
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   537
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   538
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   539
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   540
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   541
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   542
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   543
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   544
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   545
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   546
  
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   547
Check it gives error when both --dryrun and --confirm is used:
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   548
  $ hg rebase -s 2 -d . --confirm --dry-run
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   549
  abort: cannot specify both --confirm and --dry-run
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
   550
  [10]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   551
  $ hg rebase -s 2 -d . --confirm --abort
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
   552
  abort: cannot specify both --abort and --confirm
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
   553
  [10]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   554
  $ hg rebase -s 2 -d . --confirm --continue
43927
905b21783968 rebase: use cmdutil.check_incompatible_arguments() for action+confirm/dryrun
Martin von Zweigbergk <martinvonz@google.com>
parents: 43591
diff changeset
   555
  abort: cannot specify both --continue and --confirm
45827
8d72e29ad1e0 errors: introduce InputError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45826
diff changeset
   556
  [10]
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   557
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   558
Test --confirm option when there are no conflicts:
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   559
  $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   560
  > n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   561
  > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
   562
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   563
  rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   564
  rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   565
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   566
  rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   567
  apply changes (yn)? n
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   568
  $ 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: 38546
diff changeset
   569
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   570
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   571
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   572
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   573
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   574
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   575
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   576
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   577
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   578
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   579
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   580
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   581
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   582
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   583
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   584
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   585
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   586
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   587
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   588
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   589
  
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   590
  $ hg rebase -s 2 -d . --keep --config ui.interactive=True --confirm << EOF
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   591
  > y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   592
  > EOF
38675
35b3f686157a rebase: correct misleading message in --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38667
diff changeset
   593
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   594
  rebasing 2:177f92b77385 "c"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   595
  rebasing 3:055a42cdd887 "d"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   596
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   597
  rebase completed successfully
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   598
  apply changes (yn)? y
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   599
  $ 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: 38546
diff changeset
   600
  o  9:9fd28f55f6dc test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   601
  |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   602
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   603
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   604
  |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   605
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   606
  o  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   607
  |  c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   608
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   609
  @  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   610
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   611
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   612
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   613
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   614
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   615
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   616
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   617
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   618
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   619
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   620
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   621
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   622
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   623
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   624
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   625
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   626
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   627
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   628
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   629
  
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   630
Test --confirm option when there is a conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   631
  $ hg up tip -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   632
  $ echo ee>e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   633
  $ hg ci --amend -m "conflict with e" -q
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   634
  $ 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: 38546
diff changeset
   635
  @  9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   636
  |  conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   637
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   638
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   639
  |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   640
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   641
  o  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   642
  |  c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   643
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   644
  o  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   645
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   646
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   647
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   648
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   649
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   650
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   651
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   652
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   653
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   654
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   655
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   656
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   657
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   658
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   659
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   660
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   661
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   662
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   663
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   664
  
38679
b3d0c97a0820 rebase: in --confirm option just abort if hit a conflict
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38675
diff changeset
   665
  $ 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
   666
  starting in-memory rebase
38667
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   667
  rebasing 4:e860deea161a "e"
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   668
  merging e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   669
  hit a merge conflict
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   670
  [1]
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   671
  $ 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: 38546
diff changeset
   672
  @  9:906d72f66a59 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   673
  |  conflict with e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   674
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   675
  o  8:12cbf031f469 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   676
  |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   677
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   678
  o  7:c83b1da5b1ae test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   679
  |  c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   680
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   681
  o  6:baf10c5166d4 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   682
  |  g
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   683
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   684
  o  5:6343ca3eff20 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   685
  |  f
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   686
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   687
  | o  4:e860deea161a test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   688
  | |  e
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   689
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   690
  | o  3:055a42cdd887 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   691
  | |  d
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   692
  | |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   693
  | o  2:177f92b77385 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   694
  |/   c
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   695
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   696
  o  1:d2ae7f538514 test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   697
  |  b
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   698
  |
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   699
  o  0:cb9a9f314b8b test
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   700
     a
572dff5c946e rebase: add --confirm option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 38546
diff changeset
   701
  
39127
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   702
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
   703
  $ cd $TESTTMP
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   704
  $ hg init no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   705
  $ cd no_exception
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   706
# Produce the following graph:
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   707
#   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
   708
#   | 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
   709
#   |/
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   710
#   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
   711
  $ echo hi > foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   712
  $ hg ci -qAm r0
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   713
  $ echo hi > bar.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   714
  $ hg ci -qAm r1
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   715
  $ hg co -qr ".^"
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   716
  $ chmod +x foo.txt
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   717
  $ 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
   718
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
   719
  $ hg rebase -r . -d 1
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   720
  rebasing 2:539b93e77479 tip "add +x to foo.txt"
39127
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   721
  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
   722
  $ hg diff -c tip
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   723
  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
   724
  old mode 100644
95bd19f60957 overlayworkingctx: fix exception in metadata-only inmemory merges (issue5960)
Kyle Lippincott <spectral@google.com>
parents: 38679
diff changeset
   725
  new mode 100755
41948
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   726
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   727
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: 41765
diff changeset
   728
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   729
  $ cd ..
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   730
  $ hg clone -q repo1 merge-and-rename
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   731
  $ cd merge-and-rename
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   732
  $ cat << EOF >> .hg/hgrc
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   733
  > [experimental]
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   734
  > evolution.createmarkers=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   735
  > evolution.allowunstable=True
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   736
  > EOF
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   737
  $ hg co -q 1
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   738
  $ hg mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   739
  $ hg ci -qm 'rename d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   740
  $ hg co -q 3
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   741
  $ hg merge -q 4
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   742
  $ hg ci -m 'merge'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   743
  $ hg co -q 2
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   744
  $ mv d e
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   745
  $ hg addremove -qs 0
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   746
  $ 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: 41765
diff changeset
   747
  $ 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: 41765
diff changeset
   748
  1 new orphan changesets
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   749
  $ hg tglog
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   750
  @  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: 41765
diff changeset
   751
  |
42621
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42528
diff changeset
   752
  | *    5: 574d92ad16fc 'merge'
41948
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   753
  | |\
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   754
  | | x  4: 2c8b5dad7956 'rename d to e'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   755
  | | |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   756
  | o |  3: ca58782ad1e4 'b'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   757
  |/ /
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   758
  o /  2: 814f6bd05178 'c'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   759
  |/
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   760
  o  1: 02952614a83d 'd'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   761
  |
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   762
  o  0: b173517d0057 'a'
dd1ab72be983 test: demonstrate crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41765
diff changeset
   763
  
41949
e1ceefab9bca rebase: fix crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41948
diff changeset
   764
  $ hg rebase -b 5 -d tip
e1ceefab9bca rebase: fix crash with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 41948
diff changeset
   765
  rebasing 3:ca58782ad1e4 "b"
42621
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42528
diff changeset
   766
  rebasing 5:574d92ad16fc "merge"
99ebde4fec99 commit: improve the files field of changelog for merges
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com>
parents: 42528
diff changeset
   767
  note: not rebasing 5:574d92ad16fc "merge", its destination already has all its changes
42192
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   768
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   769
  $ cd ..
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   770
42287
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   771
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: 42193
diff changeset
   772
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   773
  $ hg init rebase-rename
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   774
  $ cd rebase-rename
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   775
  $ echo a > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   776
  $ hg ci -Aqm 'add a'
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   777
  $ echo a2 > a
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   778
  $ hg ci -m 'modify a'
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   779
  $ hg co -q 0
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   780
  $ hg mv a b
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   781
  $ hg ci -qm 'rename a to b'
42288
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
   782
  $ hg rebase -d 1
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   783
  rebasing 2:b977edf6f839 tip "rename a to b"
42288
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
   784
  merging a and b to b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
   785
  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: 42287
diff changeset
   786
  $ hg st --copies --change .
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
   787
  A b
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
   788
    a
cdcebc897529 overlaycontext: allow calling copydata() on clean context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42287
diff changeset
   789
  R a
42287
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   790
  $ cd ..
5265c7d47213 tests: demonstrate another failure with in-memory rebase and copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 42193
diff changeset
   791
42527
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   792
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: 42318
diff changeset
   793
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   794
  $ hg init rebase-rename-empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   795
  $ cd rebase-rename-empty
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   796
  $ echo a > a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   797
  $ hg ci -Aqm 'add a'
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   798
  $ cat > a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   799
  $ 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: 42318
diff changeset
   800
  $ hg co -q 0
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   801
  $ hg mv a b
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   802
  $ 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: 42318
diff changeset
   803
  $ hg rebase -d 1
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   804
  rebasing 2:b977edf6f839 tip "rename a to b"
42527
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   805
  merging a and b to b
42528
e079e001d536 rebase: fix in-memory rebasing of copy of empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42527
diff changeset
   806
  saved backup bundle to $TESTTMP/rebase-rename-empty/.hg/strip-backup/b977edf6f839-0864f570-rebase.hg
42527
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   807
  $ hg st --copies --change .
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   808
  A b
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   809
    a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   810
  R a
4a6826868625 tests: demonstrate broken in-memory rebase of copy to empty file
Martin von Zweigbergk <martinvonz@google.com>
parents: 42318
diff changeset
   811
  $ cd ..
42317
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   812
Rebase across a copy with --collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   813
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   814
  $ hg init rebase-rename-collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   815
  $ cd rebase-rename-collapse
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   816
  $ echo a > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   817
  $ hg ci -Aqm 'add a'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   818
  $ hg mv a b
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   819
  $ hg ci -m 'rename a to b'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   820
  $ hg co -q 0
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   821
  $ echo a2 > a
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   822
  $ hg ci -qm 'modify a'
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   823
  $ hg rebase -r . -d 1 --collapse
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   824
  rebasing 2:41c4ea50d4cf tip "modify a"
42317
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   825
  merging b and a to b
42318
313812cbf4ca copies: fix duplicatecopies() with overlay context
Martin von Zweigbergk <martinvonz@google.com>
parents: 42317
diff changeset
   826
  saved backup bundle to $TESTTMP/rebase-rename-collapse/.hg/strip-backup/41c4ea50d4cf-b90b7994-rebase.hg
42317
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   827
  $ cd ..
70845eb656a9 tests: demonstrate crash when rebasing across copy with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 42288
diff changeset
   828
42192
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   829
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
   830
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   831
  $ 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
   832
  $ cd test
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   833
  $ 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
   834
  $ 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
   835
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   836
  $ rm foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   837
  $ touch foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   838
  $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   839
  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
   840
  --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   841
  +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   842
  @@ -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
   843
  -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   844
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   845
  $ 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
   846
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   847
  $ hg up '.^'
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   848
  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
   849
  $ 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
   850
  $ hg di
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   851
  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
   852
  --- a/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   853
  +++ b/foo
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   854
  @@ -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
   855
  -a
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   856
  +b
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   857
  $ 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
   858
  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
   859
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   860
  $ hg rebase -r . -d 1 --config ui.merge=internal:merge3
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   861
  rebasing 2:fb62b706688e tip "add b to foo"
42192
818051048c2e tests: show IMM is broken when merging file empty in destination
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42100
diff changeset
   862
  merging foo
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
   863
  hit merge conflicts; rebasing that commit again in the working copy
42193
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42192
diff changeset
   864
  merging foo
14589f1989e9 context: check file exists before getting data from _wrappedctx
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 42192
diff changeset
   865
  warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45090
diff changeset
   866
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45771
diff changeset
   867
  [240]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   868
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   869
  $ cd $TESTTMP
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   870
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   871
Test rebasing when we're in the middle of a rebase already
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   872
  $ hg init test_issue6214
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   873
  $ cd test_issue6214
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   874
  $ echo r0 > r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   875
  $ hg ci -qAm 'r0'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   876
  $ echo hi > foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   877
  $ hg ci -qAm 'hi from foo'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   878
  $ hg co -q '.^'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   879
  $ echo bye > foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   880
  $ hg ci -qAm 'bye from foo'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   881
  $ hg co -q '.^'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   882
  $ echo unrelated > some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   883
  $ hg ci -qAm 'some unrelated changes'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   884
  $ hg log -G -T'{rev}: {desc}\n{files%"{file}\n"}'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   885
  @  3: some unrelated changes
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   886
  |  some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   887
  | o  2: bye from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   888
  |/   foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   889
  | o  1: hi from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   890
  |/   foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   891
  o  0: r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   892
     r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   893
  $ hg rebase -r 2 -d 1 -t:merge3
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   894
  rebasing 2:b4d249fbf8dd "bye from foo"
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   895
  merging foo
45555
feffeb18d412 rebase: teach in-memory rebase to not restart with on-disk rebase on conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 45510
diff changeset
   896
  hit merge conflicts; rebasing that commit again in the working copy
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   897
  merging foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   898
  warning: conflicts while merging foo! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 45090
diff changeset
   899
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45826
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45771
diff changeset
   900
  [240]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   901
  $ hg rebase -r 3 -d 1 -t:merge3
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   902
  abort: rebase in progress
45215
a253ded5b03d morestatus: mention --stop even if not using --verbose
Kyle Lippincott <spectral@google.com>
parents: 45150
diff changeset
   903
  (use 'hg rebase --continue', 'hg rebase --abort', or 'hg rebase --stop')
45840
527ce85c2e60 errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents: 45827
diff changeset
   904
  [20]
43591
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   905
  $ hg resolve --list
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   906
  U foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   907
  $ hg resolve --all --re-merge -t:other
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   908
  (no more unresolved files)
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   909
  continue: hg rebase --continue
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   910
  $ hg rebase --continue
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   911
  rebasing 2:b4d249fbf8dd "bye from foo"
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   912
  saved backup bundle to $TESTTMP/test_issue6214/.hg/strip-backup/b4d249fbf8dd-299ec25c-rebase.hg
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   913
  $ hg log -G -T'{rev}: {desc}\n{files%"{file}\n"}'
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   914
  o  3: bye from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   915
  |  foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   916
  | @  2: some unrelated changes
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   917
  | |  some_other_file
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   918
  o |  1: hi from foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   919
  |/   foo
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   920
  o  0: r0
b56c6647f65e rebase: check for unfinished ops even when inmemory (issue6214)
Kyle Lippincott <spectral@google.com>
parents: 42804
diff changeset
   921
     r0
45086
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   922
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   923
  $ cd ..
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   924
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   925
Changesets that become empty should not be committed. Merges are not empty by
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   926
definition.
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   927
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   928
  $ hg init keep_merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   929
  $ cd keep_merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   930
  $ echo base > base; hg add base; hg ci -m base
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   931
  $ echo test > test; hg add test; hg ci -m a
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   932
  $ hg up 0 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   933
  $ echo test > test; hg add test; hg ci -m b -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   934
  $ hg up 0 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   935
  $ echo test > test; hg add test; hg ci -m c -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   936
  $ hg up 1 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   937
  $ hg merge 2 -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   938
  $ hg ci -m merge
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   939
  $ hg up null -q
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   940
  $ hg tglog
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   941
  o    4: 59c8292117b1 'merge'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   942
  |\
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   943
  | | o  3: 531f80391e4a 'c'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   944
  | | |
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   945
  | o |  2: 0194f1db184a 'b'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   946
  | |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   947
  o /  1: 6f252845ea45 'a'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   948
  |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   949
  o  0: d20a80d4def3 'base'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   950
  
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   951
  $ hg rebase -s 2 -d 3
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   952
  rebasing 2:0194f1db184a "b"
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   953
  note: not rebasing 2:0194f1db184a "b", its destination already has all its changes
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
   954
  rebasing 4:59c8292117b1 tip "merge"
45086
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   955
  saved backup bundle to $TESTTMP/keep_merge/.hg/strip-backup/0194f1db184a-aee31d03-rebase.hg
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   956
  $ hg tglog
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   957
  o    3: 506e2454484b 'merge'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   958
  |\
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   959
  | o  2: 531f80391e4a 'c'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   960
  | |
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   961
  o |  1: 6f252845ea45 'a'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   962
  |/
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   963
  o  0: d20a80d4def3 'base'
ab33782deb84 rebase: add test case that shows that inmemory rebase does not preserve merges
Manuel Jacob <me@manueljacob.de>
parents: 43927
diff changeset
   964
  
45229
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
   965
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   966
Test that update_hash_refs works.
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   967
  $ hg co 0
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   968
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   969
  $ echo update_hash_refs > update_hash_refs
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   970
  $ hg add update_hash_refs
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   971
  $ hg ci -m 'this will change hash'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   972
  created new head
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   973
  $ echo changed >> update_hash_refs
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
   974
  $ hg ci -m "this starts as the child of `hg log -r . -T'{node|short}'` but not 506e2454484b. Also, ffffffffffffffff"
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   975
  $ hg tglog
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
   976
  @  5: a8b42cbbde83 'this starts as the child of 98789aa60148 but not 506e2454484b. Also, ffffffffffffffff'
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   977
  |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   978
  o  4: 98789aa60148 'this will change hash'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   979
  |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   980
  | o    3: 506e2454484b 'merge'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   981
  | |\
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   982
  +---o  2: 531f80391e4a 'c'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   983
  | |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   984
  | o  1: 6f252845ea45 'a'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   985
  |/
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   986
  o  0: d20a80d4def3 'base'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   987
  
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   988
  $ hg rebase -r '.^::' -d 3
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   989
  rebasing 4:98789aa60148 "this will change hash"
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
   990
  rebasing 5:a8b42cbbde83 tip "this starts as the child of 98789aa60148 but not 506e2454484b. Also, ffffffffffffffff"
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
   991
  saved backup bundle to $TESTTMP/keep_merge/.hg/strip-backup/98789aa60148-da3f4c2c-rebase.hg
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   992
  $ hg tglog
47787
48da5c325750 rewriteutil: fix crash when a rewritten message references f{6,64}
Augie Fackler <augie@google.com>
parents: 47786
diff changeset
   993
  @  5: 0fd2912e6cc1 'this starts as the child of c16c25696fe7 but not 506e2454484b. Also, ffffffffffffffff'
47786
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   994
  |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   995
  o  4: c16c25696fe7 'this will change hash'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   996
  |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   997
  o    3: 506e2454484b 'merge'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   998
  |\
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
   999
  | o  2: 531f80391e4a 'c'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
  1000
  | |
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
  1001
  o |  1: 6f252845ea45 'a'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
  1002
  |/
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
  1003
  o  0: d20a80d4def3 'base'
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
  1004
  
324c8a299324 tests: add explicit coverage for update_hash_refs from rewriteutil
Augie Fackler <augie@google.com>
parents: 46180
diff changeset
  1005
45229
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1006
  $ cd ..
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1007
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1008
Test (virtual) working directory without changes, created by merge conflict
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1009
resolution. There was a regression where the file was incorrectly detected as
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1010
changed although the file contents were the same as in the parent.
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1011
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1012
  $ hg init nofilechanges
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1013
  $ cd nofilechanges
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1014
  $ echo a > a; hg add a; hg ci -m a
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1015
  $ echo foo > test; hg add test; hg ci -m b
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1016
  $ hg up 0 -q
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1017
  $ echo bar > test; hg add test; hg ci -m c
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1018
  created new head
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1019
  $ hg rebase -d 2 -d 1 --tool :local
45771
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
  1020
  rebasing 2:ca2749322ee5 tip "c"
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45555
diff changeset
  1021
  note: not rebasing 2:ca2749322ee5 tip "c", its destination already has all its changes
45229
0ea08126a2af rebase: fix regression in file change detection introduced by 0ecb3b11fcad
Manuel Jacob <me@manueljacob.de>
parents: 45150
diff changeset
  1022
  saved backup bundle to $TESTTMP/nofilechanges/.hg/strip-backup/ca2749322ee5-6dc7e94b-rebase.hg