tests/test-subrepo-relative-path.t
author Matt Mackall <mpm@selenic.com>
Mon, 06 Feb 2012 15:10:01 -0600
changeset 16073 b254f827b7a6
parent 16023 90f8b8dd0326
child 16351 d6a4cfefafb3
permissions -rw-r--r--
subrepo: rewrite handling of subrepo state at commit (issue2403) When the contents of .hgsubstate are stale (either because they've manually been tweaked or partial updates have confused it), we get confused about whether it actually needs committing. So instead, we actively consult the parent's substate and compare it the actual current state when deciding whether it needs committing. Side effect: lots of "committing subrepo" messages that didn't correspond with real commits disappear. This change is fairly invasive for a fairly obscure condition, so it's kept on the default branch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15446
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 14281
diff changeset
     1
  $ "$TESTDIR/hghave" serve || exit 80
c5c9ca3719f9 tests: use 'hghave serve' to guard tests that requires serve daemon management
Mads Kiilerich <mads@kiilerich.com>
parents: 14281
diff changeset
     2
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     3
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
     4
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     5
  $ hg init sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     6
  $ echo sub > sub/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     7
  $ hg add -R sub
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
     8
  adding sub/sub (glob)
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
     9
  $ hg commit -R sub -m "sub import"
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    10
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    11
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
    12
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    13
  $ hg init main
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    14
  $ echo main > main/main
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    15
  $ echo "sub = ../sub" > main/.hgsub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    16
  $ hg clone sub main/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    17
  updating to branch default
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    18
  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
    19
  $ hg add -R main
15447
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
    20
  adding main/.hgsub (glob)
9910f60a37ee tests: make (glob) on windows accept \ instead of /
Mads Kiilerich <mads@kiilerich.com>
parents: 15446
diff changeset
    21
  adding main/main (glob)
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    22
  $ hg commit -R main -m "main import"
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
Cleaning both repositories, just as a clone -U
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    25
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    26
  $ hg up -C -R sub null
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    27
  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
    28
  $ hg up -C -R main null
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    29
  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
    30
  $ rm -rf main/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    31
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    32
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
    33
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    34
  $ 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
    35
  $ 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
    36
  >    -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
    37
  $ 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
    38
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    39
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
    40
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    41
  $ hg clone "http://localhost:$HGPORT/main" cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    42
  requesting all changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    43
  adding changesets
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    44
  adding manifests
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    45
  adding file changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    46
  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
    47
  updating to branch default
14281
ccb7240acf32 subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents: 14187
diff changeset
    48
  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
    49
  requesting all changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    50
  adding changesets
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    51
  adding manifests
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    52
  adding file changes
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    53
  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
    54
  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
    55
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    56
Checking cloned repo ids
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    57
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    58
  $ hg id -R cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    59
  fdfeeb3e979e tip
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    60
  $ hg id -R cloned/sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    61
  863c1745b441 tip
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    62
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    63
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
    64
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    65
  $ hg debugsub -R cloned
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    66
  path sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    67
   source   ../sub
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    68
   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
    69
11915
d521e72314f9 tests: unify test-subrepo-relative-path
Martin Geisler <mg@lazybytes.net>
parents: 11109
diff changeset
    70
  $ "$TESTDIR/killdaemons.py"
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    71
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    72
subrepo paths with ssh urls
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    73
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    74
  $ cp $TESTDIR/dummyssh $BINDIR/ssh
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    75
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    76
  $ hg clone ssh://user@dummy/cloned sshclone
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    77
  requesting all changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    78
  adding changesets
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    79
  adding manifests
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    80
  adding file changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    81
  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
    82
  updating to branch default
14281
ccb7240acf32 subrepo: create subrepos using clone instead of pull
Martin Geisler <mg@aragost.com>
parents: 14187
diff changeset
    83
  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
    84
  requesting all changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    85
  adding changesets
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    86
  adding manifests
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    87
  adding file changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    88
  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
    89
  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
    90
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    91
  $ 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
    92
  pushing to ssh://user@dummy/$TESTTMP/cloned
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    93
  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
    94
  searching for changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    95
  no changes found
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    96
  searching for changes
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    97
  no changes found
16023
90f8b8dd0326 push: return 1 if no changes found (issue3228)
Matt Mackall <mpm@selenic.com>
parents: 15622
diff changeset
    98
  [1]
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
    99
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   100
  $ cat dummylog
15622
86fc364ca5f8 sshrepo: don't quote obviously safe strings (issue2983)
Mads Kiilerich <mads@kiilerich.com>
parents: 15581
diff changeset
   101
  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
   102
  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
   103
  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
   104
  Got arguments 1:user@dummy 2:hg -R $TESTTMP/sub serve --stdio
14187
9bbaafddfa90 tests: test subrepos with ssh urls
Mads Kiilerich <mads@kiilerich.com>
parents: 13138
diff changeset
   105
  $ rm $BINDIR/ssh