tests/test-subrepo-relative-path.t
author Kyle Lippincott <spectral@google.com>
Wed, 31 Mar 2021 12:46:54 -0700
changeset 46872 8bca353b1ebc
parent 45839 ebee234d952a
child 47920 9c4204b7f3e4
permissions -rw-r--r--
match: convert O(n) to O(log n) in exactmatcher.visitchildrenset When using narrow, during rebase this is called (at least) once per directory in the set of files in the commit being rebased. Every time it's called, we did the set arithmetic (now extracted and cached), which was probably pretty cheap but not necessary to repeat each time, looped over every item in the matcher and kept things that started with the directory we were querying. With very large narrowspecs, and a commit that touched a file in a large number of directories, this was slow. In a pathological repo, the rebase of a single commit (that touched over 17k files, I believe in approximately as many directories) with a narrowspec that had >32k entries took 8,246s of profiled time, with 5,007s of that spent in visitchildrenset (transitively). With this change, the time spent in visitchildrenset is less than 34s (which is where my profile cut off). Most of the remaining time was network access due to our custom remotefilelog-based setup not properly prefetching. Differential Revision: https://phab.mercurial-scm.org/D10294
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     1
Preparing the subrepository 'sub'
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
     2
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     3
  $ hg init sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     4
  $ echo sub > sub/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     5
  $ hg add -R sub
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
     6
  adding sub/sub
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     7
  $ hg commit -R sub -m "sub import"
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     8
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     9
Preparing the 'main' repo which depends on the subrepo 'sub'
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    10
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    11
  $ hg init main
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    12
  $ echo main > main/main
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    13
  $ echo "sub = ../sub" > main/.hgsub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    14
  $ hg clone sub main/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    15
  updating to branch default
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    16
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    17
  $ hg add -R main
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    18
  adding main/.hgsub
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
    19
  adding main/main
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    20
  $ hg commit -R main -m "main import"
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    21
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    22
Cleaning both repositories, just as a clone -U
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    23
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    24
  $ hg up -C -R sub null
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    25
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    26
  $ hg up -C -R main null
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    27
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    28
  $ rm -rf main/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    29
17015
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16351
diff changeset
    30
hide outer repo
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16351
diff changeset
    31
  $ hg init
73d20de5f30b tests: add missing no-outer-repo requirements
Mads Kiilerich <mads@kiilerich.com>
parents: 16351
diff changeset
    32
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    33
Serving them both using hgweb
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    34
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    35
  $ printf '[paths]\n/main = main\nsub = sub\n' > webdir.conf
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    36
  $ hg serve --webdir-conf webdir.conf -a localhost -p $HGPORT \
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    37
  >    -A /dev/null -E /dev/null --pid-file hg.pid -d
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    38
  $ cat hg.pid >> $DAEMON_PIDS
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    39
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    40
Clone main from hgweb
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    41
39547
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    42
  $ hg clone "http://user:pass@localhost:$HGPORT/main" cloned
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    43
  requesting all changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    44
  adding changesets
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    45
  adding manifests
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    46
  adding file changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    47
  added 1 changesets with 3 changes to 3 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33335
diff changeset
    48
  new changesets fdfeeb3e979e
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    49
  updating to branch default
39547
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    50
  cloning subrepo sub from http://user@localhost:$HGPORT/sub
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    51
  requesting all changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    52
  adding changesets
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    53
  adding manifests
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    54
  adding file changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    55
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33335
diff changeset
    56
  new changesets 863c1745b441
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    57
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    58
38170
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    59
Ensure that subrepos pay attention to default:pushurl
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    60
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    61
  $ cat > cloned/.hg/hgrc << EOF
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    62
  > [paths]
39547
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    63
  > default:pushurl = http://user:pass@localhost:$HGPORT/main
38170
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    64
  > EOF
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    65
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    66
  $ hg -R cloned out -S --config paths.default=bogus://invalid
39547
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    67
  comparing with http://user:***@localhost:$HGPORT/main
38170
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    68
  searching for changes
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    69
  no changes found
39547
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    70
  comparing with http://user:***@localhost:$HGPORT/sub
38170
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    71
  searching for changes
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    72
  no changes found
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    73
  [1]
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    74
39547
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    75
TODO: Figure out why, if the password is left out of the default:pushurl URL,
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    76
this says "no changes made to subrepo sub since last push".  It looks like from
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    77
the original clone command above, the password is getting stripped off, not
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    78
just masked out, and that would make the hashed URL different.
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    79
38170
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    80
  $ hg -R cloned push --config paths.default=bogus://invalid
39547
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    81
  pushing to http://user:***@localhost:$HGPORT/main
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    82
  pushing subrepo sub to http://user:***@localhost:$HGPORT/sub
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    83
  searching for changes
41ac8ea1bdd7 subrepo: mask out passwords embedded in the messages displaying a URL
Matt Harbison <matt_harbison@yahoo.com>
parents: 38170
diff changeset
    84
  no changes found
38170
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    85
  searching for changes
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    86
  no changes found
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    87
  abort: HTTP Error 403: ssl required
45839
ebee234d952a errors: set detailed exit code to 100 for some remote errors
Martin von Zweigbergk <martinvonz@google.com>
parents: 39547
diff changeset
    88
  [100]
38170
dfb888aae17a outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com>
parents: 37845
diff changeset
    89
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    90
Checking cloned repo ids
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    91
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    92
  $ hg id -R cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    93
  fdfeeb3e979e tip
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    94
  $ hg id -R cloned/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    95
  863c1745b441 tip
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    96
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    97
subrepo debug for 'main' clone
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
    98
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    99
  $ hg debugsub -R cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
   100
  path sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
   101
   source   ../sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
   102
   revision 863c1745b441bd97a8c4a096e87793073f4fb215
11109
a2bc2f2d77a9 subrepo: normalize path part of URLs so that pulling subrepos from webdir works
Edouard Gomez <ed.gomez@free.fr>
parents:
diff changeset
   103
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   104
Test sharing with a remote URL reference
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   105
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   106
  $ hg init absolute_subrepo
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   107
  $ cd absolute_subrepo
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   108
  $ echo foo > foo.txt
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   109
  $ hg ci -Am 'initial commit'
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   110
  adding foo.txt
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   111
  $ echo "sub = http://localhost:$HGPORT/sub" > .hgsub
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   112
  $ hg ci -Am 'add absolute subrepo'
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   113
  adding .hgsub
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   114
  $ cd ..
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   115
36688
fb278041df06 subrepo: activate clone pooling to enable sharing with remote URLs
Matt Harbison <matt_harbison@yahoo.com>
parents: 36687
diff changeset
   116
Clone pooling works for local clones with a remote subrepo reference.  The
fb278041df06 subrepo: activate clone pooling to enable sharing with remote URLs
Matt Harbison <matt_harbison@yahoo.com>
parents: 36687
diff changeset
   117
subrepo is cloned to the pool and shared from there, so that all clones will
fb278041df06 subrepo: activate clone pooling to enable sharing with remote URLs
Matt Harbison <matt_harbison@yahoo.com>
parents: 36687
diff changeset
   118
share the same subrepo.
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   119
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   120
  $ hg --config extensions.share= --config share.pool=$TESTTMP/pool \
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   121
  >    clone absolute_subrepo cloned_from_abs
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   122
  (sharing from new pooled repository 8d6a2f1e993b34b6557de0042cfe825ae12a8dae)
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   123
  requesting all changes
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   124
  adding changesets
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   125
  adding manifests
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   126
  adding file changes
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   127
  added 2 changesets with 3 changes to 3 files
36689
b394778b1a50 test-subrepo: glob away an unstable hash
Matt Harbison <matt_harbison@yahoo.com>
parents: 36688
diff changeset
   128
  new changesets 8d6a2f1e993b:* (glob)
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   129
  searching for changes
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   130
  no changes found
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   131
  updating working directory
36687
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   132
  cloning subrepo sub from http://localhost:$HGPORT/sub
36688
fb278041df06 subrepo: activate clone pooling to enable sharing with remote URLs
Matt Harbison <matt_harbison@yahoo.com>
parents: 36687
diff changeset
   133
  (sharing from new pooled repository 863c1745b441bd97a8c4a096e87793073f4fb215)
36687
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   134
  requesting all changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   135
  adding changesets
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   136
  adding manifests
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   137
  adding file changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   138
  added 1 changesets with 1 changes to 1 files
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   139
  new changesets 863c1745b441
36688
fb278041df06 subrepo: activate clone pooling to enable sharing with remote URLs
Matt Harbison <matt_harbison@yahoo.com>
parents: 36687
diff changeset
   140
  searching for changes
fb278041df06 subrepo: activate clone pooling to enable sharing with remote URLs
Matt Harbison <matt_harbison@yahoo.com>
parents: 36687
diff changeset
   141
  no changes found
36687
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   142
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   143
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   144
Vanilla sharing with a subrepo remote path reference will clone the subrepo.
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   145
Each share of these top level repos will end up with independent subrepo copies
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   146
(potentially leaving the shared parent with dangling cset references).
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   147
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   148
  $ hg --config extensions.share= share absolute_subrepo shared_from_abs
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   149
  updating working directory
36687
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   150
  cloning subrepo sub from http://localhost:$HGPORT/sub
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   151
  requesting all changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   152
  adding changesets
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   153
  adding manifests
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   154
  adding file changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   155
  added 1 changesets with 1 changes to 1 files
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   156
  new changesets 863c1745b441
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   157
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   158
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   159
  $ hg --config extensions.share= share -U absolute_subrepo shared_from_abs2
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   160
  $ hg -R shared_from_abs2 update -r tip
36687
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   161
  cloning subrepo sub from http://localhost:$HGPORT/sub
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   162
  requesting all changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   163
  adding changesets
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   164
  adding manifests
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   165
  adding file changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   166
  added 1 changesets with 1 changes to 1 files
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   167
  new changesets 863c1745b441
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   168
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   169
36687
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   170
A parent repo without its subrepo available locally can be shared if the
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   171
subrepo is referenced by absolute path.
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   172
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   173
  $ hg clone -U absolute_subrepo cloned_null_from_abs
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   174
  $ hg --config extensions.share= share cloned_null_from_abs shared_from_null_abs
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   175
  updating working directory
36687
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   176
  cloning subrepo sub from http://localhost:$HGPORT/sub
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   177
  requesting all changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   178
  adding changesets
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   179
  adding manifests
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   180
  adding file changes
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   181
  added 1 changesets with 1 changes to 1 files
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   182
  new changesets 863c1745b441
eed02e192770 subrepo: don't attempt to share remote sources (issue5793)
Matt Harbison <matt_harbison@yahoo.com>
parents: 36686
diff changeset
   183
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
36686
0c14b3f23294 test-subrepo: demonstrate problems with subrepo sharing and absolute paths
Matt Harbison <matt_harbison@yahoo.com>
parents: 35393
diff changeset
   184
25474
8c14f87bd0ae tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com>
parents: 25472
diff changeset
   185
  $ killdaemons.py
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   186
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   187
subrepo paths with ssh urls
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   188
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
   189
  $ hg clone -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/cloned sshclone
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   190
  requesting all changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   191
  adding changesets
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   192
  adding manifests
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   193
  adding file changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   194
  added 1 changesets with 3 changes to 3 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33335
diff changeset
   195
  new changesets fdfeeb3e979e
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   196
  updating to branch default
14281
ccb7240acf32 subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents: 14187
diff changeset
   197
  cloning subrepo sub from ssh://user@dummy/sub
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   198
  requesting all changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   199
  adding changesets
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   200
  adding manifests
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   201
  adding file changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   202
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33335
diff changeset
   203
  new changesets 863c1745b441
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   204
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   205
33335
72f051f9a7d8 tests: quote $PYTHON for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33286
diff changeset
   206
  $ hg -R sshclone push -e "\"$PYTHON\" \"$TESTDIR/dummyssh\"" ssh://user@dummy/`pwd`/cloned
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   207
  pushing to ssh://user@dummy/$TESTTMP/cloned
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   208
  pushing subrepo sub to ssh://user@dummy/$TESTTMP/sub
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   209
  searching for changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   210
  no changes found
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   211
  searching for changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   212
  no changes found
16023
90f8b8dd0326 push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents: 15622
diff changeset
   213
  [1]
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   214
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   215
  $ cat dummylog
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
   216
  Got arguments 1:user@dummy 2:hg -R cloned serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
   217
  Got arguments 1:user@dummy 2:hg -R sub serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
   218
  Got arguments 1:user@dummy 2:hg -R $TESTTMP/cloned serve --stdio
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
   219
  Got arguments 1:user@dummy 2:hg -R $TESTTMP/sub serve --stdio