tests/test-split.t
author Yuya Nishihara <yuya@tcha.org>
Wed, 09 Sep 2020 17:17:38 +0900
changeset 45721 f9d3ff23bfc0
parent 43935 2349a60f33db
child 45771 f90a5c211251
permissions -rw-r--r--
grep: extract main search loop as searcher method Still displayer part is in commands.grep(), the core grep logic is now reusable. I'll revisit the displayer stuff later since it will be another long series.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
     1
#testcases obsstore-on obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
     2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
     3
  $ cat > $TESTTMP/editor.py <<EOF
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 38424
diff changeset
     4
  > #!"$PYTHON"
36645
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 35709
diff changeset
     5
  > import os
7bc33d677c0c tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents: 35709
diff changeset
     6
  > import sys
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
     7
  > path = os.path.join(os.environ['TESTTMP'], 'messages')
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
     8
  > messages = open(path).read().split('--\n')
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
     9
  > prompt = open(sys.argv[1]).read()
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    10
  > sys.stdout.write(''.join('EDITOR: %s' % l for l in prompt.splitlines(True)))
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    11
  > sys.stdout.flush()
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    12
  > with open(sys.argv[1], 'w') as f:
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    13
  >    f.write(messages[0])
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    14
  > with open(path, 'w') as f:
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    15
  >    f.write('--\n'.join(messages[1:]))
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    16
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    17
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    18
  $ cat >> $HGRCPATH <<EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    19
  > [extensions]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    20
  > drawdag=$TESTDIR/drawdag.py
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    21
  > split=
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    22
  > [ui]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    23
  > interactive=1
35479
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
    24
  > color=no
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
    25
  > paginate=never
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    26
  > [diff]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    27
  > git=1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    28
  > unified=0
41560
66399f2e92aa commit: if interactive, look elsewhere for whitespace settings (BC)
Kyle Lippincott <spectral@google.com>
parents: 41557
diff changeset
    29
  > [commands]
66399f2e92aa commit: if interactive, look elsewhere for whitespace settings (BC)
Kyle Lippincott <spectral@google.com>
parents: 41557
diff changeset
    30
  > commit.interactive.unified=0
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    31
  > [alias]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    32
  > glog=log -G -T '{rev}:{node|short} {desc} {bookmarks}\n'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    33
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    34
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    35
#if obsstore-on
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    36
  $ cat >> $HGRCPATH <<EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    37
  > [experimental]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    38
  > evolution=all
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    39
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    40
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    41
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    42
  $ hg init a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    43
  $ cd a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    44
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    45
Nothing to split
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    46
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    47
  $ hg split
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    48
  nothing to split
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    49
  [1]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    50
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    51
  $ hg commit -m empty --config ui.allowemptycommit=1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    52
  $ hg split
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    53
  abort: cannot split an empty revision
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    54
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    55
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    56
  $ rm -rf .hg
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    57
  $ hg init
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    58
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    59
Cannot split working directory
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    60
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    61
  $ hg split -r 'wdir()'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    62
  abort: cannot split working directory
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    63
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    64
35479
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
    65
Generate some content.  The sed filter drop CR on Windows, which is dropped in
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
    66
the a > b line.
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    67
35479
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
    68
  $ $TESTDIR/seq.py 1 5 | sed 's/\r$//' >> a
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    69
  $ hg ci -m a1 -A a -q
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    70
  $ hg bookmark -i r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    71
  $ sed 's/1/11/;s/3/33/;s/5/55/' a > b
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    72
  $ mv b a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    73
  $ hg ci -m a2 -q
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    74
  $ hg bookmark -i r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    75
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    76
Cannot split a public changeset
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    77
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    78
  $ hg phase --public -r 'all()'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    79
  $ hg split .
43935
2349a60f33db split: use rewriteutil.precheck() instead of reimplementing it
Martin von Zweigbergk <martinvonz@google.com>
parents: 42856
diff changeset
    80
  abort: cannot split public changesets
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    81
  (see 'hg help phases' for details)
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    82
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    83
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    84
  $ hg phase --draft -f -r 'all()'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    85
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    86
Cannot split while working directory is dirty
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    87
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    88
  $ touch dirty
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    89
  $ hg add dirty
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    90
  $ hg split .
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    91
  abort: uncommitted changes
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    92
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    93
  $ hg forget dirty
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    94
  $ rm dirty
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    95
38412
a0e185f10454 tests: in test-split.t, save a "clean" copy of pre-split repo for later use
Kyle Lippincott <spectral@google.com>
parents: 36645
diff changeset
    96
Make a clean directory for future tests to build off of
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    97
38412
a0e185f10454 tests: in test-split.t, save a "clean" copy of pre-split repo for later use
Kyle Lippincott <spectral@google.com>
parents: 36645
diff changeset
    98
  $ cp -R . ../clean
a0e185f10454 tests: in test-split.t, save a "clean" copy of pre-split repo for later use
Kyle Lippincott <spectral@google.com>
parents: 36645
diff changeset
    99
a0e185f10454 tests: in test-split.t, save a "clean" copy of pre-split repo for later use
Kyle Lippincott <spectral@google.com>
parents: 36645
diff changeset
   100
Split a head
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   101
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   102
  $ hg bookmark r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   103
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   104
  $ hg split 'all()'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   105
  abort: cannot split multiple revisions
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   106
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   107
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   108
This function splits a bit strangely primarily to avoid changing the behavior of
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   109
the test after a bug was fixed with how split/commit --interactive handled
41560
66399f2e92aa commit: if interactive, look elsewhere for whitespace settings (BC)
Kyle Lippincott <spectral@google.com>
parents: 41557
diff changeset
   110
`commands.commit.interactive.unified=0`: when there were no context lines,
66399f2e92aa commit: if interactive, look elsewhere for whitespace settings (BC)
Kyle Lippincott <spectral@google.com>
parents: 41557
diff changeset
   111
it kept only the last diff hunk. When running split, this meant that runsplit
66399f2e92aa commit: if interactive, look elsewhere for whitespace settings (BC)
Kyle Lippincott <spectral@google.com>
parents: 41557
diff changeset
   112
was always recording three commits, one for each diff hunk, in reverse order
66399f2e92aa commit: if interactive, look elsewhere for whitespace settings (BC)
Kyle Lippincott <spectral@google.com>
parents: 41557
diff changeset
   113
(the base commit was the last diff hunk in the file).
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   114
  $ runsplit() {
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   115
  > cat > $TESTTMP/messages <<EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   116
  > split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   117
  > --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   118
  > split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   119
  > --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   120
  > split 3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   121
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   122
  > cat <<EOF | hg split "$@"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   123
  > y
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   124
  > n
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   125
  > n
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   126
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   127
  > y
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   128
  > n
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   129
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   130
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   131
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   132
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   133
  > }
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   134
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   135
  $ HGEDITOR=false runsplit
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   136
  diff --git a/a b/a
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   137
  3 hunks, 3 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   138
  examine changes to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   139
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   140
  
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   141
  @@ -1,1 +1,1 @@
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   142
  -1
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   143
  +11
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   144
  record change 1/3 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   145
  (enter ? for help) [Ynesfdaq?] n
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   146
  
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   147
  @@ -3,1 +3,1 @@ 2
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   148
  -3
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   149
  +33
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   150
  record change 2/3 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   151
  (enter ? for help) [Ynesfdaq?] n
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   152
  
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   153
  @@ -5,1 +5,1 @@ 4
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   154
  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   155
  +55
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   156
  record change 3/3 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   157
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   158
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   159
  transaction abort!
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   160
  rollback completed
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   161
  abort: edit failed: false exited with status 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   162
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   163
  $ hg status
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   164
35479
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
   165
  $ HGEDITOR="\"$PYTHON\" $TESTTMP/editor.py"
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   166
  $ runsplit
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   167
  diff --git a/a b/a
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   168
  3 hunks, 3 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   169
  examine changes to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   170
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   171
  
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   172
  @@ -1,1 +1,1 @@
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   173
  -1
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   174
  +11
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   175
  record change 1/3 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   176
  (enter ? for help) [Ynesfdaq?] n
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   177
  
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   178
  @@ -3,1 +3,1 @@ 2
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   179
  -3
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   180
  +33
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   181
  record change 2/3 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   182
  (enter ? for help) [Ynesfdaq?] n
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   183
  
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   184
  @@ -5,1 +5,1 @@ 4
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   185
  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   186
  +55
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   187
  record change 3/3 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   188
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   189
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   190
  EDITOR: HG: Splitting 1df0d5c5a3ab. Write commit message for the first split changeset.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   191
  EDITOR: a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   192
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   193
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   194
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   195
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   196
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   197
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   198
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   199
  EDITOR: HG: changed a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   200
  created new head
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   201
  diff --git a/a b/a
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   202
  2 hunks, 2 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   203
  examine changes to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   204
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   205
  
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   206
  @@ -1,1 +1,1 @@
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   207
  -1
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   208
  +11
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   209
  record change 1/2 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   210
  (enter ? for help) [Ynesfdaq?] n
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   211
  
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   212
  @@ -3,1 +3,1 @@ 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   213
  -3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   214
  +33
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   215
  record change 2/2 to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   216
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   217
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   218
  EDITOR: HG: Splitting 1df0d5c5a3ab. So far it has been split into:
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   219
  EDITOR: HG: - e704349bd21b: split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   220
  EDITOR: HG: Write commit message for the next split changeset.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   221
  EDITOR: a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   222
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   223
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   224
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   225
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   226
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   227
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   228
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   229
  EDITOR: HG: changed a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   230
  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   231
  1 hunks, 1 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   232
  examine changes to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   233
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   234
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   235
  @@ -1,1 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   236
  -1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   237
  +11
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   238
  record this change to 'a'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   239
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   240
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   241
  EDITOR: HG: Splitting 1df0d5c5a3ab. So far it has been split into:
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   242
  EDITOR: HG: - e704349bd21b: split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   243
  EDITOR: HG: - a09ad58faae3: split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   244
  EDITOR: HG: Write commit message for the next split changeset.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   245
  EDITOR: a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   246
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   247
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   248
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   249
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   250
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   251
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   252
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   253
  EDITOR: HG: changed a
35479
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
   254
  saved backup bundle to $TESTTMP/a/.hg/strip-backup/1df0d5c5a3ab-8341b760-split.hg (obsstore-off !)
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   255
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   256
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   257
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   258
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   259
     r2                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   260
   * r3                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   261
  $ hg glog -p
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   262
  @  3:00eebaf8d2e2 split 3 r2 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   263
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   264
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   265
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   266
  |  @@ -1,1 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   267
  |  -1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   268
  |  +11
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   269
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   270
  o  2:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   271
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   272
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   273
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   274
  |  @@ -3,1 +3,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   275
  |  -3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   276
  |  +33
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   277
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   278
  o  1:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   279
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   280
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   281
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   282
  |  @@ -5,1 +5,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   283
  |  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   284
  |  +55
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   285
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   286
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   287
     diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   288
     new file mode 100644
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   289
     --- /dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   290
     +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   291
     @@ -0,0 +1,5 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   292
     +1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   293
     +2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   294
     +3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   295
     +4
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   296
     +5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   297
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   298
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   299
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   300
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   301
     r2                        4:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   302
   * r3                        4:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   303
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   304
  @  4:00eebaf8d2e2 split 3 r2 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   305
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   306
  o  3:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   307
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   308
  o  2:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   309
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   310
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   311
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   312
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   313
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   314
Split a head while working parent is not that head
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   315
38412
a0e185f10454 tests: in test-split.t, save a "clean" copy of pre-split repo for later use
Kyle Lippincott <spectral@google.com>
parents: 36645
diff changeset
   316
  $ cp -R $TESTTMP/clean $TESTTMP/b
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   317
  $ cd $TESTTMP/b
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   318
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   319
  $ hg up 0 -q
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   320
  $ hg bookmark r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   321
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   322
  $ runsplit tip >/dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   323
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   324
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   325
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   326
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   327
     r2                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   328
   * r3                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   329
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   330
  o  3:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   331
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   332
  o  2:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   333
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   334
  o  1:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   335
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   336
  @  0:a61bcde8c529 a1 r1 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   337
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   338
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   339
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   340
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   341
     r2                        4:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   342
   * r3                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   343
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   344
  o  4:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   345
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   346
  o  3:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   347
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   348
  o  2:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   349
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   350
  @  0:a61bcde8c529 a1 r1 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   351
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   352
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   353
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   354
Split a non-head
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   355
38412
a0e185f10454 tests: in test-split.t, save a "clean" copy of pre-split repo for later use
Kyle Lippincott <spectral@google.com>
parents: 36645
diff changeset
   356
  $ cp -R $TESTTMP/clean $TESTTMP/c
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   357
  $ cd $TESTTMP/c
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   358
  $ echo d > d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   359
  $ hg ci -m d1 -A d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   360
  $ hg bookmark -i d1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   361
  $ echo 2 >> d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   362
  $ hg ci -m d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   363
  $ echo 3 >> d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   364
  $ hg ci -m d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   365
  $ hg bookmark -i d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   366
  $ hg up '.^' -q
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   367
  $ hg bookmark d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   368
  $ cp -R . ../d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   369
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   370
  $ runsplit -r 1 | grep rebasing
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   371
  rebasing 2:b5c5ea414030 "d1" (d1)
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   372
  rebasing 3:f4a0a8d004cc "d2" (d2)
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   373
  rebasing 4:777940761eba "d3" (d3)
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   374
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   375
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   376
     d1                        4:c4b449ef030e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   377
   * d2                        5:c9dd00ab36a3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   378
     d3                        6:19f476bc865c
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   379
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   380
     r2                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   381
  $ hg glog -p
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   382
  o  6:19f476bc865c d3 d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   383
  |  diff --git a/d b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   384
  |  --- a/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   385
  |  +++ b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   386
  |  @@ -2,0 +3,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   387
  |  +3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   388
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   389
  @  5:c9dd00ab36a3 d2 d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   390
  |  diff --git a/d b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   391
  |  --- a/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   392
  |  +++ b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   393
  |  @@ -1,0 +2,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   394
  |  +2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   395
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   396
  o  4:c4b449ef030e d1 d1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   397
  |  diff --git a/d b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   398
  |  new file mode 100644
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   399
  |  --- /dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   400
  |  +++ b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   401
  |  @@ -0,0 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   402
  |  +d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   403
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   404
  o  3:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   405
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   406
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   407
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   408
  |  @@ -1,1 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   409
  |  -1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   410
  |  +11
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   411
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   412
  o  2:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   413
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   414
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   415
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   416
  |  @@ -3,1 +3,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   417
  |  -3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   418
  |  +33
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   419
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   420
  o  1:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   421
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   422
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   423
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   424
  |  @@ -5,1 +5,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   425
  |  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   426
  |  +55
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   427
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   428
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   429
     diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   430
     new file mode 100644
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   431
     --- /dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   432
     +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   433
     @@ -0,0 +1,5 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   434
     +1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   435
     +2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   436
     +3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   437
     +4
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   438
     +5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   439
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   440
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   441
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   442
     d1                        8:c4b449ef030e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   443
   * d2                        9:c9dd00ab36a3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   444
     d3                        10:19f476bc865c
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   445
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   446
     r2                        7:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   447
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   448
  o  10:19f476bc865c d3 d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   449
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   450
  @  9:c9dd00ab36a3 d2 d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   451
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   452
  o  8:c4b449ef030e d1 d1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   453
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   454
  o  7:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   455
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   456
  o  6:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   457
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   458
  o  5:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   459
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   460
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   461
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   462
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   463
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   464
Split a non-head without rebase
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   465
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   466
  $ cd $TESTTMP/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   467
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   468
  $ runsplit -r 1 --no-rebase
43935
2349a60f33db split: use rewriteutil.precheck() instead of reimplementing it
Martin von Zweigbergk <martinvonz@google.com>
parents: 42856
diff changeset
   469
  abort: cannot split changeset with children
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   470
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   471
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   472
  $ runsplit -r 1 --no-rebase >/dev/null
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   473
  3 new orphan changesets
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   474
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   475
     d1                        2:b5c5ea414030
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   476
   * d2                        3:f4a0a8d004cc
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   477
     d3                        4:777940761eba
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   478
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   479
     r2                        7:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   480
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   481
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   482
  o  7:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   483
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   484
  o  6:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   485
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   486
  o  5:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   487
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   488
  | *  4:777940761eba d3 d3
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   489
  | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   490
  | @  3:f4a0a8d004cc d2 d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   491
  | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   492
  | *  2:b5c5ea414030 d1 d1
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   493
  | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   494
  | x  1:1df0d5c5a3ab a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   495
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   496
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   497
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   498
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   499
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   500
Split a non-head with obsoleted descendants
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   501
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   502
#if obsstore-on
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   503
  $ hg init $TESTTMP/e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   504
  $ cd $TESTTMP/e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   505
  $ hg debugdrawdag <<'EOS'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   506
  >   H I   J
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   507
  >   | |   |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   508
  >   F G1 G2  # amend: G1 -> G2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   509
  >   | |  /   # prune: F
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   510
  >   C D E
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   511
  >    \|/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   512
  >     B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   513
  >     |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   514
  >     A
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   515
  > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   516
  2 new orphan changesets
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   517
  $ eval `hg tags -T '{tag}={node}\n'`
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   518
  $ rm .hg/localtags
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   519
  $ hg split $B --config experimental.evolution=createmarkers
43935
2349a60f33db split: use rewriteutil.precheck() instead of reimplementing it
Martin von Zweigbergk <martinvonz@google.com>
parents: 42856
diff changeset
   520
  abort: cannot split changeset with children
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   521
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   522
  $ cat > $TESTTMP/messages <<EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   523
  > Split B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   524
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   525
  $ cat <<EOF | hg split $B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   526
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   527
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   528
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   529
  diff --git a/B b/B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   530
  new file mode 100644
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   531
  examine changes to 'B'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   532
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   533
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   534
  @@ -0,0 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   535
  +B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   536
  \ No newline at end of file
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   537
  record this change to 'B'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   538
  (enter ? for help) [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   539
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   540
  EDITOR: HG: Splitting 112478962961. Write commit message for the first split changeset.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   541
  EDITOR: B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   542
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   543
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   544
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   545
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   546
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   547
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   548
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   549
  EDITOR: HG: added B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   550
  created new head
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   551
  rebasing 2:26805aba1e60 "C"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   552
  rebasing 3:be0ef73c17ad "D"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   553
  rebasing 4:49cb92066bfd "E"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   554
  rebasing 7:97a6268cc7ef "G2"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   555
  rebasing 10:e2f1e425c0db "J"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   556
  $ hg glog -r 'sort(all(), topo)'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   557
  o  16:556c085f8b52 J
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   558
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   559
  o  15:8761f6c9123f G2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   560
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   561
  o  14:a7aeffe59b65 E
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   562
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   563
  | o  13:e1e914ede9ab D
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   564
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   565
  | o  12:01947e9b98aa C
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   566
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   567
  o  11:0947baa74d47 Split B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   568
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   569
  | *  9:88ede1d5ee13 I
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   570
  | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   571
  | x  6:af8cbf225b7b G1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   572
  | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   573
  | x  3:be0ef73c17ad D
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   574
  | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   575
  | | *  8:74863e5b5074 H
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   576
  | | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   577
  | | x  5:ee481a2a1e69 F
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   578
  | | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   579
  | | x  2:26805aba1e60 C
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   580
  | |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   581
  | x  1:112478962961 B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   582
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   583
  o  0:426bada5c675 A
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   584
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   585
#endif
38424
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   586
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   587
Preserve secret phase in split
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   588
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   589
  $ cp -R $TESTTMP/clean $TESTTMP/phases1
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   590
  $ cd $TESTTMP/phases1
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   591
  $ hg phase --secret -fr tip
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   592
  $ hg log -T '{short(node)} {phase}\n'
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   593
  1df0d5c5a3ab secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   594
  a61bcde8c529 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   595
  $ runsplit tip >/dev/null
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   596
  $ hg log -T '{short(node)} {phase}\n'
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   597
  00eebaf8d2e2 secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   598
  a09ad58faae3 secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   599
  e704349bd21b secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   600
  a61bcde8c529 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   601
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   602
Do not move things to secret even if phases.new-commit=secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   603
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   604
  $ cp -R $TESTTMP/clean $TESTTMP/phases2
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   605
  $ cd $TESTTMP/phases2
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   606
  $ cat >> .hg/hgrc <<EOF
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   607
  > [phases]
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   608
  > new-commit=secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   609
  > EOF
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   610
  $ hg log -T '{short(node)} {phase}\n'
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   611
  1df0d5c5a3ab draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   612
  a61bcde8c529 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   613
  $ runsplit tip >/dev/null
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   614
  $ hg log -T '{short(node)} {phase}\n'
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   615
  00eebaf8d2e2 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   616
  a09ad58faae3 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   617
  e704349bd21b draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   618
  a61bcde8c529 draft
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   619
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   620
`hg split` with ignoreblanklines=1 does not infinite loop
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   621
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   622
  $ mkdir $TESTTMP/f
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   623
  $ hg init $TESTTMP/f/a
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   624
  $ cd $TESTTMP/f/a
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   625
  $ printf '1\n2\n3\n4\n5\n' > foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   626
  $ cp foo bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   627
  $ hg ci -qAm initial
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   628
  $ printf '1\n\n2\n3\ntest\n4\n5\n' > bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   629
  $ printf '1\n2\n3\ntest\n4\n5\n' > foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   630
  $ hg ci -qm splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   631
  $ cat > $TESTTMP/messages <<EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   632
  > split 1
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   633
  > --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   634
  > split 2
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   635
  > EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   636
  $ printf 'f\nn\nf\n' | hg --config extensions.split= --config diff.ignoreblanklines=1 split
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   637
  diff --git a/bar b/bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   638
  2 hunks, 2 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   639
  examine changes to 'bar'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   640
  (enter ? for help) [Ynesfdaq?] f
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   641
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   642
  diff --git a/foo b/foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   643
  1 hunks, 1 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   644
  examine changes to 'foo'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   645
  (enter ? for help) [Ynesfdaq?] n
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   646
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   647
  EDITOR: HG: Splitting dd3c45017cbf. Write commit message for the first split changeset.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   648
  EDITOR: splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   649
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   650
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   651
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   652
  EDITOR: HG: Leave message empty to abort commit.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   653
  EDITOR: HG: --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   654
  EDITOR: HG: user: test
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   655
  EDITOR: HG: branch 'default'
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   656
  EDITOR: HG: changed bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   657
  created new head
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   658
  diff --git a/foo b/foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   659
  1 hunks, 1 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   660
  examine changes to 'foo'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   661
  (enter ? for help) [Ynesfdaq?] f
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   662
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   663
  EDITOR: HG: Splitting dd3c45017cbf. So far it has been split into:
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   664
  EDITOR: HG: - f205aea1c624: split 1
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   665
  EDITOR: HG: Write commit message for the next split changeset.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   666
  EDITOR: splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   667
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   668
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   669
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   670
  EDITOR: HG: Leave message empty to abort commit.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   671
  EDITOR: HG: --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   672
  EDITOR: HG: user: test
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   673
  EDITOR: HG: branch 'default'
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   674
  EDITOR: HG: changed foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   675
  saved backup bundle to $TESTTMP/f/a/.hg/strip-backup/dd3c45017cbf-463441b5-split.hg (obsstore-off !)
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   676
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   677
Let's try that again, with a slightly different set of patches, to ensure that
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   678
the ignoreblanklines thing isn't somehow position dependent.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   679
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   680
  $ hg init $TESTTMP/f/b
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   681
  $ cd $TESTTMP/f/b
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   682
  $ printf '1\n2\n3\n4\n5\n' > foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   683
  $ cp foo bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   684
  $ hg ci -qAm initial
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   685
  $ printf '1\n2\n3\ntest\n4\n5\n' > bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   686
  $ printf '1\n2\n3\ntest\n4\n\n5\n' > foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   687
  $ hg ci -qm splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   688
  $ cat > $TESTTMP/messages <<EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   689
  > split 1
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   690
  > --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   691
  > split 2
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   692
  > EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   693
  $ printf 'f\nn\nf\n' | hg --config extensions.split= --config diff.ignoreblanklines=1 split
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   694
  diff --git a/bar b/bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   695
  1 hunks, 1 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   696
  examine changes to 'bar'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   697
  (enter ? for help) [Ynesfdaq?] f
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   698
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   699
  diff --git a/foo b/foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   700
  2 hunks, 2 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   701
  examine changes to 'foo'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   702
  (enter ? for help) [Ynesfdaq?] n
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   703
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   704
  EDITOR: HG: Splitting 904c80b40a4a. Write commit message for the first split changeset.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   705
  EDITOR: splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   706
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   707
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   708
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   709
  EDITOR: HG: Leave message empty to abort commit.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   710
  EDITOR: HG: --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   711
  EDITOR: HG: user: test
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   712
  EDITOR: HG: branch 'default'
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   713
  EDITOR: HG: changed bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   714
  created new head
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   715
  diff --git a/foo b/foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   716
  2 hunks, 2 lines changed
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   717
  examine changes to 'foo'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   718
  (enter ? for help) [Ynesfdaq?] f
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   719
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   720
  EDITOR: HG: Splitting 904c80b40a4a. So far it has been split into:
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   721
  EDITOR: HG: - ffecf40fa954: split 1
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   722
  EDITOR: HG: Write commit message for the next split changeset.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   723
  EDITOR: splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   724
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   725
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   726
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   727
  EDITOR: HG: Leave message empty to abort commit.
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   728
  EDITOR: HG: --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   729
  EDITOR: HG: user: test
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   730
  EDITOR: HG: branch 'default'
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   731
  EDITOR: HG: changed foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   732
  saved backup bundle to $TESTTMP/f/b/.hg/strip-backup/904c80b40a4a-47fb907f-split.hg (obsstore-off !)
41890
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   733
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   734
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   735
Testing the case in split when commiting flag-only file changes (issue5864)
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   736
---------------------------------------------------------------------------
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   737
  $ hg init $TESTTMP/issue5864
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   738
  $ cd $TESTTMP/issue5864
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   739
  $ echo foo > foo
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   740
  $ hg add foo
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   741
  $ hg ci -m "initial"
41892
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   742
  $ hg import -q --bypass -m "make executable" - <<EOF
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   743
  > diff --git a/foo b/foo
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   744
  > old mode 100644
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   745
  > new mode 100755
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   746
  > EOF
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   747
  $ hg up -q
41890
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   748
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   749
  $ hg glog
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   750
  @  1:3a2125f0f4cb make executable
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   751
  |
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   752
  o  0:51f273a58d82 initial
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   753
  
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   754
41892
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   755
#if no-windows
41982
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   756
  $ cat > $TESTTMP/messages <<EOF
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   757
  > split 1
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   758
  > EOF
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   759
  $ printf 'y\n' | hg split
41890
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   760
  diff --git a/foo b/foo
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   761
  old mode 100644
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   762
  new mode 100755
42566
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   763
  examine changes to 'foo'?
f802a75da585 patch: use a short, fixed-size message for last line of prompt (issue6158)
Kyle Lippincott <spectral@google.com>
parents: 41982
diff changeset
   764
  (enter ? for help) [Ynesfdaq?] y
41890
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   765
  
41982
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   766
  EDITOR: HG: Splitting 3a2125f0f4cb. Write commit message for the first split changeset.
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   767
  EDITOR: make executable
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   768
  EDITOR: 
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   769
  EDITOR: 
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   770
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   771
  EDITOR: HG: Leave message empty to abort commit.
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   772
  EDITOR: HG: --
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   773
  EDITOR: HG: user: test
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   774
  EDITOR: HG: branch 'default'
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   775
  EDITOR: HG: changed foo
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   776
  created new head
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   777
  saved backup bundle to $TESTTMP/issue5864/.hg/strip-backup/3a2125f0f4cb-629e4432-split.hg (obsstore-off !)
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   778
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   779
  $ hg log -G -T "{node|short} {desc}\n"
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   780
  @  b154670c87da split 1
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   781
  |
f8c5225b9054 patch: include flag-only file changes in "special" when filtering (issue5864)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41892
diff changeset
   782
  o  51f273a58d82 initial
41890
7da6307cc07a split: add tests which demonstrate the issue5864
Sushil khanchi <sushilkhanchi97@gmail.com>
parents: 41560
diff changeset
   783
  
41892
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   784
#else
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   785
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   786
TODO: Fix this on Windows. See issue 2020 and 5883
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   787
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   788
  $ printf 'y\ny\ny\n' | hg split
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   789
  abort: cannot split an empty revision
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   790
  [255]
0cbcb3e13fcf tests: stabilize test-split.t for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 41890
diff changeset
   791
#endif
42855
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   792
42856
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   793
Test that splitting moves works properly (issue5723)
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   794
----------------------------------------------------
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   795
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   796
  $ hg init $TESTTMP/issue5723-mv
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   797
  $ cd $TESTTMP/issue5723-mv
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   798
  $ printf '1\n2\n' > file
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   799
  $ hg ci -qAm initial
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   800
  $ hg mv file file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   801
  $ printf 'a\nb\n1\n2\n3\n4\n' > file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   802
  $ cat > $TESTTMP/messages <<EOF
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   803
  > split1, keeping only the numbered lines
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   804
  > --
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   805
  > split2, keeping the lettered lines
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   806
  > EOF
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   807
  $ hg ci -m 'move and modify'
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   808
  $ printf 'y\nn\na\na\n' | hg split
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   809
  diff --git a/file b/file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   810
  rename from file
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   811
  rename to file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   812
  2 hunks, 4 lines changed
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   813
  examine changes to 'file' and 'file2'?
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   814
  (enter ? for help) [Ynesfdaq?] y
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   815
  
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   816
  @@ -0,0 +1,2 @@
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   817
  +a
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   818
  +b
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   819
  record change 1/2 to 'file2'?
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   820
  (enter ? for help) [Ynesfdaq?] n
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   821
  
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   822
  @@ -2,0 +5,2 @@ 2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   823
  +3
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   824
  +4
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   825
  record change 2/2 to 'file2'?
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   826
  (enter ? for help) [Ynesfdaq?] a
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   827
  
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   828
  EDITOR: HG: Splitting 8c42fa635116. Write commit message for the first split changeset.
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   829
  EDITOR: move and modify
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   830
  EDITOR: 
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   831
  EDITOR: 
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   832
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   833
  EDITOR: HG: Leave message empty to abort commit.
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   834
  EDITOR: HG: --
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   835
  EDITOR: HG: user: test
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   836
  EDITOR: HG: branch 'default'
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   837
  EDITOR: HG: added file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   838
  EDITOR: HG: removed file
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   839
  created new head
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   840
  diff --git a/file2 b/file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   841
  1 hunks, 2 lines changed
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   842
  examine changes to 'file2'?
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   843
  (enter ? for help) [Ynesfdaq?] a
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   844
  
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   845
  EDITOR: HG: Splitting 8c42fa635116. So far it has been split into:
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   846
  EDITOR: HG: - 478be2a70c27: split1, keeping only the numbered lines
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   847
  EDITOR: HG: Write commit message for the next split changeset.
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   848
  EDITOR: move and modify
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   849
  EDITOR: 
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   850
  EDITOR: 
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   851
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   852
  EDITOR: HG: Leave message empty to abort commit.
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   853
  EDITOR: HG: --
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   854
  EDITOR: HG: user: test
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   855
  EDITOR: HG: branch 'default'
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   856
  EDITOR: HG: changed file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   857
  saved backup bundle to $TESTTMP/issue5723-mv/.hg/strip-backup/8c42fa635116-a38044d4-split.hg (obsstore-off !)
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   858
  $ hg log -T '{desc}: {files%"{file} "}\n'
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   859
  split2, keeping the lettered lines: file2 
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   860
  split1, keeping only the numbered lines: file file2 
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   861
  initial: file 
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   862
  $ cat file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   863
  a
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   864
  b
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   865
  1
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   866
  2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   867
  3
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   868
  4
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   869
  $ hg cat -r ".^" file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   870
  1
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   871
  2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   872
  3
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   873
  4
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   874
  $ hg cat -r . file2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   875
  a
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   876
  b
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   877
  1
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   878
  2
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   879
  3
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   880
  4
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   881
3cf091843b4f split: handle partial commit of renames when doing split or record (issue5723)
Kyle Lippincott <spectral@google.com>
parents: 42855
diff changeset
   882
42855
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   883
Test that splitting copies works properly (issue5723)
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   884
----------------------------------------------------
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   885
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   886
  $ hg init $TESTTMP/issue5723-cp
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   887
  $ cd $TESTTMP/issue5723-cp
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   888
  $ printf '1\n2\n' > file
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   889
  $ hg ci -qAm initial
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   890
  $ hg cp file file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   891
  $ printf 'a\nb\n1\n2\n3\n4\n' > file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   892
Also modify 'file' to prove that the changes aren't being pulled in
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   893
accidentally.
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   894
  $ printf 'this is the new contents of "file"' > file
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   895
  $ cat > $TESTTMP/messages <<EOF
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   896
  > split1, keeping "file" and only the numbered lines in file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   897
  > --
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   898
  > split2, keeping the lettered lines in file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   899
  > EOF
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   900
  $ hg ci -m 'copy file->file2, modify both'
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   901
  $ printf 'f\ny\nn\na\na\n' | hg split
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   902
  diff --git a/file b/file
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   903
  1 hunks, 2 lines changed
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   904
  examine changes to 'file'?
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   905
  (enter ? for help) [Ynesfdaq?] f
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   906
  
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   907
  diff --git a/file b/file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   908
  copy from file
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   909
  copy to file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   910
  2 hunks, 4 lines changed
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   911
  examine changes to 'file' and 'file2'?
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   912
  (enter ? for help) [Ynesfdaq?] y
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   913
  
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   914
  @@ -0,0 +1,2 @@
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   915
  +a
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   916
  +b
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   917
  record change 2/3 to 'file2'?
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   918
  (enter ? for help) [Ynesfdaq?] n
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   919
  
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   920
  @@ -2,0 +5,2 @@ 2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   921
  +3
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   922
  +4
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   923
  record change 3/3 to 'file2'?
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   924
  (enter ? for help) [Ynesfdaq?] a
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   925
  
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   926
  EDITOR: HG: Splitting 41c861dfa61e. Write commit message for the first split changeset.
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   927
  EDITOR: copy file->file2, modify both
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   928
  EDITOR: 
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   929
  EDITOR: 
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   930
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   931
  EDITOR: HG: Leave message empty to abort commit.
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   932
  EDITOR: HG: --
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   933
  EDITOR: HG: user: test
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   934
  EDITOR: HG: branch 'default'
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   935
  EDITOR: HG: added file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   936
  EDITOR: HG: changed file
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   937
  created new head
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   938
  diff --git a/file2 b/file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   939
  1 hunks, 2 lines changed
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   940
  examine changes to 'file2'?
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   941
  (enter ? for help) [Ynesfdaq?] a
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   942
  
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   943
  EDITOR: HG: Splitting 41c861dfa61e. So far it has been split into:
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   944
  EDITOR: HG: - 4b19e06610eb: split1, keeping "file" and only the numbered lines in file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   945
  EDITOR: HG: Write commit message for the next split changeset.
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   946
  EDITOR: copy file->file2, modify both
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   947
  EDITOR: 
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   948
  EDITOR: 
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   949
  EDITOR: HG: Enter commit message.  Lines beginning with 'HG:' are removed.
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   950
  EDITOR: HG: Leave message empty to abort commit.
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   951
  EDITOR: HG: --
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   952
  EDITOR: HG: user: test
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   953
  EDITOR: HG: branch 'default'
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   954
  EDITOR: HG: changed file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   955
  saved backup bundle to $TESTTMP/issue5723-cp/.hg/strip-backup/41c861dfa61e-467e8d3c-split.hg (obsstore-off !)
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   956
  $ hg log -T '{desc}: {files%"{file} "}\n'
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   957
  split2, keeping the lettered lines in file2: file2 
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   958
  split1, keeping "file" and only the numbered lines in file2: file file2 
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   959
  initial: file 
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   960
  $ cat file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   961
  a
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   962
  b
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   963
  1
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   964
  2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   965
  3
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   966
  4
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   967
  $ hg cat -r ".^" file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   968
  1
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   969
  2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   970
  3
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   971
  4
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   972
  $ hg cat -r . file2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   973
  a
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   974
  b
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   975
  1
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   976
  2
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   977
  3
1fd530b1e1cf split: handle partial commit of copies when doing split or record
Kyle Lippincott <spectral@google.com>
parents: 42566
diff changeset
   978
  4