|
|
#!/bin/sh
|
|
|
|
|
|
echo
|
|
|
echo % prepare repo a
|
|
|
mkdir a
|
|
|
cd a
|
|
|
hg init
|
|
|
echo a > a
|
|
|
hg add a
|
|
|
hg commit -m test
|
|
|
echo first line > b
|
|
|
hg add b
|
|
|
# create a non-inlined filelog
|
|
|
python -c 'for x in range(10000): print x' >> data1
|
|
|
for j in 0 1 2 3 4 5 6 7 8 9; do
|
|
|
cat data1 >> b
|
|
|
hg commit -m test
|
|
|
done
|
|
|
echo % "list files in store/data (should show a 'b.d')"
|
|
|
for i in .hg/store/data/*; do
|
|
|
echo $i
|
|
|
done
|
|
|
|
|
|
echo
|
|
|
echo % default operation
|
|
|
hg clone . ../b
|
|
|
cd ../b
|
|
|
cat a
|
|
|
hg verify
|
|
|
|
|
|
echo
|
|
|
echo % no update, with debug option
|
|
|
hg --debug clone -U . ../c
|
|
|
cd ../c
|
|
|
cat a 2>/dev/null || echo "a not present"
|
|
|
hg verify
|
|
|
|
|
|
echo
|
|
|
echo % default destination
|
|
|
mkdir ../d
|
|
|
cd ../d
|
|
|
hg clone ../a
|
|
|
cd a
|
|
|
hg cat a
|
|
|
|
|
|
echo
|
|
|
echo % "check that we drop the file: from the path before"
|
|
|
echo % "writing the .hgrc"
|
|
|
cd ../..
|
|
|
hg clone file:a e
|
|
|
grep 'file:' e/.hg/hgrc
|
|
|
|
|
|
echo
|
|
|
echo % check that path aliases are expanded
|
|
|
hg clone -q -U --config 'paths.foobar=a#0' foobar f
|
|
|
hg -R f showconfig paths.default | sed -e 's,.*/,,'
|
|
|
|
|
|
echo
|
|
|
echo % use --pull
|
|
|
hg clone --pull a g
|
|
|
hg -R g verify
|
|
|
|
|
|
echo
|
|
|
echo % clone to '.'
|
|
|
mkdir h
|
|
|
cd h
|
|
|
hg clone ../a .
|
|
|
cd ..
|
|
|
|
|
|
echo
|
|
|
echo
|
|
|
echo % "*** tests for option -u ***"
|
|
|
echo
|
|
|
|
|
|
|
|
|
echo
|
|
|
echo % "adding some more history to repo a"
|
|
|
cd a
|
|
|
echo % "tag ref1"
|
|
|
hg tag ref1
|
|
|
echo the quick brown fox >a
|
|
|
hg ci -m "hacked default"
|
|
|
echo % "updating back to ref1"
|
|
|
hg up ref1
|
|
|
echo
|
|
|
echo % "add branch 'stable' to repo a for later tests"
|
|
|
hg branch stable
|
|
|
echo some text >a
|
|
|
hg ci -m "starting branch stable"
|
|
|
echo % "tag ref2"
|
|
|
hg tag ref2
|
|
|
echo some more text >a
|
|
|
hg ci -m "another change for branch stable"
|
|
|
echo
|
|
|
echo % "updating back to ref2"
|
|
|
hg up ref2
|
|
|
echo
|
|
|
echo % "parents of repo a"
|
|
|
hg parents
|
|
|
echo
|
|
|
echo % "repo a has two heads"
|
|
|
hg heads
|
|
|
cd ..
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone -U -u 1 a ua (must abort)"
|
|
|
hg clone -U -u 1 a ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone -u . a ua"
|
|
|
hg clone -u . a ua
|
|
|
echo
|
|
|
echo % "repo ua has both heads"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "same revision checked out in repo a and ua"
|
|
|
hg -R a parents --template "{node|short}\n"
|
|
|
hg -R ua parents --template "{node|short}\n"
|
|
|
rm -r ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone --pull -u . a ua"
|
|
|
hg clone --pull -u . a ua
|
|
|
echo
|
|
|
echo % "repo ua has both heads"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "same revision checked out in repo a and ua"
|
|
|
hg -R a parents --template "{node|short}\n"
|
|
|
hg -R ua parents --template "{node|short}\n"
|
|
|
rm -r ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone -u stable a ua"
|
|
|
hg clone -u stable a ua
|
|
|
echo
|
|
|
echo % "repo ua has both heads"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "branch stable is checked out"
|
|
|
hg -R ua parents
|
|
|
rm -r ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone a ua"
|
|
|
hg clone a ua
|
|
|
echo
|
|
|
echo % "repo ua has both heads"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "branch default is checked out"
|
|
|
hg -R ua parents
|
|
|
rm -r ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone -u . a#stable ua"
|
|
|
hg clone -u . a#stable ua
|
|
|
echo
|
|
|
echo % "repo ua has only branch stable"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "same revision checked out in repo a and ua"
|
|
|
hg -R a parents --template "{node|short}\n"
|
|
|
hg -R ua parents --template "{node|short}\n"
|
|
|
rm -r ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone -u . -r stable a ua"
|
|
|
hg clone -u . -r stable a ua
|
|
|
echo
|
|
|
echo % "repo ua has only branch stable"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "same revision checked out in repo a and ua"
|
|
|
hg -R a parents --template "{node|short}\n"
|
|
|
hg -R ua parents --template "{node|short}\n"
|
|
|
rm -r ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone -r stable a ua"
|
|
|
hg clone -r stable a ua
|
|
|
echo
|
|
|
echo % "repo ua has only branch stable"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "branch stable is checked out"
|
|
|
hg -R ua parents
|
|
|
rm -r ua
|
|
|
|
|
|
echo
|
|
|
echo % "testing clone -u . -r stable -r default a ua"
|
|
|
hg clone -u . -r stable -r default a ua
|
|
|
echo
|
|
|
echo % "repo ua has two heads"
|
|
|
hg -R ua heads
|
|
|
echo
|
|
|
echo % "same revision checked out in repo a and ua"
|
|
|
hg -R a parents --template "{node|short}\n"
|
|
|
hg -R ua parents --template "{node|short}\n"
|
|
|
rm -r ua
|
|
|
|
|
|
cat <<EOF > simpleclone.py
|
|
|
from mercurial import ui, hg
|
|
|
myui = ui.ui()
|
|
|
repo = hg.repository(myui, 'a')
|
|
|
hg.clone(myui, repo, dest="ua")
|
|
|
EOF
|
|
|
|
|
|
python simpleclone.py
|
|
|
rm -r ua
|
|
|
|
|
|
cat <<EOF > branchclone.py
|
|
|
from mercurial import ui, hg
|
|
|
myui = ui.ui()
|
|
|
repo = hg.repository(myui, 'a')
|
|
|
hg.clone(myui, repo, dest="ua", branch=["stable",])
|
|
|
EOF
|
|
|
|
|
|
python branchclone.py
|
|
|
rm -r ua
|
|
|
|
|
|
exit 0
|
|
|
|