tests/test-split.t
author Martin von Zweigbergk <martinvonz@google.com>
Wed, 20 Feb 2019 15:39:01 -0800
changeset 41751 4ec0ce0fb929
parent 41560 66399f2e92aa
child 41890 7da6307cc07a
permissions -rw-r--r--
tests: add tests of pathcopies() I'm working on support for storing copy metadata in the changeset instead of in the filelog. When storing it in the changeset, it will obviously be efficient to get the copy metadata for all files in a single changeset, but it will be more expensive to get the copy metadata all revisions of a single file. Some algorithms will then need to be optimized differently. The first method I'm going to rewrite is pathcopies(). This commit adds many tests for pathcopies(), so we can run the tests with both old and new versions of the code, as well as with metadata stored in filelog or in changeset (later). They use the debugpathcopies command I recently added (with no tests when it was added). They show a few bugs and few cases of slightly weird behavior. I'll fix the bugs in the next few commits. Differential Revision: https://phab.mercurial-scm.org/D5986
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 .
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
    80
  abort: cannot split public changeset
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
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   138
  examine changes to 'a'? [Ynesfdaq?] y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   139
  
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   140
  @@ -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
   141
  -1
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   142
  +11
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   143
  record change 1/3 to 'a'? [Ynesfdaq?] n
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   144
  
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   145
  @@ -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
   146
  -3
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   147
  +33
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   148
  record change 2/3 to 'a'? [Ynesfdaq?] n
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   149
  
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   150
  @@ -5,1 +5,1 @@ 4
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   151
  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   152
  +55
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   153
  record change 3/3 to 'a'? [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   154
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   155
  transaction abort!
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   156
  rollback completed
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   157
  abort: edit failed: false exited with status 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   158
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   159
  $ hg status
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   160
35479
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
   161
  $ HGEDITOR="\"$PYTHON\" $TESTTMP/editor.py"
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   162
  $ runsplit
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   163
  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
   164
  3 hunks, 3 lines changed
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   165
  examine changes to 'a'? [Ynesfdaq?] y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   166
  
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   167
  @@ -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
   168
  -1
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   169
  +11
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   170
  record change 1/3 to 'a'? [Ynesfdaq?] n
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   171
  
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   172
  @@ -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
   173
  -3
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   174
  +33
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   175
  record change 2/3 to 'a'? [Ynesfdaq?] n
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   176
  
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   177
  @@ -5,1 +5,1 @@ 4
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   178
  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   179
  +55
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   180
  record change 3/3 to 'a'? [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   181
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   182
  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
   183
  EDITOR: a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   184
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   185
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   186
  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
   187
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   188
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   189
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   190
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   191
  EDITOR: HG: changed a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   192
  created new head
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   193
  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
   194
  2 hunks, 2 lines changed
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   195
  examine changes to 'a'? [Ynesfdaq?] y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   196
  
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   197
  @@ -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
   198
  -1
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   199
  +11
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   200
  record change 1/2 to 'a'? [Ynesfdaq?] n
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   201
  
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   202
  @@ -3,1 +3,1 @@ 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   203
  -3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   204
  +33
41454
d1d3094b54f9 patch: handle 0 context lines (diff.unified=0) when parsing patches
Kyle Lippincott <spectral@google.com>
parents: 39707
diff changeset
   205
  record change 2/2 to 'a'? [Ynesfdaq?] y
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   206
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   207
  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
   208
  EDITOR: HG: - e704349bd21b: split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   209
  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
   210
  EDITOR: a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   211
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   212
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   213
  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
   214
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   215
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   216
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   217
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   218
  EDITOR: HG: changed a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   219
  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   220
  1 hunks, 1 lines changed
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   221
  examine changes to 'a'? [Ynesfdaq?] y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   222
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   223
  @@ -1,1 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   224
  -1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   225
  +11
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   226
  record this change to 'a'? [Ynesfdaq?] y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   227
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   228
  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
   229
  EDITOR: HG: - e704349bd21b: split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   230
  EDITOR: HG: - a09ad58faae3: split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   231
  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
   232
  EDITOR: a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   233
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   234
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   235
  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
   236
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   237
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   238
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   239
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   240
  EDITOR: HG: changed a
35479
8d05705bde0a test-split: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 35455
diff changeset
   241
  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
   242
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   243
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   244
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   245
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   246
     r2                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   247
   * r3                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   248
  $ hg glog -p
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   249
  @  3:00eebaf8d2e2 split 3 r2 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   250
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   251
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   252
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   253
  |  @@ -1,1 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   254
  |  -1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   255
  |  +11
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   256
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   257
  o  2:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   258
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   259
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   260
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   261
  |  @@ -3,1 +3,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   262
  |  -3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   263
  |  +33
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   264
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   265
  o  1:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   266
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   267
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   268
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   269
  |  @@ -5,1 +5,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   270
  |  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   271
  |  +55
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   272
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   273
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   274
     diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   275
     new file mode 100644
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   276
     --- /dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   277
     +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   278
     @@ -0,0 +1,5 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   279
     +1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   280
     +2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   281
     +3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   282
     +4
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
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   285
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   286
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   287
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   288
     r2                        4:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   289
   * r3                        4:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   290
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   291
  @  4:00eebaf8d2e2 split 3 r2 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   292
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   293
  o  3:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   294
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   295
  o  2:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   296
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   297
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   298
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   299
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   300
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   301
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
   302
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
   303
  $ cp -R $TESTTMP/clean $TESTTMP/b
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   304
  $ cd $TESTTMP/b
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
  $ hg up 0 -q
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   307
  $ hg bookmark r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   308
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   309
  $ runsplit tip >/dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   310
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   311
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   312
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   313
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   314
     r2                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   315
   * r3                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   316
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   317
  o  3:00eebaf8d2e2 split 3 r2
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
  o  2:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   320
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   321
  o  1:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   322
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   323
  @  0:a61bcde8c529 a1 r1 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   324
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   325
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   326
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   327
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   328
     r2                        4:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   329
   * r3                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   330
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   331
  o  4:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   332
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   333
  o  3:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   334
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   335
  o  2:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   336
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   337
  @  0:a61bcde8c529 a1 r1 r3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   338
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   339
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   340
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   341
Split a non-head
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   342
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
   343
  $ cp -R $TESTTMP/clean $TESTTMP/c
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   344
  $ cd $TESTTMP/c
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   345
  $ echo d > d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   346
  $ hg ci -m d1 -A d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   347
  $ hg bookmark -i d1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   348
  $ echo 2 >> d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   349
  $ hg ci -m d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   350
  $ echo 3 >> d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   351
  $ hg ci -m d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   352
  $ hg bookmark -i d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   353
  $ hg up '.^' -q
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   354
  $ hg bookmark d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   355
  $ cp -R . ../d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   356
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   357
  $ runsplit -r 1 | grep rebasing
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   358
  rebasing 2:b5c5ea414030 "d1" (d1)
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   359
  rebasing 3:f4a0a8d004cc "d2" (d2)
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   360
  rebasing 4:777940761eba "d3" (d3)
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   361
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   362
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   363
     d1                        4:c4b449ef030e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   364
   * d2                        5:c9dd00ab36a3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   365
     d3                        6:19f476bc865c
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   366
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   367
     r2                        3:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   368
  $ hg glog -p
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   369
  o  6:19f476bc865c d3 d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   370
  |  diff --git a/d b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   371
  |  --- a/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   372
  |  +++ b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   373
  |  @@ -2,0 +3,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   374
  |  +3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   375
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   376
  @  5:c9dd00ab36a3 d2 d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   377
  |  diff --git a/d b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   378
  |  --- a/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   379
  |  +++ b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   380
  |  @@ -1,0 +2,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   381
  |  +2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   382
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   383
  o  4:c4b449ef030e d1 d1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   384
  |  diff --git a/d b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   385
  |  new file mode 100644
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   386
  |  --- /dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   387
  |  +++ b/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   388
  |  @@ -0,0 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   389
  |  +d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   390
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   391
  o  3:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   392
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   393
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   394
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   395
  |  @@ -1,1 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   396
  |  -1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   397
  |  +11
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   398
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   399
  o  2:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   400
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   401
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   402
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   403
  |  @@ -3,1 +3,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   404
  |  -3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   405
  |  +33
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   406
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   407
  o  1:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   408
  |  diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   409
  |  --- a/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   410
  |  +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   411
  |  @@ -5,1 +5,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   412
  |  -5
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   413
  |  +55
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   414
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   415
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   416
     diff --git a/a b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   417
     new file mode 100644
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   418
     --- /dev/null
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   419
     +++ b/a
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   420
     @@ -0,0 +1,5 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   421
     +1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   422
     +2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   423
     +3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   424
     +4
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
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   427
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   428
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   429
     d1                        8:c4b449ef030e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   430
   * d2                        9:c9dd00ab36a3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   431
     d3                        10:19f476bc865c
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   432
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   433
     r2                        7:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   434
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   435
  o  10:19f476bc865c d3 d3
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   436
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   437
  @  9:c9dd00ab36a3 d2 d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   438
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   439
  o  8:c4b449ef030e d1 d1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   440
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   441
  o  7:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   442
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   443
  o  6:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   444
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   445
  o  5:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   446
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   447
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   448
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   449
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   450
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   451
Split a non-head without rebase
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   452
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   453
  $ cd $TESTTMP/d
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   454
#if obsstore-off
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   455
  $ runsplit -r 1 --no-rebase
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   456
  abort: cannot split changeset with children without rebase
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   457
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   458
#else
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   459
  $ runsplit -r 1 --no-rebase >/dev/null
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   460
  3 new orphan changesets
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   461
  $ hg bookmark
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   462
     d1                        2:b5c5ea414030
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   463
   * d2                        3:f4a0a8d004cc
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   464
     d3                        4:777940761eba
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   465
     r1                        0:a61bcde8c529
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   466
     r2                        7:00eebaf8d2e2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   467
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   468
  $ hg glog
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   469
  o  7:00eebaf8d2e2 split 3 r2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   470
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   471
  o  6:a09ad58faae3 split 2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   472
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   473
  o  5:e704349bd21b split 1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   474
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   475
  | *  4:777940761eba d3 d3
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   476
  | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   477
  | @  3:f4a0a8d004cc d2 d2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   478
  | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   479
  | *  2:b5c5ea414030 d1 d1
35455
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
  | x  1:1df0d5c5a3ab a2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   482
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   483
  o  0:a61bcde8c529 a1 r1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   484
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   485
#endif
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   486
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   487
Split a non-head with obsoleted descendants
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   488
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   489
#if obsstore-on
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   490
  $ hg init $TESTTMP/e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   491
  $ cd $TESTTMP/e
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   492
  $ hg debugdrawdag <<'EOS'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   493
  >   H I   J
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   494
  >   | |   |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   495
  >   F G1 G2  # amend: G1 -> G2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   496
  >   | |  /   # prune: F
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   497
  >   C D E
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   498
  >    \|/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   499
  >     B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   500
  >     |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   501
  >     A
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   502
  > EOS
35709
1a09dad8b85a evolution: report new unstable changesets
Martin von Zweigbergk <martinvonz@google.com>
parents: 35508
diff changeset
   503
  2 new orphan changesets
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   504
  $ eval `hg tags -T '{tag}={node}\n'`
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   505
  $ rm .hg/localtags
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   506
  $ hg split $B --config experimental.evolution=createmarkers
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   507
  abort: split would leave orphaned changesets behind
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   508
  [255]
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   509
  $ cat > $TESTTMP/messages <<EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   510
  > Split B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   511
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   512
  $ cat <<EOF | hg split $B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   513
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   514
  > y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   515
  > EOF
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   516
  diff --git a/B b/B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   517
  new file mode 100644
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   518
  examine changes to 'B'? [Ynesfdaq?] y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   519
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   520
  @@ -0,0 +1,1 @@
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   521
  +B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   522
  \ No newline at end of file
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   523
  record this change to 'B'? [Ynesfdaq?] y
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   524
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   525
  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
   526
  EDITOR: B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   527
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   528
  EDITOR: 
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   529
  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
   530
  EDITOR: HG: Leave message empty to abort commit.
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   531
  EDITOR: HG: --
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   532
  EDITOR: HG: user: test
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   533
  EDITOR: HG: branch 'default'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   534
  EDITOR: HG: added B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   535
  created new head
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   536
  rebasing 2:26805aba1e60 "C"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   537
  rebasing 3:be0ef73c17ad "D"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   538
  rebasing 4:49cb92066bfd "E"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   539
  rebasing 7:97a6268cc7ef "G2"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   540
  rebasing 10:e2f1e425c0db "J"
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   541
  $ hg glog -r 'sort(all(), topo)'
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   542
  o  16:556c085f8b52 J
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   543
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   544
  o  15:8761f6c9123f G2
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   545
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   546
  o  14:a7aeffe59b65 E
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   547
  |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   548
  | o  13:e1e914ede9ab D
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   549
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   550
  | o  12:01947e9b98aa C
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   551
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   552
  o  11:0947baa74d47 Split B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   553
  |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   554
  | *  9:88ede1d5ee13 I
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   555
  | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   556
  | x  6:af8cbf225b7b G1
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   557
  | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   558
  | x  3:be0ef73c17ad D
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   559
  | |
35508
9b3f95d9783d graphlog: add another graph node type, unstable, using character "*" (BC)
Anton Shestakov <av6@dwimlabs.net>
parents: 35479
diff changeset
   560
  | | *  8:74863e5b5074 H
35455
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   561
  | | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   562
  | | x  5:ee481a2a1e69 F
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   563
  | | |
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   564
  | | x  2:26805aba1e60 C
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   565
  | |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   566
  | x  1:112478962961 B
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   567
  |/
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   568
  o  0:426bada5c675 A
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   569
  
02ea370c2baa split: new extension to split changesets
Jun Wu <quark@fb.com>
parents:
diff changeset
   570
#endif
38424
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   571
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   572
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
   573
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   574
  $ 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
   575
  $ cd $TESTTMP/phases1
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   576
  $ 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
   577
  $ 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
   578
  1df0d5c5a3ab secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   579
  a61bcde8c529 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   580
  $ runsplit tip >/dev/null
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   581
  $ 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
   582
  00eebaf8d2e2 secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   583
  a09ad58faae3 secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   584
  e704349bd21b secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   585
  a61bcde8c529 draft
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
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
   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/phases2
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   590
  $ cd $TESTTMP/phases2
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   591
  $ cat >> .hg/hgrc <<EOF
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   592
  > [phases]
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   593
  > new-commit=secret
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   594
  > EOF
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   595
  $ 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
   596
  1df0d5c5a3ab draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   597
  a61bcde8c529 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   598
  $ runsplit tip >/dev/null
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   599
  $ 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
   600
  00eebaf8d2e2 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   601
  a09ad58faae3 draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   602
  e704349bd21b draft
4f885770c4a2 split: preserve phase of commit that is being split
Martin von Zweigbergk <martinvonz@google.com>
parents: 38412
diff changeset
   603
  a61bcde8c529 draft
41557
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   604
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   605
`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
   606
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   607
  $ mkdir $TESTTMP/f
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   608
  $ 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
   609
  $ cd $TESTTMP/f/a
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   610
  $ 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
   611
  $ cp foo bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   612
  $ hg ci -qAm initial
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   613
  $ 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
   614
  $ 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
   615
  $ hg ci -qm splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   616
  $ cat > $TESTTMP/messages <<EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   617
  > split 1
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   618
  > --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   619
  > split 2
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   620
  > EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   621
  $ 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
   622
  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
   623
  2 hunks, 2 lines changed
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   624
  examine changes to 'bar'? [Ynesfdaq?] f
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   625
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   626
  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
   627
  1 hunks, 1 lines changed
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   628
  examine changes to 'foo'? [Ynesfdaq?] n
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   629
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   630
  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
   631
  EDITOR: splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   632
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   633
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   634
  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
   635
  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
   636
  EDITOR: HG: --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   637
  EDITOR: HG: user: test
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   638
  EDITOR: HG: branch 'default'
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   639
  EDITOR: HG: changed bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   640
  created new head
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   641
  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
   642
  1 hunks, 1 lines changed
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   643
  examine changes to 'foo'? [Ynesfdaq?] f
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   644
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   645
  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
   646
  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
   647
  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
   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 foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   657
  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
   658
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   659
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
   660
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
   661
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   662
  $ 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
   663
  $ cd $TESTTMP/f/b
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   664
  $ 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
   665
  $ cp foo bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   666
  $ hg ci -qAm initial
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   667
  $ 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
   668
  $ 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
   669
  $ hg ci -qm splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   670
  $ cat > $TESTTMP/messages <<EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   671
  > split 1
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   672
  > --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   673
  > split 2
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   674
  > EOF
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   675
  $ 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
   676
  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
   677
  1 hunks, 1 lines changed
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   678
  examine changes to 'bar'? [Ynesfdaq?] f
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
  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
   681
  2 hunks, 2 lines changed
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   682
  examine changes to 'foo'? [Ynesfdaq?] n
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   683
  
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   684
  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
   685
  EDITOR: splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   686
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   687
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   688
  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
   689
  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
   690
  EDITOR: HG: --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   691
  EDITOR: HG: user: test
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   692
  EDITOR: HG: branch 'default'
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   693
  EDITOR: HG: changed bar
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   694
  created new head
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   695
  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
   696
  2 hunks, 2 lines changed
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   697
  examine changes to 'foo'? [Ynesfdaq?] f
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
  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
   700
  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
   701
  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
   702
  EDITOR: splitme
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   703
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   704
  EDITOR: 
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   705
  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
   706
  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
   707
  EDITOR: HG: --
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   708
  EDITOR: HG: user: test
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   709
  EDITOR: HG: branch 'default'
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   710
  EDITOR: HG: changed foo
3a01ce246ece commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com>
parents: 41454
diff changeset
   711
  saved backup bundle to $TESTTMP/f/b/.hg/strip-backup/904c80b40a4a-47fb907f-split.hg (obsstore-off !)