tests/test-graft.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 11 Feb 2020 11:18:52 +0100
changeset 44363 f7459da77f23
parent 44197 17e12938f8e7
child 44383 218feb1a7e00
permissions -rw-r--r--
nodemap: introduce an option to use mmap to read the nodemap mapping The performance and memory benefit is much greater if we don't have to copy all the data in memory for each information. So we introduce an option (on by default) to read the data using mmap. This changeset is the last one definition the API for index support nodemap data. (they have to be able to use the mmaping). Below are some benchmark comparing the best we currently have in 5.3 with the final step of this series (using the persistent nodemap implementation in Rust). The benchmark run `hg perfindex` with various revset and the following variants: Before: * do not use the persistent nodemap * use the CPython implementation of the index for nodemap * use mmapping of the changelog index After: * use the MixedIndex Rust code, with the NodeTree object for nodemap access (still in review) * use the persistent nodemap data from disk * access the persistent nodemap data through mmap * use mmapping of the changelog index The persistent nodemap greatly speed up most operation on very large repositories. Some of the previously very fast lookup end up a bit slower because the persistent nodemap has to be setup. However the absolute slowdown is very small and won't matters in the big picture. Here are some numbers (in seconds) for the reference copy of mozilla-try: Revset Before After abs-change speedup -10000: 0.004622 0.005532 0.000910 × 0.83 -10: 0.000050 0.000132 0.000082 × 0.37 tip 0.000052 0.000085 0.000033 × 0.61 0 + (-10000:) 0.028222 0.005337 -0.022885 × 5.29 0 0.023521 0.000084 -0.023437 × 280.01 (-10000:) + 0 0.235539 0.005308 -0.230231 × 44.37 (-10:) + :9 0.232883 0.000180 -0.232703 ×1293.79 (-10000:) + (:99) 0.238735 0.005358 -0.233377 × 44.55 :99 + (-10000:) 0.317942 0.005593 -0.312349 × 56.84 :9 + (-10:) 0.313372 0.000179 -0.313193 ×1750.68 :9 0.316450 0.000143 -0.316307 ×2212.93 On smaller repositories, the cost of nodemap related operation is not as big, so the win is much more modest. Yet it helps shaving a handful of millisecond here and there. Here are some numbers (in seconds) for the reference copy of mercurial: Revset Before After abs-change speedup -10: 0.000065 0.000097 0.000032 × 0.67 tip 0.000063 0.000078 0.000015 × 0.80 0 0.000561 0.000079 -0.000482 × 7.10 -10000: 0.004609 0.003648 -0.000961 × 1.26 0 + (-10000:) 0.005023 0.003715 -0.001307 × 1.35 (-10:) + :9 0.002187 0.000108 -0.002079 ×20.25 (-10000:) + 0 0.006252 0.003716 -0.002536 × 1.68 (-10000:) + (:99) 0.006367 0.003707 -0.002660 × 1.71 :9 + (-10:) 0.003846 0.000110 -0.003736 ×34.96 :9 0.003854 0.000099 -0.003755 ×38.92 :99 + (-10000:) 0.007644 0.003778 -0.003866 × 2.02 Differential Revision: https://phab.mercurial-scm.org/D7894
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28033
0707bbec682d tests: omit -p for external diff via extdiff extension for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28011
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
28052
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28034
diff changeset
     2
  > [extdiff]
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28034
diff changeset
     3
  > # for portability:
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28034
diff changeset
     4
  > pdiff = sh "$RUNTESTDIR/pdiff"
28033
0707bbec682d tests: omit -p for external diff via extdiff extension for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28011
diff changeset
     5
  > EOF
0707bbec682d tests: omit -p for external diff via extdiff extension for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28011
diff changeset
     6
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
Create a repo with some stuff in it:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     8
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     9
  $ hg init a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    10
  $ cd a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    11
  $ echo a > a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    12
  $ echo a > d
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    13
  $ echo a > e
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    14
  $ hg ci -qAm0
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    15
  $ echo b > a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    16
  $ hg ci -m1 -u bar
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    17
  $ hg mv a b
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    18
  $ hg ci -m2
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    19
  $ hg cp b c
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    20
  $ hg ci -m3 -u baz
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    21
  $ echo b > d
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    22
  $ echo f > e
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    23
  $ hg ci -m4
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
  $ hg up -q 3
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    25
  $ echo b > e
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    26
  $ hg branch -q stable
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    27
  $ hg ci -m5
40434
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    28
  $ hg merge -q default --tool internal:local # for conflicts in e, choose 5 and ignore 4
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    29
  $ hg branch -q default
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    30
  $ hg ci -m6
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    31
  $ hg phase --public 3
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    32
  $ hg phase --force --secret 6
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    33
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 19893
diff changeset
    34
  $ hg log -G --template '{author}@{rev}.{phase}: {desc}\n'
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    35
  @    test@6.secret: 6
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    36
  |\
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    37
  | o  test@5.draft: 5
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    38
  | |
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    39
  o |  test@4.draft: 4
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    40
  |/
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    41
  o  baz@3.public: 3
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    42
  |
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    43
  o  test@2.public: 2
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    44
  |
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    45
  o  bar@1.public: 1
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    46
  |
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    47
  o  test@0.public: 0
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
    48
  
40434
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    49
Test --base for grafting the merge of 4 from the perspective of 5, thus only getting the change to d
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    50
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    51
  $ hg up -cqr 3
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    52
  $ hg graft -r 6 --base 5
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    53
  grafting 6:25a2b029d3ae "6" (tip)
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    54
  merging e
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    55
  $ hg st --change .
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    56
  M d
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    57
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    58
  $ hg -q strip . --config extensions.strip=
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    59
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    60
Test --base for collapsing changesets 2 and 3, thus getting both b and c
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    61
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    62
  $ hg up -cqr 0
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    63
  $ hg graft -r 3 --base 1
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    64
  grafting 3:4c60f11aa304 "3"
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    65
  merging a and b to b
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    66
  merging a and c to c
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    67
  $ hg st --change .
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    68
  A b
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    69
  A c
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    70
  R a
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    71
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    72
  $ hg -q strip . --config extensions.strip=
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    73
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    74
Specifying child as --base revision fails safely (perhaps slightly confusing, but consistent)
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    75
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    76
  $ hg graft -r 2 --base 3
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    77
  grafting 2:5c095ad7e90f "2"
42222
57203e0210f8 copies: calculate mergecopies() based on pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42169
diff changeset
    78
  note: possible conflict - c was deleted and renamed to:
57203e0210f8 copies: calculate mergecopies() based on pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42169
diff changeset
    79
   a
40434
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    80
  note: graft of 2:5c095ad7e90f created no changes to commit
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    81
28121
bd97ed121016 graft: suggest the correct tool to continue (not graft)
timeless <timeless@mozdev.org>
parents: 28052
diff changeset
    82
Can't continue without starting:
bd97ed121016 graft: suggest the correct tool to continue (not graft)
timeless <timeless@mozdev.org>
parents: 28052
diff changeset
    83
40434
3c0d5016b2be graft: introduce --base option for using custom base revision while merging
Mads Kiilerich <mads@kiilerich.com>
parents: 39480
diff changeset
    84
  $ hg -q up -cr tip
28121
bd97ed121016 graft: suggest the correct tool to continue (not graft)
timeless <timeless@mozdev.org>
parents: 28052
diff changeset
    85
  $ hg rm -q e
bd97ed121016 graft: suggest the correct tool to continue (not graft)
timeless <timeless@mozdev.org>
parents: 28052
diff changeset
    86
  $ hg graft --continue
bd97ed121016 graft: suggest the correct tool to continue (not graft)
timeless <timeless@mozdev.org>
parents: 28052
diff changeset
    87
  abort: no graft in progress
bd97ed121016 graft: suggest the correct tool to continue (not graft)
timeless <timeless@mozdev.org>
parents: 28052
diff changeset
    88
  [255]
bd97ed121016 graft: suggest the correct tool to continue (not graft)
timeless <timeless@mozdev.org>
parents: 28052
diff changeset
    89
  $ hg revert -r . -q e
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    90
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    91
Need to specify a rev:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    92
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    93
  $ hg graft
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    94
  abort: no revisions specified
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    95
  [255]
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    96
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    97
Can't graft ancestor:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    98
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    99
  $ hg graft 1 2
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   100
  skipping ancestor revision 1:5d205f8b35b6
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   101
  skipping ancestor revision 2:5c095ad7e90f
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   102
  [255]
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   103
16992
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   104
Specify revisions with -r:
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   105
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   106
  $ hg graft -r 1 -r 2
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   107
  skipping ancestor revision 1:5d205f8b35b6
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   108
  skipping ancestor revision 2:5c095ad7e90f
16992
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   109
  [255]
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   110
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   111
  $ hg graft -r 1 2
27899
78b9fdb844c1 graft: warn when -r is combined with revisions as positional arguments
Mads Kiilerich <madski@unity3d.com>
parents: 27625
diff changeset
   112
  warning: inconsistent use of --rev might give unexpected revision ordering!
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   113
  skipping ancestor revision 2:5c095ad7e90f
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   114
  skipping ancestor revision 1:5d205f8b35b6
16992
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   115
  [255]
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   116
41174
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   117
Conflicting date/user options:
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   118
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   119
  $ hg up -q 0
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   120
  $ hg graft -U --user foo 2
43893
2e672ccc2220 commit: use cmdutil.check_at_most_one_arg()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42582
diff changeset
   121
  abort: cannot specify both --user and --currentuser
41174
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   122
  [255]
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   123
  $ hg graft -D --date '0 0' 2
43893
2e672ccc2220 commit: use cmdutil.check_at_most_one_arg()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42582
diff changeset
   124
  abort: cannot specify both --date and --currentdate
41174
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   125
  [255]
08dd462ea782 graft: abort if --date/user specified with --currentdate/currentuser (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 40676
diff changeset
   126
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   127
Can't graft with dirty wd:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   128
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   129
  $ hg up -q 0
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   130
  $ echo foo > a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   131
  $ hg graft 1
19804
061ce98c888d cmdutil.bailifchanged: standardize error message for dirty working dir
Siddharth Agarwal <sid0@fb.com>
parents: 19476
diff changeset
   132
  abort: uncommitted changes
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   133
  [255]
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   134
  $ hg revert a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   135
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   136
Graft a rename:
21416
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   137
(this also tests that editor is invoked if '--edit' is specified)
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   138
21416
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   139
  $ hg status --rev "2^1" --rev 2
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   140
  A b
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   141
  R a
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   142
  $ HGEDITOR=cat hg graft 2 -u foo --edit
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   143
  grafting 2:5c095ad7e90f "2"
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   144
  merging a and b to b
21416
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   145
  2
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   146
  
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   147
  
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   148
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   149
  HG: Leave message empty to abort commit.
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   150
  HG: --
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   151
  HG: user: foo
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   152
  HG: branch 'default'
22897
8fe74328f700 dirstate: merge falls through to otherparent
Matt Mackall <mpm@selenic.com>
parents: 22305
diff changeset
   153
  HG: added b
21416
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   154
  HG: removed a
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   155
  $ hg export tip --git
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   156
  # HG changeset patch
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   157
  # User foo
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   158
  # Date 0 0
18648
76b69cccb07a export: show 'Date' header in a format that also is readable for humans
Mads Kiilerich <mads@kiilerich.com>
parents: 18631
diff changeset
   159
  #      Thu Jan 01 00:00:00 1970 +0000
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   160
  # Node ID ef0ef43d49e79e81ddafdc7997401ba0041efc82
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   161
  # Parent  68795b066622ca79a25816a662041d8f78f3cd9e
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   162
  2
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   163
  
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   164
  diff --git a/a b/b
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   165
  rename from a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   166
  rename to b
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   167
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   168
Look for extra:source
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   169
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   170
  $ hg log --debug -r tip
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   171
  changeset:   7:ef0ef43d49e79e81ddafdc7997401ba0041efc82
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   172
  tag:         tip
15907
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15777
diff changeset
   173
  phase:       draft
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   174
  parent:      0:68795b066622ca79a25816a662041d8f78f3cd9e
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   175
  parent:      -1:0000000000000000000000000000000000000000
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   176
  manifest:    7:e59b6b228f9cbf9903d5e9abf996e083a1f533eb
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   177
  user:        foo
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   178
  date:        Thu Jan 01 00:00:00 1970 +0000
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   179
  files+:      b
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   180
  files-:      a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   181
  extra:       branch=default
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   182
  extra:       source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   183
  description:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   184
  2
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   185
  
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   186
  
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   187
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   188
Graft out of order, skipping a merge and a duplicate
21416
3e717c9376fc graft: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21391
diff changeset
   189
(this also tests that editor is not invoked if '--edit' is not specified)
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   190
16389
79fecd735d26 graft: add --dry-run support (issue3362)
Matt Mackall <mpm@selenic.com>
parents: 16094
diff changeset
   191
  $ hg graft 1 5 4 3 'merge()' 2 -n
79fecd735d26 graft: add --dry-run support (issue3362)
Matt Mackall <mpm@selenic.com>
parents: 16094
diff changeset
   192
  skipping ungraftable merge revision 6
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   193
  skipping revision 2:5c095ad7e90f (already grafted to 7:ef0ef43d49e7)
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   194
  grafting 1:5d205f8b35b6 "1"
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   195
  grafting 5:97f8bfe72746 "5"
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   196
  grafting 4:9c233e8e184d "4"
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   197
  grafting 3:4c60f11aa304 "3"
16389
79fecd735d26 graft: add --dry-run support (issue3362)
Matt Mackall <mpm@selenic.com>
parents: 16094
diff changeset
   198
27173
8a8f5d71a49a graft: improve --continue abort message
timeless <timeless@mozdev.org>
parents: 27172
diff changeset
   199
  $ HGEDITOR=cat hg graft 1 5 'merge()' 2 --debug
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   200
  skipping ungraftable merge revision 6
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   201
  scanning for duplicate grafts
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   202
  skipping revision 2:5c095ad7e90f (already grafted to 7:ef0ef43d49e7)
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   203
  grafting 1:5d205f8b35b6 "1"
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   204
    unmatched files in local:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   205
     b
16795
e9ae770eff1c merge: show renamed on one and deleted on the other side in debug output
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16660
diff changeset
   206
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
44197
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   207
     on local side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   208
      src: 'a' -> dst: 'b' *
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   209
    checking for directory renames
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   210
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
   211
   branchmerge: True, force: True, partial: False
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   212
   ancestor: 68795b066622, local: ef0ef43d49e7+, remote: 5d205f8b35b6
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
   213
   preserving b for resolve of b
28318
564a354f7f35 tests: flag Windows specific lines about background closing as optional
Matt Harbison <matt_harbison@yahoo.com>
parents: 28121
diff changeset
   214
  starting 4 threads for background file closing (?)
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
   215
   b: local copied/moved from a -> m (premerge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
   216
  picked tool ':merge' for b (binary False symlink False changedelete False)
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   217
  merging b and a to b
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   218
  my b@ef0ef43d49e7+ other a@5d205f8b35b6 ancestor a@68795b066622
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   219
   premerge successful
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23514
diff changeset
   220
  committing files:
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   221
  b
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23514
diff changeset
   222
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23514
diff changeset
   223
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32245
diff changeset
   224
  updating the branch cache
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   225
  grafting 5:97f8bfe72746 "5"
42222
57203e0210f8 copies: calculate mergecopies() based on pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42169
diff changeset
   226
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
44197
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   227
     on local side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   228
      src: 'c' -> dst: 'b' 
42222
57203e0210f8 copies: calculate mergecopies() based on pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42169
diff changeset
   229
    checking for directory renames
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   230
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
   231
   branchmerge: True, force: True, partial: False
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   232
   ancestor: 4c60f11aa304, local: 6b9e5368ca4e+, remote: 97f8bfe72746
21389
e741972017d9 merge: change priority / ordering of merge actions
Mads Kiilerich <madski@unity3d.com>
parents: 21267
diff changeset
   233
   e: remote is newer -> g
18631
e2dc5397bc82 tests: update test output (will be folded into parent)
Bryan O'Sullivan <bryano@fb.com>
parents: 18605
diff changeset
   234
  getting e
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23514
diff changeset
   235
  committing files:
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   236
  e
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23514
diff changeset
   237
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 23514
diff changeset
   238
  committing changelog
32267
c2380b448265 caches: move the 'updating the branch cache' message in 'updatecaches'
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 32245
diff changeset
   239
  updating the branch cache
27173
8a8f5d71a49a graft: improve --continue abort message
timeless <timeless@mozdev.org>
parents: 27172
diff changeset
   240
  $ HGEDITOR=cat hg graft 4 3 --log --debug
8a8f5d71a49a graft: improve --continue abort message
timeless <timeless@mozdev.org>
parents: 27172
diff changeset
   241
  scanning for duplicate grafts
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   242
  grafting 4:9c233e8e184d "4"
42222
57203e0210f8 copies: calculate mergecopies() based on pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42169
diff changeset
   243
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
44197
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   244
     on local side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   245
      src: 'c' -> dst: 'b' 
42222
57203e0210f8 copies: calculate mergecopies() based on pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents: 42169
diff changeset
   246
    checking for directory renames
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   247
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
   248
   branchmerge: True, force: True, partial: False
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   249
   ancestor: 4c60f11aa304, local: 1905859650ec+, remote: 9c233e8e184d
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
   250
   preserving e for resolve of e
21389
e741972017d9 merge: change priority / ordering of merge actions
Mads Kiilerich <madski@unity3d.com>
parents: 21267
diff changeset
   251
   d: remote is newer -> g
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 21389
diff changeset
   252
  getting d
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
   253
   e: versions differ -> m (premerge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
   254
  picked tool ':merge' for e (binary False symlink False changedelete False)
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   255
  merging e
28011
8abd9f785030 merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents: 27899
diff changeset
   256
  my e@1905859650ec+ other e@9c233e8e184d ancestor e@4c60f11aa304
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26614
diff changeset
   257
   e: versions differ -> m (merge)
27161
296d55def9c4 filemerge: add debug output for whether this is a change/delete conflict
Siddharth Agarwal <sid0@fb.com>
parents: 26618
diff changeset
   258
  picked tool ':merge' for e (binary False symlink False changedelete False)
28011
8abd9f785030 merge: add file ancestor linknode to mergestate
Durham Goode <durham@fb.com>
parents: 27899
diff changeset
   259
  my e@1905859650ec+ other e@9c233e8e184d ancestor e@4c60f11aa304
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
   260
  warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   261
  abort: unresolved conflicts, can't continue
38238
2b8c8b8d1a06 graft: reuse the --log value passed initially in `hg graft --continue` (BC)
Pulkit Goyal <7895pulkit@gmail.com>
parents: 38237
diff changeset
   262
  (use 'hg resolve' and 'hg graft --continue')
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   263
  [255]
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   264
27172
4d61c847e06c summary: mention graft
timeless <timeless@mozdev.org>
parents: 27161
diff changeset
   265
Summary should mention graft:
4d61c847e06c summary: mention graft
timeless <timeless@mozdev.org>
parents: 27161
diff changeset
   266
4d61c847e06c summary: mention graft
timeless <timeless@mozdev.org>
parents: 27161
diff changeset
   267
  $ hg summary |grep graft
4d61c847e06c summary: mention graft
timeless <timeless@mozdev.org>
parents: 27161
diff changeset
   268
  commit: 2 modified, 2 unknown, 1 unresolved (graft in progress)
4d61c847e06c summary: mention graft
timeless <timeless@mozdev.org>
parents: 27161
diff changeset
   269
33771
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   270
Using status to get more context
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   271
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   272
  $ hg status --verbose
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   273
  M d
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   274
  M e
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   275
  ? a.orig
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   276
  ? e.orig
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   277
  # The repository is in an unfinished *graft* state.
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   278
  
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   279
  # Unresolved merge conflicts:
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   280
  # 
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   281
  #     e
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   282
  # 
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   283
  # To mark files as resolved:  hg resolve --mark FILE
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   284
  
38341
50f5fc232c16 morestatus: remove some extra spaces
Pulkit Goyal <7895pulkit@gmail.com>
parents: 38311
diff changeset
   285
  # To continue:    hg graft --continue
38966
5b04b6204931 status: advertise --abort instead of 'update -C .' to abort graft
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 38473
diff changeset
   286
  # To abort:       hg graft --abort
42532
12243f15d53e statecheck: added support for STATES
Taapas Agrawal <taapas2897@gmail.com>
parents: 42286
diff changeset
   287
  # To stop:        hg graft --stop
33771
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   288
  
96f43981c1c4 morestatus: move fb extension to core by plugging to `hg status --verbose`
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32267
diff changeset
   289
19253
e078ea9b4ce4 graft: refuse to commit an interrupted graft (issue3667)
Simon King <simon@simonking.org.uk>
parents: 18648
diff changeset
   290
Commit while interrupted should fail:
e078ea9b4ce4 graft: refuse to commit an interrupted graft (issue3667)
Simon King <simon@simonking.org.uk>
parents: 18648
diff changeset
   291
e078ea9b4ce4 graft: refuse to commit an interrupted graft (issue3667)
Simon King <simon@simonking.org.uk>
parents: 18648
diff changeset
   292
  $ hg ci -m 'commit interrupted graft'
19476
4fed15d4c5aa commands: add checks for unfinished operations (issue3955)
Matt Mackall <mpm@selenic.com>
parents: 19332
diff changeset
   293
  abort: graft in progress
38311
47f5454a30ed cmdutil: say that `graft --stop` stops the graft instead of aborting
Pulkit Goyal <7895pulkit@gmail.com>
parents: 38280
diff changeset
   294
  (use 'hg graft --continue' or 'hg graft --stop' to stop)
19253
e078ea9b4ce4 graft: refuse to commit an interrupted graft (issue3667)
Simon King <simon@simonking.org.uk>
parents: 18648
diff changeset
   295
  [255]
e078ea9b4ce4 graft: refuse to commit an interrupted graft (issue3667)
Simon King <simon@simonking.org.uk>
parents: 18648
diff changeset
   296
19332
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   297
Abort the graft and try committing:
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   298
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   299
  $ hg up -C .
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   300
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   301
  $ echo c >> e
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   302
  $ hg ci -mtest
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   303
23514
3575f42e1b7b test-graft: use strip extension instead of mq extension
Augie Fackler <raf@durin42.com>
parents: 23508
diff changeset
   304
  $ hg strip . --config extensions.strip=
19332
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   305
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   306
  saved backup bundle to $TESTTMP/a/.hg/strip-backup/*-backup.hg (glob)
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   307
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   308
Graft again:
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   309
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   310
  $ hg graft 1 5 4 3 'merge()' 2
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   311
  skipping ungraftable merge revision 6
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   312
  skipping revision 2:5c095ad7e90f (already grafted to 7:ef0ef43d49e7)
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   313
  skipping revision 1:5d205f8b35b6 (already grafted to 8:6b9e5368ca4e)
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   314
  skipping revision 5:97f8bfe72746 (already grafted to 9:1905859650ec)
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   315
  grafting 4:9c233e8e184d "4"
19332
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   316
  merging e
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
   317
  warning: conflicts while merging e! (edit, then use 'hg resolve --mark')
19332
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   318
  abort: unresolved conflicts, can't continue
28963
fc1d75e7a98d graft: use single quotes around command hint
timeless <timeless@mozdev.org>
parents: 28634
diff changeset
   319
  (use 'hg resolve' and 'hg graft --continue')
19332
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   320
  [255]
0af993732f66 update: remove .hg/graftstate on clean (issue3970)
Siddharth Agarwal <sid0@fb.com>
parents: 19253
diff changeset
   321
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   322
Continue without resolve should fail:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   323
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   324
  $ hg graft -c
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   325
  grafting 4:9c233e8e184d "4"
29975
c15f06109b7a localrepo: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 28963
diff changeset
   326
  abort: unresolved merge conflicts (see 'hg help resolve')
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   327
  [255]
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   328
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   329
Fix up:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   330
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   331
  $ echo b > e
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   332
  $ hg resolve -m e
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21765
diff changeset
   333
  (no more unresolved files)
27625
cdb9493a7e2f graft: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27173
diff changeset
   334
  continue: hg graft --continue
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   335
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   336
Continue with a revision should fail:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   337
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   338
  $ hg graft -c 6
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   339
  abort: can't specify --continue and revisions
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   340
  [255]
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   341
16992
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   342
  $ hg graft -c -r 6
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   343
  abort: can't specify --continue and revisions
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   344
  [255]
55e7f352b1d3 graft: allow -r to specify revisions
Thomas Arendsen Hein <thomas@intevation.de>
parents: 16913
diff changeset
   345
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   346
Continue for real, clobber usernames
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   347
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   348
  $ hg graft -c -U
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   349
  grafting 4:9c233e8e184d "4"
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   350
  grafting 3:4c60f11aa304 "3"
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   351
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   352
Compare with original:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   353
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   354
  $ hg diff -r 6
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   355
  $ hg status --rev 0:. -C
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   356
  M d
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   357
  M e
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   358
  A b
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   359
    a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   360
  A c
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   361
    a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   362
  R a
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   363
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   364
View graph:
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   365
20117
aa9385f983fa tests: don't load unnecessary graphlog extension
Martin Geisler <martin@geisler.net>
parents: 19893
diff changeset
   366
  $ hg log -G --template '{author}@{rev}.{phase}: {desc}\n'
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   367
  @  test@11.draft: 3
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   368
  |
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   369
  o  test@10.draft: 4
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   370
  |
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   371
  o  test@9.draft: 5
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   372
  |
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   373
  o  bar@8.draft: 1
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   374
  |
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   375
  o  foo@7.draft: 2
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   376
  |
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   377
  | o    test@6.secret: 6
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   378
  | |\
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   379
  | | o  test@5.draft: 5
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   380
  | | |
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   381
  | o |  test@4.draft: 4
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   382
  | |/
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   383
  | o  baz@3.public: 3
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   384
  | |
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   385
  | o  test@2.public: 2
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   386
  | |
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   387
  | o  bar@1.public: 1
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   388
  |/
15918
4f9853e7f690 graft: add test to check the phase of new changesets
Alain Leufroy <alain.leufroy@logilab.fr>
parents: 15907
diff changeset
   389
  o  test@0.public: 0
15361
c1930992e111 graft: add a test
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
   390
  
15506
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   391
Graft again onto another branch should preserve the original source
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   392
  $ hg up -q 0
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   393
  $ echo 'g'>g
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   394
  $ hg add g
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   395
  $ hg ci -m 7
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   396
  created new head
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   397
  $ hg graft 7
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   398
  grafting 7:ef0ef43d49e7 "2"
15506
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   399
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   400
  $ hg log -r 7 --template '{rev}:{node}\n'
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   401
  7:ef0ef43d49e79e81ddafdc7997401ba0041efc82
15506
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   402
  $ hg log -r 2 --template '{rev}:{node}\n'
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   403
  2:5c095ad7e90f871700f02dd1fa5012cb4498a2d4
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   404
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   405
  $ hg log --debug -r tip
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   406
  changeset:   13:7a4785234d87ec1aa420ed6b11afe40fa73e12a9
15506
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   407
  tag:         tip
15907
51fc43253a52 changeset_printer: display changeset phase on debug level
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15777
diff changeset
   408
  phase:       draft
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   409
  parent:      12:b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f
15506
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   410
  parent:      -1:0000000000000000000000000000000000000000
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   411
  manifest:    13:dc313617b8c32457c0d589e0dbbedfe71f3cd637
15506
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   412
  user:        foo
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   413
  date:        Thu Jan 01 00:00:00 1970 +0000
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   414
  files+:      b
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   415
  files-:      a
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   416
  extra:       branch=default
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   417
  extra:       intermediate-source=ef0ef43d49e79e81ddafdc7997401ba0041efc82
15506
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   418
  extra:       source=5c095ad7e90f871700f02dd1fa5012cb4498a2d4
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   419
  description:
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   420
  2
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   421
  
dc9fb7015d7f graft: preserve original source in subsequent grafts
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15361
diff changeset
   422
  
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   423
Disallow grafting an already grafted cset onto its original branch
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   424
  $ hg up -q 6
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   425
  $ hg graft 7
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   426
  skipping already grafted revision 7:ef0ef43d49e7 (was grafted from 2:5c095ad7e90f)
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   427
  [255]
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   428
28052
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28034
diff changeset
   429
  $ hg pdiff --config extensions.extdiff= --patch -r 2 -r 13
28034
e7ff258f71df tests: make timezone in diff output glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28033
diff changeset
   430
  --- */hg-5c095ad7e90f.patch	* (glob)
e7ff258f71df tests: make timezone in diff output glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28033
diff changeset
   431
  +++ */hg-7a4785234d87.patch	* (glob)
26228
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   432
  @@ -1,18 +1,18 @@
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   433
   # HG changeset patch
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   434
  -# User test
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   435
  +# User foo
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   436
   # Date 0 0
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   437
   #      Thu Jan 01 00:00:00 1970 +0000
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   438
  -# Node ID 5c095ad7e90f871700f02dd1fa5012cb4498a2d4
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   439
  -# Parent  5d205f8b35b66bc36375c9534ffd3237730e8f04
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   440
  +# Node ID 7a4785234d87ec1aa420ed6b11afe40fa73e12a9
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   441
  +# Parent  b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   442
   2
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   443
   
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   444
  -diff -r 5d205f8b35b6 -r 5c095ad7e90f a
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   445
  +diff -r b592ea63bb0c -r 7a4785234d87 a
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   446
   --- a/a	Thu Jan 01 00:00:00 1970 +0000
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   447
   +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   448
   @@ -1,1 +0,0 @@
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   449
  --b
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   450
  -diff -r 5d205f8b35b6 -r 5c095ad7e90f b
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   451
  +-a
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   452
  +diff -r b592ea63bb0c -r 7a4785234d87 b
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   453
   --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   454
   +++ b/b	Thu Jan 01 00:00:00 1970 +0000
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   455
   @@ -0,0 +1,1 @@
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   456
  -+b
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   457
  ++a
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   458
  [1]
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   459
28052
b59ef0c21405 tests: use portable diff script via extdiff extension
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28034
diff changeset
   460
  $ hg pdiff --config extensions.extdiff= --patch -r 2 -r 13 -X .
28034
e7ff258f71df tests: make timezone in diff output glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28033
diff changeset
   461
  --- */hg-5c095ad7e90f.patch	* (glob)
e7ff258f71df tests: make timezone in diff output glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28033
diff changeset
   462
  +++ */hg-7a4785234d87.patch	* (glob)
26229
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   463
  @@ -1,8 +1,8 @@
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   464
   # HG changeset patch
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   465
  -# User test
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   466
  +# User foo
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   467
   # Date 0 0
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   468
   #      Thu Jan 01 00:00:00 1970 +0000
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   469
  -# Node ID 5c095ad7e90f871700f02dd1fa5012cb4498a2d4
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   470
  -# Parent  5d205f8b35b66bc36375c9534ffd3237730e8f04
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   471
  +# Node ID 7a4785234d87ec1aa420ed6b11afe40fa73e12a9
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   472
  +# Parent  b592ea63bb0c19a6c5c44685ee29a2284f9f1b8f
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   473
   2
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   474
   
d1530c6e8613 extdiff: enable -I/-X with --patch
Matt Harbison <matt_harbison@yahoo.com>
parents: 26228
diff changeset
   475
  [1]
26228
0fd20a71abdb extdiff: add a --patch argument for diffing changeset deltas
Matt Harbison <matt_harbison@yahoo.com>
parents: 25589
diff changeset
   476
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   477
Disallow grafting already grafted csets with the same origin onto each other
16601
0c98820be15c filectx: handle some other simple cases for finding merge ancestor
Matt Mackall <mpm@selenic.com>
parents: 16600
diff changeset
   478
  $ hg up -q 13
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   479
  $ hg graft 2
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   480
  skipping revision 2:5c095ad7e90f (already grafted to 13:7a4785234d87)
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   481
  [255]
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   482
  $ hg graft 7
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   483
  skipping already grafted revision 7:ef0ef43d49e7 (13:7a4785234d87 also has origin 2:5c095ad7e90f)
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   484
  [255]
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   485
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   486
  $ hg up -q 7
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   487
  $ hg graft 2
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   488
  skipping revision 2:5c095ad7e90f (already grafted to 7:ef0ef43d49e7)
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   489
  [255]
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   490
  $ hg graft tip
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   491
  skipping already grafted revision 13:7a4785234d87 (7:ef0ef43d49e7 also has origin 2:5c095ad7e90f)
15508
00276525e2b7 graft: disallow grafting grafted csets in specific situations (issue3091)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 15507
diff changeset
   492
  [255]
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   493
16660
2a71cc53f244 graft: implement --log (issue3438)
Levi Bard <levi@unity3d.com>
parents: 16601
diff changeset
   494
Graft with --log
2a71cc53f244 graft: implement --log (issue3438)
Levi Bard <levi@unity3d.com>
parents: 16601
diff changeset
   495
2a71cc53f244 graft: implement --log (issue3438)
Levi Bard <levi@unity3d.com>
parents: 16601
diff changeset
   496
  $ hg up -Cq 1
2a71cc53f244 graft: implement --log (issue3438)
Levi Bard <levi@unity3d.com>
parents: 16601
diff changeset
   497
  $ hg graft 3 --log -u foo
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   498
  grafting 3:4c60f11aa304 "3"
30188
8a864844d5a0 checkcopies: add a sanity check against false-positive copies
Gábor Stefanik <gabor.stefanik@nng.com>
parents: 29975
diff changeset
   499
  $ hg log --template '{rev}:{node|short} {parents} {desc}\n' -r tip
8a864844d5a0 checkcopies: add a sanity check against false-positive copies
Gábor Stefanik <gabor.stefanik@nng.com>
parents: 29975
diff changeset
   500
  14:0c921c65ef1e 1:5d205f8b35b6  3
16660
2a71cc53f244 graft: implement --log (issue3438)
Levi Bard <levi@unity3d.com>
parents: 16601
diff changeset
   501
  (grafted from 4c60f11aa304a54ae1c199feb94e7fc771e51ed8)
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16795
diff changeset
   502
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   503
Resolve conflicted graft
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   504
  $ hg up -q 0
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   505
  $ echo b > a
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   506
  $ hg ci -m 8
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   507
  created new head
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   508
  $ echo c > a
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   509
  $ hg ci -m 9
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   510
  $ hg graft 1 --tool internal:fail
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   511
  grafting 1:5d205f8b35b6 "1"
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   512
  abort: unresolved conflicts, can't continue
28963
fc1d75e7a98d graft: use single quotes around command hint
timeless <timeless@mozdev.org>
parents: 28634
diff changeset
   513
  (use 'hg resolve' and 'hg graft --continue')
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   514
  [255]
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   515
  $ hg resolve --all
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   516
  merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
   517
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   518
  [1]
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   519
  $ cat a
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   520
  <<<<<<< local: aaa4406d4f0a - test: 9
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   521
  c
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   522
  =======
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   523
  b
30460
ce3a133f71b3 conflicts: make spacing consistent in conflict markers
Kostia Balytskyi <ikostia@fb.com>
parents: 30229
diff changeset
   524
  >>>>>>> graft: 5d205f8b35b6 - bar: 1
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   525
  $ echo b > a
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   526
  $ hg resolve -m a
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21765
diff changeset
   527
  (no more unresolved files)
27625
cdb9493a7e2f graft: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27173
diff changeset
   528
  continue: hg graft --continue
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   529
  $ hg graft -c
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   530
  grafting 1:5d205f8b35b6 "1"
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   531
  $ hg export tip --git
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   532
  # HG changeset patch
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   533
  # User bar
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   534
  # Date 0 0
18648
76b69cccb07a export: show 'Date' header in a format that also is readable for humans
Mads Kiilerich <mads@kiilerich.com>
parents: 18631
diff changeset
   535
  #      Thu Jan 01 00:00:00 1970 +0000
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   536
  # Node ID f67661df0c4804d301f064f332b57e7d5ddaf2be
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   537
  # Parent  aaa4406d4f0ae9befd6e58c82ec63706460cbca6
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   538
  1
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   539
  
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   540
  diff --git a/a b/a
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   541
  --- a/a
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   542
  +++ b/a
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   543
  @@ -1,1 +1,1 @@
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   544
  -c
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   545
  +b
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   546
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   547
Resolve conflicted graft with rename
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   548
  $ echo c > a
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   549
  $ hg ci -m 10
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   550
  $ hg graft 2 --tool internal:fail
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   551
  grafting 2:5c095ad7e90f "2"
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   552
  abort: unresolved conflicts, can't continue
28963
fc1d75e7a98d graft: use single quotes around command hint
timeless <timeless@mozdev.org>
parents: 28634
diff changeset
   553
  (use 'hg resolve' and 'hg graft --continue')
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   554
  [255]
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   555
  $ hg resolve --all
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   556
  merging a and b to b
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21765
diff changeset
   557
  (no more unresolved files)
27625
cdb9493a7e2f graft: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27173
diff changeset
   558
  continue: hg graft --continue
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   559
  $ hg graft -c
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   560
  grafting 2:5c095ad7e90f "2"
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   561
  $ hg export tip --git
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   562
  # HG changeset patch
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   563
  # User test
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   564
  # Date 0 0
18648
76b69cccb07a export: show 'Date' header in a format that also is readable for humans
Mads Kiilerich <mads@kiilerich.com>
parents: 18631
diff changeset
   565
  #      Thu Jan 01 00:00:00 1970 +0000
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   566
  # Node ID 9627f653b421c61fc1ea4c4e366745070fa3d2bc
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   567
  # Parent  ee295f490a40b97f3d18dd4c4f1c8936c233b612
17045
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   568
  2
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   569
  
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   570
  diff --git a/a b/b
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   571
  rename from a
52ea9ce5b641 graft: don't drop the second parent on unsuccessful merge (issue3498)
Yuya Nishihara <yuya@tcha.org>
parents: 16509
diff changeset
   572
  rename to b
17185
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   573
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   574
Test simple origin(), with and without args
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   575
  $ hg log -r 'origin()'
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   576
  changeset:   1:5d205f8b35b6
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   577
  user:        bar
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   578
  date:        Thu Jan 01 00:00:00 1970 +0000
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   579
  summary:     1
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   580
  
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   581
  changeset:   2:5c095ad7e90f
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   582
  user:        test
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   583
  date:        Thu Jan 01 00:00:00 1970 +0000
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   584
  summary:     2
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   585
  
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   586
  changeset:   3:4c60f11aa304
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   587
  user:        baz
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   588
  date:        Thu Jan 01 00:00:00 1970 +0000
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   589
  summary:     3
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   590
  
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   591
  changeset:   4:9c233e8e184d
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   592
  user:        test
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   593
  date:        Thu Jan 01 00:00:00 1970 +0000
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   594
  summary:     4
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   595
  
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   596
  changeset:   5:97f8bfe72746
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   597
  branch:      stable
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   598
  parent:      3:4c60f11aa304
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   599
  user:        test
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   600
  date:        Thu Jan 01 00:00:00 1970 +0000
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   601
  summary:     5
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   602
  
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   603
  $ hg log -r 'origin(7)'
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   604
  changeset:   2:5c095ad7e90f
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   605
  user:        test
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   606
  date:        Thu Jan 01 00:00:00 1970 +0000
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   607
  summary:     2
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   608
  
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   609
Now transplant a graft to test following through copies
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   610
  $ hg up -q 0
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   611
  $ hg branch -q dev
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   612
  $ hg ci -qm "dev branch"
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   613
  $ hg --config extensions.transplant= transplant -q 7
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   614
  $ hg log -r 'origin(.)'
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   615
  changeset:   2:5c095ad7e90f
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   616
  user:        test
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   617
  date:        Thu Jan 01 00:00:00 1970 +0000
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   618
  summary:     2
2c7c4824969e revset: add origin() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17059
diff changeset
   619
  
21765
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   620
Test that the graft and transplant markers in extra are converted, allowing
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   621
origin() to still work.  Note that these recheck the immediately preceeding two
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   622
tests.
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   623
  $ hg --quiet --config extensions.convert= --config convert.hg.saverev=True convert . ../converted
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   624
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   625
The graft case
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   626
  $ hg -R ../converted log -r 7 --template "{rev}: {node}\n{join(extras, '\n')}\n"
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   627
  7: 7ae846e9111fc8f57745634250c7b9ac0a60689b
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   628
  branch=default
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   629
  convert_revision=ef0ef43d49e79e81ddafdc7997401ba0041efc82
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   630
  source=e0213322b2c1a5d5d236c74e79666441bee67a7d
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   631
  $ hg -R ../converted log -r 'origin(7)'
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   632
  changeset:   2:e0213322b2c1
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   633
  user:        test
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   634
  date:        Thu Jan 01 00:00:00 1970 +0000
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   635
  summary:     2
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   636
  
25589
273d94255e1e convert: update 'intermediate-source' in the destination's extras dictionary
Matt Harbison <matt_harbison@yahoo.com>
parents: 25125
diff changeset
   637
Test that template correctly expands more than one 'extra' (issue4362), and that
273d94255e1e convert: update 'intermediate-source' in the destination's extras dictionary
Matt Harbison <matt_harbison@yahoo.com>
parents: 25125
diff changeset
   638
'intermediate-source' is converted.
273d94255e1e convert: update 'intermediate-source' in the destination's extras dictionary
Matt Harbison <matt_harbison@yahoo.com>
parents: 25125
diff changeset
   639
  $ hg -R ../converted log -r 13 --template "{extras % ' Extra: {extra}\n'}"
23167
a3c2d9211294 templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents: 22897
diff changeset
   640
   Extra: branch=default
25589
273d94255e1e convert: update 'intermediate-source' in the destination's extras dictionary
Matt Harbison <matt_harbison@yahoo.com>
parents: 25125
diff changeset
   641
   Extra: convert_revision=7a4785234d87ec1aa420ed6b11afe40fa73e12a9
273d94255e1e convert: update 'intermediate-source' in the destination's extras dictionary
Matt Harbison <matt_harbison@yahoo.com>
parents: 25125
diff changeset
   642
   Extra: intermediate-source=7ae846e9111fc8f57745634250c7b9ac0a60689b
23167
a3c2d9211294 templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents: 22897
diff changeset
   643
   Extra: source=e0213322b2c1a5d5d236c74e79666441bee67a7d
a3c2d9211294 templater: don't overwrite the keyword mapping in runsymbol() (issue4362)
Matt Harbison <matt_harbison@yahoo.com>
parents: 22897
diff changeset
   644
21765
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   645
The transplant case
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   646
  $ hg -R ../converted log -r tip --template "{rev}: {node}\n{join(extras, '\n')}\n"
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   647
  21: fbb6c5cc81002f2b4b49c9d731404688bcae5ade
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   648
  branch=dev
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   649
  convert_revision=7e61b508e709a11d28194a5359bc3532d910af21
31452
52dabcc49968 templatekw: make join() escape values of extras (BC) (issue5504)
Yuya Nishihara <yuya@tcha.org>
parents: 30581
diff changeset
   650
  transplant_source=z\xe8F\xe9\x11\x1f\xc8\xf5wEcBP\xc7\xb9\xac\n`h\x9b
21765
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   651
  $ hg -R ../converted log -r 'origin(tip)'
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   652
  changeset:   2:e0213322b2c1
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   653
  user:        test
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   654
  date:        Thu Jan 01 00:00:00 1970 +0000
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   655
  summary:     2
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   656
  
44255f7ce886 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com>
parents: 21416
diff changeset
   657
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   658
Test simple destination
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   659
  $ hg log -r 'destination()'
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   660
  changeset:   7:ef0ef43d49e7
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   661
  parent:      0:68795b066622
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   662
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   663
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   664
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   665
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   666
  changeset:   8:6b9e5368ca4e
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   667
  user:        bar
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   668
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   669
  summary:     1
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   670
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   671
  changeset:   9:1905859650ec
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   672
  user:        test
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   673
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   674
  summary:     5
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   675
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   676
  changeset:   10:52dc0b4c6907
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   677
  user:        test
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   678
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   679
  summary:     4
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   680
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   681
  changeset:   11:882b35362a6b
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   682
  user:        test
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   683
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   684
  summary:     3
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   685
  
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   686
  changeset:   13:7a4785234d87
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   687
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   688
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   689
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   690
  
30188
8a864844d5a0 checkcopies: add a sanity check against false-positive copies
Gábor Stefanik <gabor.stefanik@nng.com>
parents: 29975
diff changeset
   691
  changeset:   14:0c921c65ef1e
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   692
  parent:      1:5d205f8b35b6
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   693
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   694
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   695
  summary:     3
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   696
  
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   697
  changeset:   17:f67661df0c48
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   698
  user:        bar
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   699
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   700
  summary:     1
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   701
  
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   702
  changeset:   19:9627f653b421
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   703
  user:        test
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   704
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   705
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   706
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   707
  changeset:   21:7e61b508e709
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   708
  branch:      dev
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   709
  tag:         tip
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   710
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   711
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   712
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   713
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   714
  $ hg log -r 'destination(2)'
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   715
  changeset:   7:ef0ef43d49e7
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   716
  parent:      0:68795b066622
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   717
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   718
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   719
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   720
  
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   721
  changeset:   13:7a4785234d87
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   722
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   723
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   724
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   725
  
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   726
  changeset:   19:9627f653b421
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   727
  user:        test
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   728
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   729
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   730
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   731
  changeset:   21:7e61b508e709
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   732
  branch:      dev
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   733
  tag:         tip
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   734
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   735
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   736
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   737
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   738
Transplants of grafts can find a destination...
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   739
  $ hg log -r 'destination(7)'
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   740
  changeset:   21:7e61b508e709
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   741
  branch:      dev
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   742
  tag:         tip
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   743
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   744
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   745
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   746
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   747
... grafts of grafts unfortunately can't
39111
46da52f4b820 commit: try hard to reuse p1 manifest if nothing changed
Yuya Nishihara <yuya@tcha.org>
parents: 38966
diff changeset
   748
  $ hg graft -q 13 --debug
46da52f4b820 commit: try hard to reuse p1 manifest if nothing changed
Yuya Nishihara <yuya@tcha.org>
parents: 38966
diff changeset
   749
  scanning for duplicate grafts
46da52f4b820 commit: try hard to reuse p1 manifest if nothing changed
Yuya Nishihara <yuya@tcha.org>
parents: 38966
diff changeset
   750
  grafting 13:7a4785234d87 "2"
42164
96bd75e67a94 copies: fix up "fullcopy" with missing entries from "copy"
Martin von Zweigbergk <martinvonz@google.com>
parents: 42161
diff changeset
   751
    all copies found (* = to merge, ! = divergent, % = renamed and deleted):
44197
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   752
     on local side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   753
      src: 'a' -> dst: 'b' *
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   754
     on remote side:
17e12938f8e7 copies: print debug information about copies per side/branch
Martin von Zweigbergk <martinvonz@google.com>
parents: 44091
diff changeset
   755
      src: 'a' -> dst: 'b' *
42164
96bd75e67a94 copies: fix up "fullcopy" with missing entries from "copy"
Martin von Zweigbergk <martinvonz@google.com>
parents: 42161
diff changeset
   756
    checking for directory renames
39111
46da52f4b820 commit: try hard to reuse p1 manifest if nothing changed
Yuya Nishihara <yuya@tcha.org>
parents: 38966
diff changeset
   757
  resolving manifests
46da52f4b820 commit: try hard to reuse p1 manifest if nothing changed
Yuya Nishihara <yuya@tcha.org>
parents: 38966
diff changeset
   758
   branchmerge: True, force: True, partial: False
46da52f4b820 commit: try hard to reuse p1 manifest if nothing changed
Yuya Nishihara <yuya@tcha.org>
parents: 38966
diff changeset
   759
   ancestor: b592ea63bb0c, local: 7e61b508e709+, remote: 7a4785234d87
39187
2f89a7defe62 test-graft: add a missing output line for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 39111
diff changeset
   760
  starting 4 threads for background file closing (?)
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   761
  note: graft of 13:7a4785234d87 created no changes to commit
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   762
  $ hg log -r 'destination(13)'
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   763
All copies of a cset
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   764
  $ hg log -r 'origin(13) or destination(origin(13))'
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   765
  changeset:   2:5c095ad7e90f
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   766
  user:        test
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   767
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   768
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   769
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   770
  changeset:   7:ef0ef43d49e7
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   771
  parent:      0:68795b066622
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   772
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   773
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   774
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   775
  
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   776
  changeset:   13:7a4785234d87
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   777
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   778
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   779
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   780
  
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   781
  changeset:   19:9627f653b421
17186
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   782
  user:        test
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   783
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   784
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   785
  
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   786
  changeset:   21:7e61b508e709
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   787
  branch:      dev
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   788
  tag:         tip
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   789
  user:        foo
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   790
  date:        Thu Jan 01 00:00:00 1970 +0000
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   791
  summary:     2
a3da6f298592 revset: add destination() predicate
Matt Harbison <matt_harbison@yahoo.com>
parents: 17185
diff changeset
   792
  
21200
a1381eea7c7d graft: do not use `.remove` on a smart set (regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21082
diff changeset
   793
44044
f3ad014b6a53 tests: avoid grafting the same change over and over
Martin von Zweigbergk <martinvonz@google.com>
parents: 44041
diff changeset
   794
graft skips ancestors
21200
a1381eea7c7d graft: do not use `.remove` on a smart set (regression)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21082
diff changeset
   795
44044
f3ad014b6a53 tests: avoid grafting the same change over and over
Martin von Zweigbergk <martinvonz@google.com>
parents: 44041
diff changeset
   796
  $ hg graft 21 3
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   797
  skipping ancestor revision 21:7e61b508e709
44044
f3ad014b6a53 tests: avoid grafting the same change over and over
Martin von Zweigbergk <martinvonz@google.com>
parents: 44041
diff changeset
   798
  grafting 3:4c60f11aa304 "3"
f3ad014b6a53 tests: avoid grafting the same change over and over
Martin von Zweigbergk <martinvonz@google.com>
parents: 44041
diff changeset
   799
  merging b and c to c
22302
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   800
21979
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   801
graft with --force (still doesn't graft merges)
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   802
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   803
  $ hg graft 19 0 6
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   804
  skipping ungraftable merge revision 6
23507
67045b5a903a graft: show hashes in user-facing messages
Mads Kiilerich <madski@unity3d.com>
parents: 23506
diff changeset
   805
  skipping ancestor revision 0:68795b066622
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   806
  grafting 19:9627f653b421 "2"
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   807
  merging b
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   808
  note: graft of 19:9627f653b421 created no changes to commit
21979
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   809
  $ hg graft 19 0 6 --force
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   810
  skipping ungraftable merge revision 6
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   811
  grafting 19:9627f653b421 "2"
21979
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   812
  merging b
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   813
  note: graft of 19:9627f653b421 created no changes to commit
23505
bd5dbb8a05c8 graft: show more useful status information while grafting
Mads Kiilerich <madski@unity3d.com>
parents: 23504
diff changeset
   814
  grafting 0:68795b066622 "0"
21979
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   815
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   816
graft --force after backout
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   817
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   818
  $ echo abc > a
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   819
  $ hg ci -m 24
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   820
  $ hg backout 24
21979
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   821
  reverting a
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   822
  changeset 25:71c4e63d4f98 backs out changeset 24:2e7ea477be26
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   823
  $ hg graft 24
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   824
  skipping ancestor revision 24:2e7ea477be26
21979
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   825
  [255]
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   826
  $ hg graft 24 --force
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   827
  grafting 24:2e7ea477be26 "24"
21979
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   828
  merging a
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   829
  $ cat a
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   830
  abc
c2863cfe8a8a graft: allow regrafting ancestors with --force (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21947
diff changeset
   831
21980
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   832
graft --continue after --force
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   833
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   834
  $ echo def > a
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   835
  $ hg ci -m 27
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   836
  $ hg graft 24 --force --tool internal:fail
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   837
  grafting 24:2e7ea477be26 "24"
21980
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   838
  abort: unresolved conflicts, can't continue
28963
fc1d75e7a98d graft: use single quotes around command hint
timeless <timeless@mozdev.org>
parents: 28634
diff changeset
   839
  (use 'hg resolve' and 'hg graft --continue')
21980
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   840
  [255]
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   841
  $ hg resolve --all
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   842
  merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26611
diff changeset
   843
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
23463
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   844
  [1]
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   845
  $ echo abc > a
bb0143e12f35 graft: use a real conflict for the tests
Martin von Zweigbergk <martinvonz@google.com>
parents: 23167
diff changeset
   846
  $ hg resolve -m a
21980
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   847
  (no more unresolved files)
27625
cdb9493a7e2f graft: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 27173
diff changeset
   848
  continue: hg graft --continue
21980
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   849
  $ hg graft -c
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   850
  grafting 24:2e7ea477be26 "24"
21980
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   851
  $ cat a
f4e5753745e9 graft: make --force apply across continues (issue3220)
Siddharth Agarwal <sid0@fb.com>
parents: 21979
diff changeset
   852
  abc
22302
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   853
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   854
Continue testing same origin policy, using revision numbers from test above
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   855
but do some destructive editing of the repo:
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   856
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   857
  $ hg up -qC 7
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   858
  $ hg tag -l -r 13 tmp
23514
3575f42e1b7b test-graft: use strip extension instead of mq extension
Augie Fackler <raf@durin42.com>
parents: 23508
diff changeset
   859
  $ hg --config extensions.strip= strip 2
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33771
diff changeset
   860
  saved backup bundle to $TESTTMP/a/.hg/strip-backup/5c095ad7e90f-d323a1e4-backup.hg
22302
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   861
  $ hg graft tmp
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   862
  skipping already grafted revision 8:7a4785234d87 (2:ef0ef43d49e7 also has unknown origin 5c095ad7e90f)
22302
9472284df4eb graft: fix collision detection with origin revisions that are missing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   863
  [255]
23504
e172a1f2b5bb tests: test coverage for empty graft
Mads Kiilerich <madski@unity3d.com>
parents: 23482
diff changeset
   864
e172a1f2b5bb tests: test coverage for empty graft
Mads Kiilerich <madski@unity3d.com>
parents: 23482
diff changeset
   865
Empty graft
e172a1f2b5bb tests: test coverage for empty graft
Mads Kiilerich <madski@unity3d.com>
parents: 23482
diff changeset
   866
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   867
  $ hg up -qr 22
23504
e172a1f2b5bb tests: test coverage for empty graft
Mads Kiilerich <madski@unity3d.com>
parents: 23482
diff changeset
   868
  $ hg tag -f something
44091
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   869
  $ hg graft -qr 23
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   870
  $ hg graft -f 23
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   871
  grafting 23:72d9c7c75bcc "24"
3df0bd706c40 graftcopies: use _filter() for filtering out invalid copies
Martin von Zweigbergk <martinvonz@google.com>
parents: 44044
diff changeset
   872
  note: graft of 23:72d9c7c75bcc created no changes to commit
24643
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   873
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   874
  $ cd ..
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   875
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   876
Graft to duplicate a commit
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   877
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   878
  $ hg init graftsibling
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   879
  $ cd graftsibling
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   880
  $ touch a
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   881
  $ hg commit -qAm a
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   882
  $ touch b
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   883
  $ hg commit -qAm b
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   884
  $ hg log -G -T '{rev}\n'
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   885
  @  1
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   886
  |
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   887
  o  0
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   888
  
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   889
  $ hg up -q 0
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   890
  $ hg graft -r 1
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   891
  grafting 1:0e067c57feba "b" (tip)
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   892
  $ hg log -G -T '{rev}\n'
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   893
  @  2
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   894
  |
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   895
  | o  1
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   896
  |/
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   897
  o  0
a8e6897dffbe graft: allow creating sibling grafts
Durham Goode <durham@fb.com>
parents: 23929
diff changeset
   898
  
24644
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   899
Graft to duplicate a commit twice
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   900
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   901
  $ hg up -q 0
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   902
  $ hg graft -r 2
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   903
  grafting 2:044ec77f6389 "b" (tip)
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   904
  $ hg log -G -T '{rev}\n'
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   905
  @  3
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   906
  |
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   907
  | o  2
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   908
  |/
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   909
  | o  1
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   910
  |/
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   911
  o  0
51930a7180bd graft: record intermediate grafts in extras
Durham Goode <durham@fb.com>
parents: 24643
diff changeset
   912