tests/test-pull-bundle.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 18 Jan 2022 13:05:21 -0800
changeset 49060 f3aafd785e65
parent 47169 96ee8ca99f5a
child 48818 6e7ae547e38d
permissions -rw-r--r--
filemerge: add support for partial conflict resolution by external tool A common class of merge conflicts is in imports/#includes/etc. It's relatively easy to write a tool that can resolve these conflicts, perhaps by naively just unioning the statements and leaving any cleanup to other tools to do later [1]. Such specialized tools cannot generally resolve all conflicts in a file, of course. Let's therefore call them "partial merge tools". Note that the internal simplemerge algorithm is such a partial merge tool - one that only resolves trivial "conflicts" where one side is unchanged or both sides change in the same way. One can also imagine having smarter language-aware partial tools that merge the AST. It may be useful for such tools to interactively let the user resolve any conflicts it can't resolve itself. However, having the option of implementing it as a partial merge tool means that the developer doesn't *need* to create a UI for it. Instead, the user can resolve any remaining conflicts with their regular merge tool (e.g. `:merge3` or `meld). We don't currently have a way to let the user define such partial merge tools. That's what this patch addresses. It lets the user configure partial merge tools to run. Each tool can be configured to run only on files matching certain patterns (e.g. "*.py"). The tool takes three inputs (local, base, other) and resolves conflicts by updating these in place. For example, let's say the inputs are these: base: ``` import sys def main(): print('Hello') ``` local: ``` import os import sys def main(): print('Hi') ``` other: ``` import re import sys def main(): print('Howdy') ``` A partial merge tool could now resolve the conflicting imports by replacing the import statements in *all* files by the following snippet, while leaving the remainder of the files unchanged. ``` import os import re import sys ``` As a result, simplemerge and any regular merge tool that runs after the partial merge tool(s) will consider the imports to be non-conflicting and will only present the conflict in `main()` to the user. Differential Revision: https://phab.mercurial-scm.org/D12356
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38063
538e850ae737 tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents: 37592
diff changeset
     1
#require no-chg
538e850ae737 tests: mark tests that fail when using chg as #require no-chg
Kyle Lippincott <spectral@google.com>
parents: 37592
diff changeset
     2
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     3
  $ hg init repo
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     4
  $ cd repo
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
     5
  $ hg debugbuilddag '+3<3+1'
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     6
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     7
  $ hg log
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
     8
  changeset:   3:6100d3090acf
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
     9
  tag:         tip
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    10
  parent:      0:1ea73414a91b
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    11
  user:        debugbuilddag
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    12
  date:        Thu Jan 01 00:00:03 1970 +0000
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    13
  summary:     r3
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    14
  
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    15
  changeset:   2:01241442b3c2
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    16
  user:        debugbuilddag
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    17
  date:        Thu Jan 01 00:00:02 1970 +0000
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    18
  summary:     r2
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    19
  
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    20
  changeset:   1:66f7d451a68b
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    21
  user:        debugbuilddag
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    22
  date:        Thu Jan 01 00:00:01 1970 +0000
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    23
  summary:     r1
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    24
  
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    25
  changeset:   0:1ea73414a91b
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    26
  user:        debugbuilddag
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    27
  date:        Thu Jan 01 00:00:00 1970 +0000
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    28
  summary:     r0
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    29
  
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    30
  $ cd ..
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    31
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    32
Test pullbundle functionality
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    33
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    34
  $ cd repo
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    35
  $ cat <<EOF > .hg/hgrc
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    36
  > [server]
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    37
  > pullbundle = True
44765
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
    38
  > [experimental]
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
    39
  > evolution = True
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    40
  > [extensions]
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    41
  > blackbox =
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    42
  > EOF
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    43
  $ hg bundle --base null -r 0 .hg/0.hg
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    44
  1 changesets found
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    45
  $ hg bundle --base 0 -r 1 .hg/1.hg
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    46
  1 changesets found
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    47
  $ hg bundle --base 1 -r 2 .hg/2.hg
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    48
  1 changesets found
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    49
  $ hg bundle --base 1 -r 3 .hg/3.hg
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    50
  1 changesets found
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    51
  $ cat <<EOF > .hg/pullbundles.manifest
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    52
  > 3.hg BUNDLESPEC=none-v2 heads=6100d3090acf50ed11ec23196cec20f5bd7323aa bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    53
  > 2.hg BUNDLESPEC=none-v2 heads=01241442b3c2bf3211e593b549c655ea65b295e3 bases=66f7d451a68b85ed82ff5fcc254daf50c74144bd
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    54
  > 1.hg BUNDLESPEC=bzip2-v2 heads=66f7d451a68b85ed82ff5fcc254daf50c74144bd bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    55
  > 0.hg BUNDLESPEC=gzip-v2 heads=1ea73414a91b0920940797d8fc6a11e447f8ea1e
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    56
  > EOF
45730
fbde66b05da4 test: check server error output in `test-pull-bundle.t`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44765
diff changeset
    57
  $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid -E ../error.txt
37592
fb91757471b5 tests: glob away fqdn wherever we print it
Augie Fackler <augie@google.com>
parents: 37516
diff changeset
    58
  listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    59
  $ cat ../repo.pid >> $DAEMON_PIDS
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    60
  $ cd ..
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    61
  $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    62
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    63
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    64
  adding file changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    65
  added 1 changesets with 0 changes to 0 files
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    66
  new changesets 1ea73414a91b (1 drafts)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    67
  updating to branch default
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    68
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
45730
fbde66b05da4 test: check server error output in `test-pull-bundle.t`
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 44765
diff changeset
    69
  $ cat error.txt
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    70
  $ cd repo.pullbundle
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    71
  $ hg pull -r 1
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    72
  pulling from http://localhost:$HGPORT2/
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    73
  searching for changes
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    74
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    75
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    76
  adding file changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    77
  added 1 changesets with 0 changes to 0 files
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    78
  new changesets 66f7d451a68b (1 drafts)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    79
  (run 'hg update' to get a working copy)
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    80
  $ hg pull -r 3
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    81
  pulling from http://localhost:$HGPORT2/
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    82
  searching for changes
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    83
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    84
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    85
  adding file changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    86
  added 1 changesets with 0 changes to 0 files (+1 heads)
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    87
  new changesets 6100d3090acf (1 drafts)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    88
  (run 'hg heads' to see heads, 'hg merge' to merge)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    89
  $ cd ..
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    90
  $ killdaemons.py
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    91
  $ grep 'sending pullbundle ' repo/.hg/blackbox.log
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    92
  * sending pullbundle "0.hg" (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    93
  * sending pullbundle "1.hg" (glob)
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
    94
  * sending pullbundle "3.hg" (glob)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    95
  $ rm repo/.hg/blackbox.log
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    96
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    97
Test pullbundle functionality for incremental pulls
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    98
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
    99
  $ cd repo
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   100
  $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
37592
fb91757471b5 tests: glob away fqdn wherever we print it
Augie Fackler <augie@google.com>
parents: 37516
diff changeset
   101
  listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   102
  $ cat ../repo.pid >> $DAEMON_PIDS
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   103
  $ cd ..
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   104
  $ hg clone http://localhost:$HGPORT2/ repo.pullbundle2
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   105
  requesting all changes
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   106
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   107
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   108
  adding file changes
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   109
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   110
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   111
  adding file changes
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   112
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   113
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   114
  adding file changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   115
  adding changesets
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   116
  adding manifests
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   117
  adding file changes
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   118
  added 4 changesets with 0 changes to 0 files (+1 heads)
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   119
  new changesets 1ea73414a91b:01241442b3c2 (4 drafts)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   120
  updating to branch default
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   121
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   122
  $ killdaemons.py
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   123
  $ grep 'sending pullbundle ' repo/.hg/blackbox.log
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   124
  * sending pullbundle "0.hg" (glob)
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   125
  * sending pullbundle "3.hg" (glob)
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   126
  * sending pullbundle "1.hg" (glob)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   127
  * sending pullbundle "2.hg" (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   128
  $ rm repo/.hg/blackbox.log
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   129
42143
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   130
Test pullbundle functionality for incoming
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   131
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   132
  $ cd repo
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   133
  $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   134
  listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   135
  $ cat ../repo.pid >> $DAEMON_PIDS
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   136
  $ cd ..
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   137
  $ hg clone http://localhost:$HGPORT2/ repo.pullbundle2a -r 0
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   138
  adding changesets
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   139
  adding manifests
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   140
  adding file changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   141
  added 1 changesets with 0 changes to 0 files
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   142
  new changesets 1ea73414a91b (1 drafts)
42143
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   143
  updating to branch default
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   144
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
42143
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   145
  $ cd repo.pullbundle2a
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   146
  $ hg incoming -r 66f7d451a68b
42143
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   147
  comparing with http://localhost:$HGPORT2/
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   148
  searching for changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   149
  changeset:   1:66f7d451a68b
42143
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   150
  tag:         tip
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   151
  user:        debugbuilddag
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   152
  date:        Thu Jan 01 00:00:01 1970 +0000
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   153
  summary:     r1
42143
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   154
  
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   155
  $ cd ..
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   156
  $ killdaemons.py
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   157
  $ grep 'sending pullbundle ' repo/.hg/blackbox.log
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   158
  * sending pullbundle "0.hg" (glob)
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   159
  * sending pullbundle "1.hg" (glob)
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   160
  $ rm repo/.hg/blackbox.log
29569f2db929 bundle2: handle compression in _forwardchunks
Joerg Sonnenberger <joerg@bec.de>
parents: 39497
diff changeset
   161
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   162
Test recovery from misconfigured server sending no new data
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   163
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   164
  $ cd repo
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   165
  $ cat <<EOF > .hg/pullbundles.manifest
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   166
  > 0.hg heads=66f7d451a68b85ed82ff5fcc254daf50c74144bd bases=1ea73414a91b0920940797d8fc6a11e447f8ea1e
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   167
  > 0.hg heads=1ea73414a91b0920940797d8fc6a11e447f8ea1e
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   168
  > EOF
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   169
  $ hg --config blackbox.track=debug --debug serve -p $HGPORT2 -d --pid-file=../repo.pid
37592
fb91757471b5 tests: glob away fqdn wherever we print it
Augie Fackler <augie@google.com>
parents: 37516
diff changeset
   170
  listening at http://*:$HGPORT2/ (bound to $LOCALIP:$HGPORT2) (glob) (?)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   171
  $ cat ../repo.pid >> $DAEMON_PIDS
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   172
  $ cd ..
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   173
  $ hg clone -r 0 http://localhost:$HGPORT2/ repo.pullbundle3
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   174
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   175
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   176
  adding file changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   177
  added 1 changesets with 0 changes to 0 files
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   178
  new changesets 1ea73414a91b (1 drafts)
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   179
  updating to branch default
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   180
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   181
  $ cd repo.pullbundle3
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   182
  $ hg pull -r 1
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   183
  pulling from http://localhost:$HGPORT2/
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   184
  searching for changes
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   185
  adding changesets
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   186
  adding manifests
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   187
  adding file changes
47169
96ee8ca99f5a revlog: use revlog.display_id in LookupError
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46690
diff changeset
   188
  abort: 00changelog@66f7d451a68b85ed82ff5fcc254daf50c74144bd: no node
46117
17a695357270 errors: use detailed exit code 50 for StorageError
Martin von Zweigbergk <martinvonz@google.com>
parents: 45976
diff changeset
   189
  [50]
37498
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   190
  $ cd ..
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   191
  $ killdaemons.py
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   192
  $ grep 'sending pullbundle ' repo/.hg/blackbox.log
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   193
  * sending pullbundle "0.hg" (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   194
  * sending pullbundle "0.hg" (glob)
aacfca6f9767 wireproto: support for pullbundles
Joerg Sonnenberger <joerg@bec.de>
parents:
diff changeset
   195
  $ rm repo/.hg/blackbox.log
44765
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   196
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   197
Test processing when nodes used in the pullbundle.manifest end up being hidden
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   198
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   199
  $ hg --repo repo debugobsolete ed1b79f46b9a29f5a6efa59cf12fcfca43bead5a
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   200
  1 new obsolescence markers
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   201
  $ hg serve --repo repo --config server.view=visible -p $HGPORT -d --pid-file=hg.pid -E errors.log
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   202
  $ cat hg.pid >> $DAEMON_PIDS
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   203
  $ hg clone http://localhost:$HGPORT repo-obs
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   204
  requesting all changes
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   205
  adding changesets
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   206
  adding manifests
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   207
  adding file changes
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   208
  adding changesets
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   209
  adding manifests
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   210
  adding file changes
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   211
  added 1 changesets with 0 changes to 0 files
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   212
  new changesets 1ea73414a91b (1 drafts)
44765
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   213
  updating to branch default
45976
35d5d1d8bcf0 tests: simplify and extend pull-bundle test using debugbuilddag
Joerg Sonnenberger <joerg@bec.de>
parents: 45921
diff changeset
   214
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
44765
3d5fb6cab832 pullbundles: use unfiltered repo for head/base matching
Joerg Sonnenberger <joerg@bec.de>
parents: 42903
diff changeset
   215
  $ killdaemons.py