tests/test-subrepo-relative-path.t
author Martin Geisler <mg@aragost.com>
Mon, 09 May 2011 17:15:44 +0200
changeset 14281 ccb7240acf32
parent 14187 9bbaafddfa90
child 15446 c5c9ca3719f9
permissions -rw-r--r--
subrepo: create subrepos using clone instead of pull Subrepositories used to be created empty and then filled with data using pull. This is wasteful when you do a clone from a local source since it means that no hardlinks are created for the subrepos. This patch make the hgsubrepo._get method check for an empty subrepo and in that case do a clone instead of a pull. This brings in the same data as before, but creates hardlinks when possible.
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
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     6
  adding sub/sub
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
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    18
  adding main/.hgsub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    19
  adding main/main
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
  committing subrepository sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    22
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    23
Cleaning both repositories, just as a clone -U
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    24
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    25
  $ hg up -C -R sub null
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    26
  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
    27
  $ hg up -C -R main null
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    28
  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
    29
  $ rm -rf main/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    30
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    31
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
    32
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    33
  $ 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
    34
  $ 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
    35
  >    -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
    36
  $ 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
    37
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    38
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
    39
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    40
  $ hg clone "http://localhost:$HGPORT/main" cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    41
  requesting all changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    42
  adding changesets
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    43
  adding manifests
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    44
  adding file changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    45
  added 1 changesets with 3 changes to 3 files
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    46
  updating to branch default
14281
ccb7240acf32 subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents: 14187
diff changeset
    47
  cloning subrepo sub from http://localhost:$HGPORT/sub
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    48
  requesting all changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    49
  adding changesets
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    50
  adding manifests
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    51
  adding file changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    52
  added 1 changesets with 1 changes to 1 files
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    53
  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
    54
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    55
Checking cloned repo ids
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    56
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    57
  $ hg id -R cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    58
  fdfeeb3e979e tip
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    59
  $ hg id -R cloned/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    60
  863c1745b441 tip
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    61
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    62
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
    63
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    64
  $ hg debugsub -R cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    65
  path sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    66
   source   ../sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    67
   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
    68
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    69
  $ "$TESTDIR/killdaemons.py"
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    70
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    71
subrepo paths with ssh urls
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    72
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    73
  $ cp $TESTDIR/dummyssh $BINDIR/ssh
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    74
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    75
  $ hg clone ssh://user@dummy/cloned sshclone
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    76
  requesting all changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    77
  adding changesets
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    78
  adding manifests
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    79
  adding file changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    80
  added 1 changesets with 3 changes to 3 files
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    81
  updating to branch default
14281
ccb7240acf32 subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents: 14187
diff changeset
    82
  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
    83
  requesting all changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    84
  adding changesets
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    85
  adding manifests
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    86
  adding file changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    87
  added 1 changesets with 1 changes to 1 files
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    88
  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
    89
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    90
  $ hg -R sshclone push ssh://user@dummy/$TESTTMP/cloned
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    91
  pushing to ssh://user@dummy/$TESTTMP/cloned
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    92
  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
    93
  searching for changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    94
  no changes found
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    95
  searching for changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    96
  no changes found
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    97
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    98
  $ cat dummylog
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    99
  Got arguments 1:user@dummy 2:hg -R cloned serve --stdio
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   100
  Got arguments 1:user@dummy 2:hg -R sub serve --stdio
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   101
  Got arguments 1:user@dummy 2:hg -R $TESTTMP/cloned serve --stdio
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   102
  Got arguments 1:user@dummy 2:hg -R $TESTTMP/sub serve --stdio
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   103
  $ rm $BINDIR/ssh