tests/test-split.t
author Pulkit Goyal <7895pulkit@gmail.com>
Sat, 06 Jan 2018 18:48:15 +0530
changeset 3385 823031b51d81
parent 3270 e6150b9b88d9
child 3273 c0ee9ddfd5ff
child 3431 2e703ed1c713
permissions -rw-r--r--
evolve: don't use graftstate for continuing `hg evolve` Before this patch, if user runs `hg evolve`, we read the evolve state, write a graftstate from that information and run graft command. This patch replaces that logic with new logic which does not depends on the graft state. The new logic is very filtered part of logic from graft command. We did not require a lot of opts checking and filtering revs logic from the graft command as our use case is fixed. This is the start of series/work which will make `hg evolve` better and have a good statefile for itself.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
     1
test of the split command
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
     2
-----------------------
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
     3
2775
1d16c9dcb825 test: use common setup for test-split.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2771
diff changeset
     4
  $ . $TESTDIR/testlib/common.sh
1d16c9dcb825 test: use common setup for test-split.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2771
diff changeset
     5
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
     6
  $ cat >> $HGRCPATH <<EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
     7
  > [defaults]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
     8
  > amend=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
     9
  > fold=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    10
  > split=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    11
  > amend=-d "0 0"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    12
  > [web]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    13
  > push_ssl = false
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    14
  > allow_push = *
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    15
  > [phases]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    16
  > publish = False
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    17
  > [diff]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    18
  > git = 1
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    19
  > unified = 0
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    20
  > [ui]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    21
  > interactive = true
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    22
  > [extensions]
2775
1d16c9dcb825 test: use common setup for test-split.t
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2771
diff changeset
    23
  > evolve =
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    24
  > EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    25
  $ mkcommit() {
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    26
  >    echo "$1" > "$1"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    27
  >    hg add "$1"
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
    28
  >    hg ci -m "add $1" $2 $3
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    29
  > }
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    30
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    31
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    32
Basic case, split a head
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    33
  $ hg init testsplit
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    34
  $ cd testsplit
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    35
  $ mkcommit _a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    36
  $ mkcommit _b
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
    37
  $ mkcommit _c --user other-test-user
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    38
  $ mkcommit _d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    39
  $ echo "change to a" >> _a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    40
  $ hg amend
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    41
  $ hg debugobsolete
3015
4b951a9a6895 tests: update test output with commit ecc96506c49d in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    42
  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    43
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    44
To create commits with the number of split
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    45
  $ echo 0 > num
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    46
  $ cat > editor.sh << '__EOF__'
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    47
  > NUM=$(cat num)
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    48
  > NUM=`expr "$NUM" + 1`
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    49
  > echo "$NUM" > num
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    50
  > echo "split$NUM" > "$1"
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    51
  > __EOF__
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    52
  $ export HGEDITOR="\"sh\" \"editor.sh\""
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    53
  $ hg split << EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    54
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    55
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    56
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    57
  > n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    58
  > N
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    59
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    60
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    61
  > EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    62
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    63
  reverting _a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    64
  adding _d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    65
  diff --git a/_a b/_a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    66
  1 hunks, 1 lines changed
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    67
  examine changes to '_a'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    68
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    69
  @@ -1,0 +2,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    70
  +change to a
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    71
  record change 1/2 to '_a'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    72
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    73
  diff --git a/_d b/_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    74
  new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    75
  examine changes to '_d'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    76
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    77
  @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    78
  +_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    79
  record change 2/2 to '_d'? [Ynesfdaq?] n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    80
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    81
  created new head
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    82
  Done splitting? [yN] N
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    83
  diff --git a/_d b/_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    84
  new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    85
  examine changes to '_d'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    86
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    87
  @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    88
  +_d
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    89
  record this change to '_d'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    90
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    91
  no more change to split
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    92
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
    93
  $ hg debugobsolete
3015
4b951a9a6895 tests: update test output with commit ecc96506c49d in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
    94
  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
    95
  d2fe56e71366c2c5376c89960c281395062c0619 2d8abdb827cdf71ca477ef6985d7ceb257c53c1b 033b3f5ae73db67c10de938fb6f26b949aaef172 0 (*) {'ef1': '13', 'user': 'test'} (glob)
2776
4dd84054ebbb test: remove reference to the graphlog extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2775
diff changeset
    96
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
    97
  @  changeset:   6:033b3f5ae73d
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    98
  |  tag:         tip
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
    99
  |  user:        test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   100
  |  date:        Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   101
  |  summary:     split2
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   102
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   103
  o  changeset:   5:2d8abdb827cd
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   104
  |  parent:      2:52149352b372
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   105
  |  user:        test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   106
  |  date:        Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   107
  |  summary:     split1
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   108
  |
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   109
  o  changeset:   2:52149352b372
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   110
  |  user:        other-test-user
1482
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   111
  |  date:        Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   112
  |  summary:     add _c
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   113
  |
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   114
  o  changeset:   1:37445b16603b
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   115
  |  user:        test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   116
  |  date:        Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   117
  |  summary:     add _b
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   118
  |
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   119
  o  changeset:   0:135f39f4bd78
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   120
     user:        test
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   121
     date:        Thu Jan 01 00:00:00 1970 +0000
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   122
     summary:     add _a
c7726b19c7a0 split: fix commit message numbering error in the test
Laurent Charignon <lcharignon@fb.com>
parents: 1478
diff changeset
   123
  
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   124
1672
1b2efccfa4f3 Spelling: committed
timeless@gmail.com
parents: 1641
diff changeset
   125
Cannot split a commit with uncommitted changes
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   126
  $ hg up "desc(_c)"
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   127
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   128
  $ echo "_cd" > _c
2576
bfc563aaac2a effectflag: activate effect flag on test-split.t test file
Boris Feld <boris.feld@octobus.net>
parents: 1806
diff changeset
   129
  $ hg split
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   130
  abort: uncommitted changes
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   131
  [255]
2786
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   132
  $ hg up "desc(_c)" -C
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   133
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   134
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   135
Cannot split public changeset
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   136
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   137
  $ hg phase --rev 'desc("_a")'
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   138
  0: draft
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   139
  $ hg phase --rev 'desc("_a")' --public
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   140
  $ hg split --rev 'desc("_a")'
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   141
  abort: cannot split public changesets: 135f39f4bd78
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   142
  (see 'hg help phases' for details)
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   143
  [255]
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   144
  $ hg phase --rev 'desc("_a")' --draft --force
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   145
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   146
Split a revision specified with -r
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   147
  $ echo "change to b" >> _b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   148
  $ hg amend -m "_cprim"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   149
  2 new orphan changesets
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   150
  $ hg evolve --all
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   151
  move:[5] split1
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   152
  atop:[7] _cprim
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   153
  move:[6] split2
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   154
  atop:[8] split1
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   155
  working directory is now at * (glob)
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   156
  $ hg log -r "desc(_cprim)" -v -p
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   157
  changeset:   7:b434287e665c
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   158
  parent:      1:37445b16603b
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   159
  user:        other-test-user
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   160
  date:        Thu Jan 01 00:00:00 1970 +0000
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   161
  files:       _b _c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   162
  description:
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   163
  _cprim
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   164
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   165
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   166
  diff --git a/_b b/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   167
  --- a/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   168
  +++ b/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   169
  @@ -1,0 +2,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   170
  +change to b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   171
  diff --git a/_c b/_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   172
  new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   173
  --- /dev/null
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   174
  +++ b/_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   175
  @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   176
  +_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   177
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   178
  $ hg split -r "desc(_cprim)" <<EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   179
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   180
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   181
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   182
  > n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   183
  > y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   184
  > EOF
1484
e3484e9632cd split: don't update before it is actually needed
Laurent Charignon <lcharignon@fb.com>
parents: 1483
diff changeset
   185
  2 files updated, 0 files merged, 2 files removed, 0 files unresolved
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   186
  reverting _b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   187
  adding _c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   188
  diff --git a/_b b/_b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   189
  1 hunks, 1 lines changed
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   190
  examine changes to '_b'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   191
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   192
  @@ -1,0 +2,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   193
  +change to b
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   194
  record change 1/2 to '_b'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   195
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   196
  diff --git a/_c b/_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   197
  new file mode 100644
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   198
  examine changes to '_c'? [Ynesfdaq?] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   199
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   200
  @@ -0,0 +1,1 @@
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   201
  +_c
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   202
  record change 2/2 to '_c'? [Ynesfdaq?] n
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   203
  
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   204
  created new head
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   205
  Done splitting? [yN] y
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   206
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   207
Stop before splitting the commit completely creates a commit with all the
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   208
remaining changes
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   209
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   210
  $ hg debugobsolete
3015
4b951a9a6895 tests: update test output with commit ecc96506c49d in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   211
  1334a80b33c3f9873edab728fbbcf500eab61d2e d2fe56e71366c2c5376c89960c281395062c0619 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '8', 'operation': 'amend', 'user': 'test'}
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   212
  d2fe56e71366c2c5376c89960c281395062c0619 2d8abdb827cdf71ca477ef6985d7ceb257c53c1b 033b3f5ae73db67c10de938fb6f26b949aaef172 0 (*) {'ef1': '13', 'user': 'test'} (glob)
3015
4b951a9a6895 tests: update test output with commit ecc96506c49d in core
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3013
diff changeset
   213
  52149352b372d39b19127d5bd2d488b1b63f9f85 b434287e665ce757ee5463a965cb3d119ca9e893 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'amend', 'user': 'test'}
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   214
  2d8abdb827cdf71ca477ef6985d7ceb257c53c1b e2b4afde39803bd42bb1374b230fca1b1e8cc868 0 (*) {'ef1': '4', 'user': 'test'} (glob)
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   215
  033b3f5ae73db67c10de938fb6f26b949aaef172 bb5e4f6020c74e7961a51fda635ea9df9b04dda8 0 (*) {'ef1': '4', 'user': 'test'} (glob)
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   216
  b434287e665ce757ee5463a965cb3d119ca9e893 ead2066d1dbf14833fe1069df1b735e4e9468c40 1188c4216eba37f18a1de6558564601d00ff2143 0 (*) {'ef1': '13', 'user': 'test'} (glob)
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   217
  $ hg evolve --all
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   218
  move:[8] split1
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   219
  atop:[11] split4
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   220
  move:[9] split2
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   221
  atop:[12] split1
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   222
  working directory is now at d74c6715e706
2776
4dd84054ebbb test: remove reference to the graphlog extension
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2775
diff changeset
   223
  $ hg log -G
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   224
  @  changeset:   13:d74c6715e706
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   225
  |  tag:         tip
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   226
  |  user:        test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   227
  |  date:        Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   228
  |  summary:     split2
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   229
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   230
  o  changeset:   12:3f134f739075
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   231
  |  user:        test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   232
  |  date:        Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   233
  |  summary:     split1
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   234
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   235
  o  changeset:   11:1188c4216eba
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   236
  |  user:        other-test-user
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   237
  |  date:        Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   238
  |  summary:     split4
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   239
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   240
  o  changeset:   10:ead2066d1dbf
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   241
  |  parent:      1:37445b16603b
2659
166ca0aba0ea split: preserve author of the original changeset in the successors
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2587
diff changeset
   242
  |  user:        other-test-user
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   243
  |  date:        Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   244
  |  summary:     split3
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   245
  |
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   246
  o  changeset:   1:37445b16603b
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   247
  |  user:        test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   248
  |  date:        Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   249
  |  summary:     add _b
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   250
  |
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   251
  o  changeset:   0:135f39f4bd78
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   252
     user:        test
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   253
     date:        Thu Jan 01 00:00:00 1970 +0000
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   254
     summary:     add _a
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   255
  
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   256
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   257
Split should move bookmarks on the last split successor and preserve the
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   258
active bookmark as active
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   259
  $ hg book bookA
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   260
  $ hg book bookB
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   261
  $ echo "changetofilea" > _a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   262
  $ hg amend
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   263
  $ hg book
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   264
     bookA                     14:7a6b35779b85
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   265
   * bookB                     14:7a6b35779b85
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   266
  $ hg log -G -r "3f134f739075::"
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   267
  @  changeset:   14:7a6b35779b85
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   268
  |  bookmark:    bookA
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   269
  |  bookmark:    bookB
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   270
  |  tag:         tip
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   271
  |  parent:      12:3f134f739075
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   272
  |  user:        test
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   273
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   274
  |  summary:     split2
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   275
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   276
  o  changeset:   12:3f134f739075
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   277
  |  user:        test
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
   278
  ~  date:        Thu Jan 01 00:00:00 1970 +0000
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
   279
     summary:     split1
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
   280
  
2770
a9ea16a1f4dc split: fix the --user option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2667
diff changeset
   281
  $ hg split --user victor <<EOF
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   282
  > y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   283
  > y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   284
  > n
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   285
  > y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   286
  > EOF
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   287
  (leaving bookmark bookB)
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   288
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   289
  reverting _a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   290
  adding _d
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   291
  diff --git a/_a b/_a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   292
  1 hunks, 2 lines changed
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   293
  examine changes to '_a'? [Ynesfdaq?] y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   294
  
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   295
  @@ -1,2 +1,1 @@
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   296
  -_a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   297
  -change to a
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   298
  +changetofilea
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   299
  record change 1/2 to '_a'? [Ynesfdaq?] y
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   300
  
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   301
  diff --git a/_d b/_d
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   302
  new file mode 100644
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   303
  examine changes to '_d'? [Ynesfdaq?] n
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   304
  
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   305
  created new head
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   306
  Done splitting? [yN] y
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   307
  $ hg log -G -r "3f134f739075::"
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   308
  @  changeset:   16:452a26648478
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   309
  |  bookmark:    bookA
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   310
  |  bookmark:    bookB
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   311
  |  tag:         tip
2770
a9ea16a1f4dc split: fix the --user option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2667
diff changeset
   312
  |  user:        victor
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   313
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   314
  |  summary:     split6
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   315
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   316
  o  changeset:   15:1315679b77dc
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   317
  |  parent:      12:3f134f739075
2770
a9ea16a1f4dc split: fix the --user option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2667
diff changeset
   318
  |  user:        victor
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   319
  |  date:        Thu Jan 01 00:00:00 1970 +0000
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   320
  |  summary:     split5
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   321
  |
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   322
  o  changeset:   12:3f134f739075
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   323
  |  user:        test
1641
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
   324
  ~  date:        Thu Jan 01 00:00:00 1970 +0000
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
   325
     summary:     split1
27445da063b7 tests: adapt output to the new graphlog style
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 1598
diff changeset
   326
  
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   327
  $ hg book
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   328
     bookA                     16:452a26648478
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   329
   * bookB                     16:452a26648478
1485
1ba64be11bf8 split: handle bookmarks instead of leaving them on precursor
Laurent Charignon <lcharignon@fb.com>
parents: 1484
diff changeset
   330
 
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   331
Lastest revision is selected if multiple are given to -r
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   332
  $ hg split -r "desc(_a)::"
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   333
  (leaving bookmark bookB)
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   334
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   335
  adding _d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   336
  diff --git a/_d b/_d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   337
  new file mode 100644
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   338
  examine changes to '_d'? [Ynesfdaq?] abort: response expected
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   339
  [255]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   340
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   341
Cannot split a commit that is not a head if instability is not allowed
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   342
  $ cat >> $HGRCPATH <<EOF
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   343
  > [experimental]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   344
  > evolution=createmarkers
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   345
  > evolutioncommands=split
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   346
  > EOF
1483
dc1467a629ca split: add more output to the test
Laurent Charignon <lcharignon@fb.com>
parents: 1482
diff changeset
   347
  $ hg split -r "desc(split3)"
2786
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   348
  abort: split will orphan 4 descendants
ae690d39fc92 split: use precheck to validate revision
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2776
diff changeset
   349
  (see 'hg help evolution.instability')
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   350
  [255]
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   351
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   352
Changing evolution level to createmarkers
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   353
  $ echo "[experimental]" >> $HGRCPATH
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   354
  $ echo "evolution=createmarkers" >> $HGRCPATH
1478
9603aa1ecdfd evolve: add a command to split commits
Laurent Charignon <lcharignon@fb.com>
parents:
diff changeset
   355
1598
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   356
Running split without any revision operates on the parent of the working copy
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   357
  $ hg split << EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   358
  > q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   359
  > EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   360
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   361
  adding _d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   362
  diff --git a/_d b/_d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   363
  new file mode 100644
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   364
  examine changes to '_d'? [Ynesfdaq?] q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   365
  
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   366
  abort: user quit
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   367
  [255]
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   368
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   369
Running split with tip revision, specified as unnamed argument
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   370
  $ hg split . << EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   371
  > q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   372
  > EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   373
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   374
  adding _d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   375
  diff --git a/_d b/_d
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   376
  new file mode 100644
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   377
  examine changes to '_d'? [Ynesfdaq?] q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   378
  
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   379
  abort: user quit
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   380
  [255]
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   381
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   382
Running split with both unnamed and named revision arguments shows an error msg
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   383
  $ hg split . --rev .^ << EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   384
  > q
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   385
  > EOF
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   386
  abort: more than one revset is given
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   387
  (use either `hg split <rs>` or `hg split --rev <rs>`, not both)
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   388
  [255]
2a08ef812b84 evolve: make split respect rev args passed without --rev or -r
Kostia Balytskyi <ikostia@fb.com>
parents: 1485
diff changeset
   389
1738
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
   390
Split empty commit (issue5191)
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
   391
  $ hg branch new-branch
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
   392
  marked working directory as branch new-branch
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
   393
  (branches are permanent and global, did you want a bookmark?)
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
   394
  $ hg commit -m "empty"
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
   395
  $ hg split
cb5edd4b160c split: avoid trying to split an empty commit (issue5191)
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents: 1672
diff changeset
   396
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   397
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   398
Check that split keeps the right topic
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   399
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   400
  $ hg up -r tip
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   401
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   402
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   403
Add topic to the hgrc
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   404
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   405
  $ echo "[extensions]" >> $HGRCPATH
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   406
  $ echo "topic=$(echo $(dirname $TESTDIR))/hgext3rd/topic/" >> $HGRCPATH
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   407
  $ hg topic mytopic
2985
f63c97c01f92 topics/ui: signal when the topics command creates a new (empty) topic
Aurélien Campéas
parents: 2929
diff changeset
   408
  marked working directory as topic: mytopic
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   409
  $ echo babar > babar
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   410
  $ echo celeste > celeste
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   411
  $ hg add babar celeste
2771
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   412
  $ hg commit -m "Works on mytopic" babar celeste --user victor
2988
62201935e1a7 topics/ui: detect and signal when an empty changeset becomes non-empty
Aurélien Campéas
parents: 2985
diff changeset
   413
  active topic 'mytopic' grew its first changeset
2771
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   414
  $ hg log -r . 
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   415
  changeset:   18:26f72cfaf036
2771
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   416
  branch:      new-branch
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   417
  tag:         tip
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   418
  topic:       mytopic
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   419
  user:        victor
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   420
  date:        Thu Jan 01 00:00:00 1970 +0000
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   421
  summary:     Works on mytopic
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   422
  
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   423
  $ hg summary
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   424
  parent: 18:26f72cfaf036 tip
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   425
   Works on mytopic
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   426
  branch: new-branch
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   427
  commit: 2 unknown (clean)
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   428
  update: (current)
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   429
  phases: 9 draft
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   430
  topic:  mytopic
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   431
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   432
Split it
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   433
2771
6044bd16bfb7 split: add support for the -D and -U option
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 2770
diff changeset
   434
  $ hg split -U << EOF
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   435
  > Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   436
  > Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   437
  > N
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   438
  > Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   439
  > Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   440
  > Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   441
  > EOF
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   442
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   443
  adding babar
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   444
  adding celeste
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   445
  diff --git a/babar b/babar
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   446
  new file mode 100644
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   447
  examine changes to 'babar'? [Ynesfdaq?] Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   448
  
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   449
  @@ -0,0 +1,1 @@
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   450
  +babar
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   451
  record change 1/2 to 'babar'? [Ynesfdaq?] Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   452
  
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   453
  diff --git a/celeste b/celeste
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   454
  new file mode 100644
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   455
  examine changes to 'celeste'? [Ynesfdaq?] N
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   456
  
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   457
  Done splitting? [yN] Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   458
  diff --git a/celeste b/celeste
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   459
  new file mode 100644
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   460
  examine changes to 'celeste'? [Ynesfdaq?] Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   461
  
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   462
  @@ -0,0 +1,1 @@
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   463
  +celeste
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   464
  record this change to 'celeste'? [Ynesfdaq?] Y
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   465
  
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   466
  no more change to split
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   467
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   468
Check that the topic is still here
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   469
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   470
  $ hg log -r "tip~1::"
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   471
  changeset:   19:addcf498f19e
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   472
  branch:      new-branch
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   473
  topic:       mytopic
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   474
  parent:      17:fdb403258632
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   475
  user:        test
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   476
  date:        Thu Jan 01 00:00:00 1970 +0000
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   477
  summary:     split7
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   478
  
3013
945a0989e41b packaging: merge stable back into default
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 3000
diff changeset
   479
  changeset:   20:2532b288af61
2667
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   480
  branch:      new-branch
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   481
  tag:         tip
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   482
  topic:       mytopic
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   483
  user:        test
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   484
  date:        Thu Jan 01 00:00:00 1970 +0000
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   485
  summary:     split8
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   486
  
e7079bba383d topic: makes split keep the topic
Boris Feld <boris.feld@octobus.net>
parents: 2659
diff changeset
   487
  $ hg topic
3060
f43a310c4338 topics: show changesetcount, troubledcount and headscount by default
Pulkit Goyal <7895pulkit@gmail.com>
parents: 3015
diff changeset
   488
   * mytopic (2 changesets)
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   489
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   490
Test split the first commit on a branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   491
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   492
  $ touch SPLIT1 SPLIT2
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   493
  $ hg add SPLIT1 SPLIT2
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   494
  $ hg branch another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   495
  marked working directory as branch another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   496
  $ hg commit -m "To be splitted"
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   497
  $ hg log -G -l 3
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   498
  @  changeset:   21:8dad923bdb9b
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   499
  |  branch:      another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   500
  |  tag:         tip
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   501
  |  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   502
  |  user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   503
  |  date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   504
  |  summary:     To be splitted
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   505
  |
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   506
  o  changeset:   20:2532b288af61
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   507
  |  branch:      new-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   508
  |  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   509
  |  user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   510
  |  date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   511
  |  summary:     split8
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   512
  |
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   513
  o  changeset:   19:addcf498f19e
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   514
  |  branch:      new-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   515
  ~  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   516
     parent:      17:fdb403258632
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   517
     user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   518
     date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   519
     summary:     split7
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   520
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   521
  $ hg export .
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   522
  # HG changeset patch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   523
  # User test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   524
  # Date 0 0
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   525
  #      Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   526
  # Branch another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   527
  # Node ID 8dad923bdb9bb3b99291caa5baeb03bbc30dfd33
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   528
  # Parent  2532b288af61bd19239a95ae2a3ecb9b0ad4b8e1
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   529
  # EXP-Topic mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   530
  To be splitted
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   531
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   532
  diff --git a/SPLIT1 b/SPLIT1
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   533
  new file mode 100644
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   534
  diff --git a/SPLIT2 b/SPLIT2
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   535
  new file mode 100644
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   536
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   537
  $ hg split -r . << EOF
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   538
  > Y
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   539
  > N
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   540
  > N
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   541
  > Y
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   542
  > EOF
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   543
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   544
  adding SPLIT1
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   545
  adding SPLIT2
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   546
  diff --git a/SPLIT1 b/SPLIT1
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   547
  new file mode 100644
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   548
  examine changes to 'SPLIT1'? [Ynesfdaq?] Y
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   549
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   550
  diff --git a/SPLIT2 b/SPLIT2
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   551
  new file mode 100644
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   552
  examine changes to 'SPLIT2'? [Ynesfdaq?] N
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   553
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   554
  Done splitting? [yN] N
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   555
  diff --git a/SPLIT2 b/SPLIT2
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   556
  new file mode 100644
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   557
  examine changes to 'SPLIT2'? [Ynesfdaq?] Y
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   558
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   559
  no more change to split
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   560
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   561
The splitted changesets should be on the 'another-branch'
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   562
  $ hg log -G -l 3
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   563
  @  changeset:   23:56a59faa8af7
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   564
  |  branch:      another-branch
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   565
  |  tag:         tip
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   566
  |  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   567
  |  user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   568
  |  date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   569
  |  summary:     split10
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   570
  |
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   571
  o  changeset:   22:75695e3e2300
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   572
  |  branch:      another-branch
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   573
  |  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   574
  |  parent:      20:2532b288af61
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   575
  |  user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   576
  |  date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   577
  |  summary:     split9
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   578
  |
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   579
  o  changeset:   20:2532b288af61
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   580
  |  branch:      new-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   581
  ~  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   582
     user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   583
     date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   584
     summary:     split8
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   585
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   586
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   587
Try splitting the first changeset of a branch then cancel
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   588
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   589
  $ hg branch yet-another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   590
  marked working directory as branch yet-another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   591
  $ touch SPLIT3 SPLIT4
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   592
  $ hg add SPLIT3 SPLIT4
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   593
  $ hg commit -m "To be splitted again"
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   594
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   595
  $ hg up "tip~1"
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   596
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   597
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   598
  $ hg log -G -l 2
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   599
  o  changeset:   24:b1020d17c364
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   600
  |  branch:      yet-another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   601
  |  tag:         tip
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   602
  |  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   603
  |  user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   604
  |  date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   605
  |  summary:     To be splitted again
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   606
  |
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   607
  @  changeset:   23:56a59faa8af7
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   608
  |  branch:      another-branch
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   609
  ~  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   610
     user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   611
     date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   612
     summary:     split10
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   613
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   614
  $ hg branch
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   615
  another-branch
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   616
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   617
  $ hg split -r tip << EOF
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   618
  > Y
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   619
  > q
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   620
  > EOF
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   621
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   622
  adding SPLIT3
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   623
  adding SPLIT4
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   624
  diff --git a/SPLIT3 b/SPLIT3
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   625
  new file mode 100644
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   626
  examine changes to 'SPLIT3'? [Ynesfdaq?] Y
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   627
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   628
  diff --git a/SPLIT4 b/SPLIT4
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   629
  new file mode 100644
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   630
  examine changes to 'SPLIT4'? [Ynesfdaq?] q
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   631
  
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   632
  abort: user quit
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   633
  [255]
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   634
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   635
  $ hg branch
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   636
  another-branch
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   637
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   638
  $ hg log -G -l 2
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   639
  o  changeset:   24:b1020d17c364
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   640
  |  branch:      yet-another-branch
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   641
  |  tag:         tip
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   642
  |  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   643
  |  user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   644
  |  date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   645
  |  summary:     To be splitted again
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   646
  |
3270
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   647
  @  changeset:   23:56a59faa8af7
e6150b9b88d9 split: force the branch to fix the split bug
Boris Feld <boris.feld@octobus.net>
parents: 3269
diff changeset
   648
  |  branch:      another-branch
3269
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   649
  ~  topic:       mytopic
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   650
     user:        test
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   651
     date:        Thu Jan 01 00:00:00 1970 +0000
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   652
     summary:     split10
e6b980687311 split: add a test demonstrating that split doesn't take the right branch
Boris Feld <boris.feld@octobus.net>
parents: 3060
diff changeset
   653