##// END OF EJS Templates
merge default heads in crew and main
merge default heads in crew and main

File last commit:

r13126:e76701bf merge default
r13126:e76701bf merge default
Show More
test-subrepo-relative-path.t
124 lines | 3.1 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-relative-path.t
Preparing the subrepository 'sub'
$ hg init sub
$ echo sub > sub/sub
$ hg add -R sub
adding sub/sub
$ hg commit -R sub -m "sub import"
Preparing the 'main' repo which depends on the subrepo 'sub'
$ hg init main
$ echo main > main/main
$ echo "sub = ../sub" > main/.hgsub
$ hg clone sub main/sub
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg add -R main
adding main/.hgsub
adding main/main
$ hg commit -R main -m "main import"
committing subrepository sub
Cleaning both repositories, just as a clone -U
$ hg up -C -R sub null
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg up -C -R main null
0 files updated, 0 files merged, 3 files removed, 0 files unresolved
$ rm -rf main/sub
Serving them both using hgweb
$ printf '[paths]\n/main = main\nsub = sub\n' > webdir.conf
$ hg serve --webdir-conf webdir.conf -a localhost -p $HGPORT \
> -A /dev/null -E /dev/null --pid-file hg.pid -d
$ cat hg.pid >> $DAEMON_PIDS
Clone main from hgweb
$ hg clone "http://localhost:$HGPORT/main" cloned
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 3 changes to 3 files
updating to branch default
pulling subrepo sub from http://localhost:$HGPORT/sub
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Checking cloned repo ids
$ hg id -R cloned
fdfeeb3e979e tip
$ hg id -R cloned/sub
863c1745b441 tip
subrepo debug for 'main' clone
$ hg debugsub -R cloned
path sub
source ../sub
revision 863c1745b441bd97a8c4a096e87793073f4fb215
$ "$TESTDIR/killdaemons.py"
Create repo with nested relative subrepos
$ hg init r1
$ hg init r1/sub
$ echo sub = sub > r1/.hgsub
$ hg add --cwd r1 .hgsub
$ hg init r1/sub/subsub
$ echo subsub = subsub > r1/sub/.hgsub
$ hg add --cwd r1/sub .hgsub
$ echo c1 > r1/sub/subsub/f
$ hg add --cwd r1/sub/subsub f
$ hg ci --cwd r1 -m0
committing subrepository sub
committing subrepository sub/subsub
Ensure correct relative paths are used when pulling
$ hg init r2
$ cd r2/
$ hg pull -u ../r1
pulling from ../r1
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
pulling subrepo sub from ../r1/sub
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 2 changes to 2 files
pulling subrepo sub/subsub from ../r1/sub/subsub
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..
Verify subrepo default paths were set correctly
$ hg -R r2/sub paths
default = $TESTTMP/r1/sub
$ cat r2/sub/.hg/hgrc
[paths]
default = ../../r1/sub
$ hg -R r2/sub/subsub paths
default = $TESTTMP/r1/sub/subsub
$ cat r2/sub/subsub/.hg/hgrc
[paths]
default = ../../../r1/sub/subsub