tests/test-rebase-inmemory.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 11 Jan 2022 22:03:55 -0800
changeset 48563 ad0c6bf6f02e
parent 47787 48da5c325750
child 49059 80579e597439
permissions -rw-r--r--
simplemerge: make minimize() a free function IMO, `Merge3Text` should be about merging text without knowing about conflict markers. "Conflict minimization" is about making conflict markers smaller, so it should be moved out. This patch does that. I'll refactor it next. Differential Revision: https://phab.mercurial-scm.org/D11980
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