tests/test-http-clone-r.t
author Pierre-Yves David <pierre-yves.david@fb.com>
Tue, 23 Dec 2014 15:30:38 -0800
changeset 23702 c48924787eaa
parent 22046 7a9cbb315d84
child 34661 eb586ed5d8ce
permissions -rw-r--r--
filectx.parents: enforce changeid of parent to be in own changectx ancestors Because of the way filenodes are computed, you can have multiple changesets "introducing" the same file revision. For example, in the changeset graph below, changeset 2 and 3 both change a file -to- and -from- the same content. o 3: content = new | | o 2: content = new |/ o 1: content = old In such cases, the file revision is create once, when 2 is added, and just reused for 3. So the file change in '3' (from "old" to "new)" has no linkrev pointing to it). We'll call this situation "linkrev-shadowing". As the linkrev is used for optimization purposes when walking a file history, the linkrev-shadowing results in an unexpected jump to another branch during such a walk.. This leads to multiple bugs with log, annotate and rename detection. One element to fix such bugs is to ensure that walking the file history sticks on the same topology as the changeset's history. For this purpose, we extend the logic in 'basefilectx.parents' so that it always defines the proper changeset to associate the parent file revision with. This "proper" changeset has to be an ancestor of the changeset associated with the child file revision. This logic is performed in the '_adjustlinkrev' function. This function is given the starting changeset and all the information regarding the parent file revision. If the linkrev for the file revision is an ancestor of the starting changeset, the linkrev is valid and will be used. If it is not, we detected a topological jump caused by linkrev shadowing, we are going to walk the ancestors of the starting changeset until we find one setting the file to the revision we are trying to create. The performance impact appears acceptable: - We are walking the changelog once for each filelog traversal (as there should be no overlap between searches), - changelog traversal itself is fairly cheap, compared to what is likely going to be perform on the result on the filelog traversal, - We only touch the manifest for ancestors touching the file, And such changesets are likely to be the one introducing the file. (except in pathological cases involving merge), - We use manifest diff instead of full manifest unpacking to check manifest content, so it does not involve applying multiple diffs in most case. - linkrev shadowing is not the common case. Tests for fixed issues in log, annotate and rename detection have been added. But this changeset does not solve all problems. It fixes -ancestry- computation, but if the linkrev-shadowed changesets is the starting one, we'll still get things wrong. We'll have to fix the bootstrapping of such operations in a later changeset. Also, the usage of `hg log FILE` without --follow still has issues with linkrev pointing to hidden changesets, because it relies on the `filelog` revset which implement its own traversal logic that is still to be fixed. Thanks goes to: - Matt Mackall: for nudging me in the right direction - Julien Cristau and RĂ©mi Cardona: for keep telling me linkrev bug were an evolution show stopper for 3 years. - Durham Goode: for finding a new linkrev issue every few weeks - Mads Kiilerich: for that last rename bug who raise this topic over my anoyance limit.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 20800
diff changeset
     1
#require serve
15446
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 14117
diff changeset
     2
14117
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
     3
creating 'remote
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
     4
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
     5
  $ hg init remote
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
     6
  $ cd remote
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15446
diff changeset
     7
  $ hg unbundle "$TESTDIR/bundles/remote.hg"
14117
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
     8
  adding changesets
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
     9
  adding manifests
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
    10
  adding file changes
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
    11
  added 9 changesets with 7 changes to 4 files (+1 heads)
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
    12
  (run 'hg heads' to see heads, 'hg merge' to merge)
07708f4171f1 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 13742
diff changeset
    13
  $ hg up tip
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    14
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    15
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    16
Starting server
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    17
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    18
  $ hg serve -p $HGPORT -E ../error.log -d --pid-file=../hg1.pid
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    19
  $ cd ..
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    20
  $ cat hg1.pid >> $DAEMON_PIDS
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    21
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    22
clone remote via stream
3449
c8686e3f0291 Testing the new changegroupsubset remote function in the ssh
Eric Hopper <hopper@omnifarious.org>
parents:
diff changeset
    23
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    24
  $ for i in 0 1 2 3 4 5 6 7 8; do
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    25
  >    hg clone -r "$i" http://localhost:$HGPORT/ test-"$i"
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    26
  >    if cd test-"$i"; then
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    27
  >       hg verify
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    28
  >       cd ..
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    29
  >    fi
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    30
  > done
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    31
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    32
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    33
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    34
  added 1 changesets with 1 changes to 1 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    35
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    36
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    37
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    38
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    39
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    40
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    41
  1 files, 1 changesets, 1 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    42
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    43
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    44
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    45
  added 2 changesets with 2 changes to 1 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    46
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    47
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    48
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    49
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    50
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    51
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    52
  1 files, 2 changesets, 2 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    53
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    54
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    55
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    56
  added 3 changesets with 3 changes to 1 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    57
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    58
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    59
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    60
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    61
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    62
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    63
  1 files, 3 changesets, 3 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    64
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    65
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    66
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    67
  added 4 changesets with 4 changes to 1 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    68
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    69
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    70
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    71
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    72
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    73
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    74
  1 files, 4 changesets, 4 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    75
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    76
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    77
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    78
  added 2 changesets with 2 changes to 1 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    79
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    80
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    81
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    82
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    83
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    84
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    85
  1 files, 2 changesets, 2 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    86
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    87
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    88
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    89
  added 3 changesets with 3 changes to 1 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    90
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    91
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    92
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    93
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    94
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    95
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    96
  1 files, 3 changesets, 3 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    97
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    98
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
    99
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   100
  added 4 changesets with 5 changes to 2 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   101
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   102
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   103
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   104
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   105
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   106
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   107
  2 files, 4 changesets, 5 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   108
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   109
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   110
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   111
  added 5 changesets with 6 changes to 3 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   112
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   113
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   114
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   115
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   116
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   117
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   118
  3 files, 5 changesets, 6 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   119
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   120
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   121
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   122
  added 5 changesets with 5 changes to 2 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   123
  updating to branch default
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   124
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   125
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   126
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   127
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   128
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   129
  2 files, 5 changesets, 5 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   130
  $ cd test-8
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   131
  $ hg pull ../test-7
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   132
  pulling from ../test-7
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   133
  searching for changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   134
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   135
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   136
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   137
  added 4 changesets with 2 changes to 3 files (+1 heads)
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   138
  (run 'hg heads' to see heads, 'hg merge' to merge)
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   139
  $ hg verify
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   140
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   141
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   142
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   143
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   144
  4 files, 9 changesets, 7 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   145
  $ cd ..
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   146
  $ cd test-1
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   147
  $ hg pull -r 4 http://localhost:$HGPORT/
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12448
diff changeset
   148
  pulling from http://localhost:$HGPORT/
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   149
  searching for changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   150
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   151
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   152
  adding file changes
13742
7abab875e647 discovery: avoid discovery when local graph is a subset of remote
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 12847
diff changeset
   153
  added 1 changesets with 0 changes to 0 files (+1 heads)
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   154
  (run 'hg heads' to see heads, 'hg merge' to merge)
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   155
  $ hg verify
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   156
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   157
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   158
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   159
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   160
  1 files, 3 changesets, 2 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   161
  $ hg pull http://localhost:$HGPORT/
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12448
diff changeset
   162
  pulling from http://localhost:$HGPORT/
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   163
  searching for changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   164
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   165
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   166
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   167
  added 6 changesets with 5 changes to 4 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   168
  (run 'hg update' to get a working copy)
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   169
  $ cd ..
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   170
  $ cd test-2
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   171
  $ hg pull -r 5 http://localhost:$HGPORT/
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12448
diff changeset
   172
  pulling from http://localhost:$HGPORT/
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   173
  searching for changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   174
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   175
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   176
  adding file changes
13742
7abab875e647 discovery: avoid discovery when local graph is a subset of remote
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 12847
diff changeset
   177
  added 2 changesets with 0 changes to 0 files (+1 heads)
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   178
  (run 'hg heads' to see heads, 'hg merge' to merge)
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   179
  $ hg verify
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   180
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   181
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   182
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   183
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   184
  1 files, 5 changesets, 3 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   185
  $ hg pull http://localhost:$HGPORT/
12643
d08bb64888bc tests: reintroduce ":$HGPORT" in test output
Mads Kiilerich <mads@kiilerich.com>
parents: 12448
diff changeset
   186
  pulling from http://localhost:$HGPORT/
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   187
  searching for changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   188
  adding changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   189
  adding manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   190
  adding file changes
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   191
  added 4 changesets with 4 changes to 4 files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   192
  (run 'hg update' to get a working copy)
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   193
  $ hg verify
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   194
  checking changesets
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   195
  checking manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   196
  crosschecking files in changesets and manifests
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   197
  checking files
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   198
  4 files, 9 changesets, 7 total revisions
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   199
  $ cd ..
20800
8253e55930a3 clone: abort if default destination has no meaningful name (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 16350
diff changeset
   200
8253e55930a3 clone: abort if default destination has no meaningful name (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 16350
diff changeset
   201
no default destination if url has no path:
8253e55930a3 clone: abort if default destination has no meaningful name (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 16350
diff changeset
   202
8253e55930a3 clone: abort if default destination has no meaningful name (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 16350
diff changeset
   203
  $ hg clone http://localhost:$HGPORT/
8253e55930a3 clone: abort if default destination has no meaningful name (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 16350
diff changeset
   204
  abort: empty destination path is not valid
8253e55930a3 clone: abort if default destination has no meaningful name (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 16350
diff changeset
   205
  [255]
8253e55930a3 clone: abort if default destination has no meaningful name (BC)
Yuya Nishihara <yuya@tcha.org>
parents: 16350
diff changeset
   206
12448
f5d3ff0a8192 tests: unify test-http-clone-r
Matt Mackall <mpm@selenic.com>
parents: 10398
diff changeset
   207
  $ cat error.log