test-subrepo
186 lines
| 3.6 KiB
| text/plain
|
TextLexer
/ tests / test-subrepo
|
r8816 | #!/bin/sh | ||
rm -rf sub | ||||
mkdir sub | ||||
cd sub | ||||
hg init t | ||||
cd t | ||||
echo % first revision, no sub | ||||
echo a > a | ||||
hg ci -Am0 | ||||
echo % add first sub | ||||
echo s = s > .hgsub | ||||
hg add .hgsub | ||||
hg init s | ||||
echo a > s/a | ||||
hg -R s ci -Ams0 | ||||
hg ci -m1 | ||||
echo % add sub sub | ||||
echo ss = ss > s/.hgsub | ||||
hg init s/ss | ||||
echo a > s/ss/a | ||||
hg -R s add s/.hgsub | ||||
hg -R s/ss add s/ss/a | ||||
hg ci -m2 | ||||
echo % bump sub rev | ||||
echo b > s/a | ||||
hg -R s ci -ms1 | ||||
hg ci -m3 | ||||
echo % leave sub dirty | ||||
echo c > s/a | ||||
hg ci -m4 | ||||
hg tip -R s | ||||
echo % check caching | ||||
hg co 0 | ||||
hg debugsub | ||||
echo % restore | ||||
hg co | ||||
hg debugsub | ||||
echo % new branch for merge tests | ||||
hg co 1 | ||||
echo t = t >> .hgsub | ||||
hg init t | ||||
echo t > t/t | ||||
hg -R t add t | ||||
echo % 5 | ||||
hg ci -m5 # add sub | ||||
echo t2 > t/t | ||||
echo % 6 | ||||
hg st -R s | ||||
hg ci -m6 # change sub | ||||
hg debugsub | ||||
echo t3 > t/t | ||||
echo % 7 | ||||
hg ci -m7 # change sub again for conflict test | ||||
hg rm .hgsub | ||||
echo % 8 | ||||
hg ci -m8 # remove sub | ||||
echo % merge tests | ||||
hg co -C 3 | ||||
hg merge 5 # test adding | ||||
hg debugsub | ||||
hg ci -m9 | ||||
hg merge 6 --debug # test change | ||||
hg debugsub | ||||
echo conflict > t/t | ||||
hg ci -m10 | ||||
HGMERGE=internal:merge hg merge --debug 7 # test conflict | ||||
echo % should conflict | ||||
cat t/t | ||||
echo % clone | ||||
cd .. | ||||
hg clone t tc | ||||
cd tc | ||||
hg debugsub | ||||
echo % push | ||||
echo bah > t/t | ||||
hg ci -m11 | ||||
hg push | sed 's/ .*sub/ ...sub/g' | ||||
echo % push -f | ||||
echo bah > s/a | ||||
hg ci -m12 | ||||
hg push | sed 's/ .*sub/ ...sub/g' | ||||
hg push -f | sed 's/ .*sub/ ...sub/g' | ||||
echo % update | ||||
cd ../t | ||||
hg up -C # discard our earlier merge | ||||
echo blah > t/t | ||||
hg ci -m13 | ||||
echo % pull | ||||
cd ../tc | ||||
hg pull | sed 's/ .*sub/ ...sub/g' | ||||
hg up # should pull t | ||||
cat t/t | ||||
|
r10251 | |||
|
r10177 | echo % bogus subrepo path aborts | ||
echo 'bogus=[boguspath' >> .hgsub | ||||
hg ci -m 'bogus subrepo path' | ||||
|
r10251 | echo % issue 1986 | ||
cd .. | ||||
rm -rf sub | ||||
hg init main | ||||
cd main | ||||
hg init s # subrepo layout | ||||
cd s # | ||||
echo a > a # o 5 br | ||||
hg ci -Am1 # /| | ||||
hg branch br # o | 4 default | ||||
echo a >> a # | | | ||||
hg ci -m1 # | o 3 br | ||||
hg up default # |/| | ||||
echo b > b # o | 2 default | ||||
hg ci -Am1 # | | | ||||
hg up br # | o 1 br | ||||
hg merge tip # |/ | ||||
hg ci -m1 # o 0 default | ||||
hg up 2 | ||||
echo c > c | ||||
hg ci -Am1 | ||||
hg up 3 | ||||
hg merge 4 | ||||
hg ci -m1 | ||||
cd .. # main repo layout: | ||||
echo 's = s' > .hgsub # | ||||
hg -R s up 2 # * <-- try to merge default into br again | ||||
hg ci -Am1 # .`| | ||||
hg branch br # . o 5 br --> substate = 5 | ||||
echo b > b # . | | ||||
hg -R s up 3 # o | 4 default --> substate = 4 | ||||
hg ci -Am1 # | | | ||||
hg up default # | o 3 br --> substate = 2 | ||||
echo c > c # |/| | ||||
hg ci -Am1 # o | 2 default --> substate = 2 | ||||
hg up 1 # | | | ||||
hg merge 2 # | o 1 br --> substate = 3 | ||||
hg ci -m1 # |/ | ||||
hg up 2 # o 0 default --> substate = 2 | ||||
hg -R s up 4 | ||||
echo d > d | ||||
hg ci -Am1 | ||||
hg up 3 | ||||
hg -R s up 5 | ||||
echo e > e | ||||
hg ci -Am1 | ||||
hg up 5 | ||||
hg merge 4 # try to merge default into br again | ||||
|
r10378 | cd .. | ||
echo % test repository cloning | ||||
mkdir mercurial mercurial2 | ||||
hg init nested_absolute | ||||
echo test > nested_absolute/foo | ||||
hg -R nested_absolute add | ||||
hg -R nested_absolute ci -mtest | ||||
cd mercurial | ||||
hg init nested_relative | ||||
echo test2 > nested_relative/foo2 | ||||
hg -R nested_relative add | ||||
hg -R nested_relative ci -mtest2 | ||||
hg init main | ||||
echo nested_relative = ../nested_relative > main/.hgsub | ||||
|
r10413 | echo nested_absolute = `pwd`/nested_absolute >> main/.hgsub | ||
|
r10378 | hg -R main add | ||
hg -R main ci -m "add subrepos" | ||||
cd .. | ||||
hg clone mercurial/main mercurial2/main | ||||
cat mercurial2/main/nested_absolute/.hg/hgrc mercurial2/main/nested_relative/.hg/hgrc | sed "s:${PWD}:/tmp:" | ||||
rm -rf mercurial mercurial2 | ||||
|
r10251 | |||
exit 0 | ||||