tests/test-merge-commit.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sat, 20 Jan 2018 22:55:42 -0800
changeset 35793 4fb2bb61597c
parent 34661 eb586ed5d8ce
child 37282 009d0283de5f
permissions -rw-r--r--
bundle2: increase payload part chunk size to 32kb Bundle2 payload parts are framed chunks. Esentially, we obtain data in equal size chunks of size `preferedchunksize` and emit those to a generator. That generator is fed into a compressor (which can be the no-op compressor, which just re-emits the generator). And the output from the compressor likely goes to a file descriptor or socket. What this means is that small chunk sizes create more Python objects and Python function calls than larger chunk sizes. And as we know, Python object and function call overhead in performance sensitive code matters (at least with CPython). This commit increases the bundle2 part payload chunk size from 4k to 32k. Practically speaking, this means that the chunks we feed into a compressor (implemented in C code) or feed directly into a file handle or socket write() are larger. It's possible the chunks might be larger than what the receiver can handle in one logical operation. But at that point, we're in C code, which is much more efficient at dealing with splitting up the chunk and making multiple function calls than Python is. A downside to larger chunks is that the receiver has to wait for that much data to arrive (either raw or from a decompressor) before it can process the chunk. But 32kb still feels like a small buffer to have to wait for. And in many cases, the client will convert from 8 read(4096) to 1 read(32768). That's happening in Python land. So we cut down on the number of Python objects and function calls, making the client faster as well. I don't think there are any significant concerns to increasing the payload chunk size to 32kb. The impact of this change on performance significant. Using `curl` to obtain a stream clone bundle2 payload from a server on localhost serving the mozilla-unified repository: before: 20.78 user; 7.71 system; 80.5 MB/s after: 13.90 user; 3.51 system; 132 MB/s legacy: 9.72 user; 8.16 system; 132 MB/s bundle2 stream clone generation is still more resource intensive than legacy stream clone (that's likely because of the use of a util.chunkbuffer). But the throughput is the same. We might be in territory we're this is effectively a benchmark of the networking stack or Python's syscall throughput. From the client perspective, `hg clone -U --stream`: before: 33.50 user; 7.95 system; 53.3 MB/s after: 22.82 user; 7.33 system; 72.7 MB/s legacy: 29.96 user; 7.94 system; 58.0 MB/s And for `hg clone --stream` with a working directory update of ~230k files: after: 119.55 user; 26.47 system; 0:57.08 wall legacy: 126.98 user; 26.94 system; 1:05.56 wall So, it appears that bundle2's stream clone is now definitively faster than legacy stream clone! Differential Revision: https://phab.mercurial-scm.org/D1932
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12254
diff changeset
     1
Check that renames are correctly saved by a commit after a merge
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
     2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
     3
Test with the merge on 3 having the rename on the local parent
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     4
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
     5
  $ hg init a
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
     6
  $ cd a
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
     7
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
     8
  $ echo line1 > foo
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
     9
  $ hg add foo
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    10
  $ hg ci -m '0: add foo'
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    11
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    12
  $ echo line2 >> foo
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    13
  $ hg ci -m '1: change foo'
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    14
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    15
  $ hg up -C 0
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    16
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    17
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    18
  $ hg mv foo bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    19
  $ rm bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    20
  $ echo line0 > bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    21
  $ echo line1 >> bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    22
  $ hg ci -m '2: mv foo bar; change bar'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    23
  created new head
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    24
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    25
  $ hg merge 1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    26
  merging bar and foo to bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    27
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    28
  (branch merge, don't forget to commit)
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    29
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    30
  $ cat bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    31
  line0
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    32
  line1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    33
  line2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    34
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    35
  $ hg ci -m '3: merge with local rename'
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    36
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12847
diff changeset
    37
  $ hg debugindex bar
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    38
     rev    offset  length  ..... linkrev nodeid       p1           p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    39
       0         0      77  .....       2 d35118874825 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    40
       1        77      76  .....       3 5345f5ab8abd 000000000000 d35118874825 (re)
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    41
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    42
  $ hg debugrename bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    43
  bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    44
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12847
diff changeset
    45
  $ hg debugindex foo
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    46
     rev    offset  length  ..... linkrev nodeid       p1           p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    47
       0         0       7  .....       0 690b295714ae 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    48
       1         7      13  .....       1 9e25c27b8757 690b295714ae 000000000000 (re)
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    49
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    50
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    51
Revert the content change from rev 2:
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    52
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    53
  $ hg up -C 2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    54
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    55
  $ rm bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    56
  $ echo line1 > bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    57
  $ hg ci -m '4: revert content change from rev 2'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    58
  created new head
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    59
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    60
  $ hg log --template '{rev}:{node|short} {parents}\n'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    61
  4:2263c1be0967 2:0f2ff26688b9 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    62
  3:0555950ead28 2:0f2ff26688b9 1:5cd961e4045d 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    63
  2:0f2ff26688b9 0:2665aaee66e9 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    64
  1:5cd961e4045d 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    65
  0:2665aaee66e9 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    66
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    67
This should use bar@rev2 as the ancestor:
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    68
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    69
  $ hg --debug merge 3
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    70
    searching for copies back to rev 1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    71
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
    72
   branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 14182
diff changeset
    73
   ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 0555950ead28
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 18605
diff changeset
    74
   preserving bar for resolve of bar
28318
564a354f7f35 tests: flag Windows specific lines about background closing as optional
Matt Harbison <matt_harbison@yahoo.com>
parents: 27161
diff changeset
    75
  starting 4 threads for background file closing (?)
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
    76
   bar: 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
    77
  picked tool ':merge' for bar (binary False symlink False changedelete False)
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    78
  merging bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    79
  my bar@2263c1be0967+ other bar@0555950ead28 ancestor bar@0f2ff26688b9
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    80
   premerge successful
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    81
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    82
  (branch merge, don't forget to commit)
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    83
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    84
  $ cat bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    85
  line1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    86
  line2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    87
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    88
  $ hg ci -m '5: merge'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    89
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12847
diff changeset
    90
  $ hg debugindex bar
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    91
     rev    offset  length  ..... linkrev nodeid       p1           p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    92
       0         0      77  .....       2 d35118874825 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    93
       1        77      76  .....       3 5345f5ab8abd 000000000000 d35118874825 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    94
       2       153       7  .....       4 ff4b45017382 d35118874825 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
    95
       3       160      13  .....       5 3701b4893544 ff4b45017382 5345f5ab8abd (re)
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    96
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    97
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    98
Same thing, but with the merge on 3 having the rename
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
    99
on the remote parent:
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   100
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   101
  $ cd ..
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   102
  $ hg clone -U -r 1 -r 2 a b
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   103
  adding changesets
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   104
  adding manifests
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   105
  adding file changes
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   106
  added 3 changesets with 3 changes to 2 files (+1 heads)
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 28318
diff changeset
   107
  new changesets 2665aaee66e9:0f2ff26688b9
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   108
  $ cd b
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   109
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   110
  $ hg up -C 1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   111
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   112
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   113
  $ hg merge 2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   114
  merging foo and bar to bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   115
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   116
  (branch merge, don't forget to commit)
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
   117
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   118
  $ cat bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   119
  line0
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   120
  line1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   121
  line2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   122
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   123
  $ hg ci -m '3: merge with remote rename'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   124
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12847
diff changeset
   125
  $ hg debugindex bar
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   126
     rev    offset  length  ..... linkrev nodeid       p1           p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   127
       0         0      77  .....       2 d35118874825 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   128
       1        77      76  .....       3 5345f5ab8abd 000000000000 d35118874825 (re)
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   129
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   130
  $ hg debugrename bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   131
  bar renamed from foo:9e25c27b87571a1edee5ae4dddee5687746cc8e2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   132
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12847
diff changeset
   133
  $ hg debugindex foo
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   134
     rev    offset  length  ..... linkrev nodeid       p1           p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   135
       0         0       7  .....       0 690b295714ae 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   136
       1         7      13  .....       1 9e25c27b8757 690b295714ae 000000000000 (re)
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   137
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   138
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   139
Revert the content change from rev 2:
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   140
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   141
  $ hg up -C 2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   142
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   143
  $ rm bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   144
  $ echo line1 > bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   145
  $ hg ci -m '4: revert content change from rev 2'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   146
  created new head
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
   147
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   148
  $ hg log --template '{rev}:{node|short} {parents}\n'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   149
  4:2263c1be0967 2:0f2ff26688b9 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   150
  3:3ffa6b9e35f0 1:5cd961e4045d 2:0f2ff26688b9 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   151
  2:0f2ff26688b9 0:2665aaee66e9 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   152
  1:5cd961e4045d 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   153
  0:2665aaee66e9 
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   154
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   155
This should use bar@rev2 as the ancestor:
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
   156
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   157
  $ hg --debug merge 3
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   158
    searching for copies back to rev 1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   159
  resolving manifests
18605
bcf29565d89f manifestmerge: pass in branchmerge and force separately
Siddharth Agarwal <sid0@fb.com>
parents: 18541
diff changeset
   160
   branchmerge: True, force: False, partial: False
15625
efdcce3fd2d5 merge: make debug output easier to read
Martin Geisler <mg@aragost.com>
parents: 14182
diff changeset
   161
   ancestor: 0f2ff26688b9, local: 2263c1be0967+, remote: 3ffa6b9e35f0
21391
cb15835456cb merge: change debug logging - test output changes but no real changes
Mads Kiilerich <madski@unity3d.com>
parents: 18605
diff changeset
   162
   preserving bar for resolve of bar
28318
564a354f7f35 tests: flag Windows specific lines about background closing as optional
Matt Harbison <matt_harbison@yahoo.com>
parents: 27161
diff changeset
   163
  starting 4 threads for background file closing (?)
26618
8e6d5b7317e6 merge.mergestate: perform all premerges before any merges (BC)
Siddharth Agarwal <sid0@fb.com>
parents: 26517
diff changeset
   164
   bar: 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
   165
  picked tool ':merge' for bar (binary False symlink False changedelete False)
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   166
  merging bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   167
  my bar@2263c1be0967+ other bar@3ffa6b9e35f0 ancestor bar@0f2ff26688b9
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   168
   premerge successful
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   169
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   170
  (branch merge, don't forget to commit)
4058
e7282dede8cd filecommit: don't forget the local parent on a merge with a local rename
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
   171
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   172
  $ cat bar
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   173
  line1
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   174
  line2
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   175
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   176
  $ hg ci -m '5: merge'
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   177
14182
ec5886db9dc6 tests: fix deprecated use of hg debugdata/debugindex
Sune Foldager <cryo@cyanite.org>
parents: 12847
diff changeset
   178
  $ hg debugindex bar
17132
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   179
     rev    offset  length  ..... linkrev nodeid       p1           p2 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   180
       0         0      77  .....       2 d35118874825 000000000000 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   181
       1        77      76  .....       3 5345f5ab8abd 000000000000 d35118874825 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   182
       2       153       7  .....       4 ff4b45017382 d35118874825 000000000000 (re)
b87acfda5268 tests: reduce spurious failures when run with generaldelta
Bryan O'Sullivan <bryano@fb.com>
parents: 16913
diff changeset
   183
       3       160      13  .....       5 3701b4893544 ff4b45017382 5345f5ab8abd (re)
12254
852f10a15a6d tests: unify test-merge-commit
Adrian Buehlmann <adrian@cadifra.com>
parents: 8523
diff changeset
   184
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15625
diff changeset
   185
  $ cd ..