mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
81 lines
1.4 KiB
Bash
Executable File
81 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
add()
|
|
{
|
|
echo $2 >> $1
|
|
}
|
|
|
|
hg init t
|
|
cd t
|
|
|
|
# set up a boring main branch
|
|
add a a
|
|
hg add a
|
|
mkdir x
|
|
add x/x x
|
|
hg add x/x
|
|
hg ci -m0
|
|
|
|
add a m1
|
|
hg ci -m1
|
|
|
|
add a m2
|
|
add x/y y1
|
|
hg add x/y
|
|
hg ci -m2
|
|
cd ..
|
|
|
|
show()
|
|
{
|
|
echo "- $2: $1"
|
|
hg st -C $1
|
|
echo
|
|
hg diff --git $1
|
|
echo
|
|
}
|
|
|
|
count=0
|
|
# make a new branch and get diff/status output
|
|
# $1 - first commit
|
|
# $2 - second commit
|
|
# $3 - working dir action
|
|
# $4 - test description
|
|
tb()
|
|
{
|
|
hg clone t t2 ; cd t2
|
|
hg co -q -C 0
|
|
|
|
add a $count
|
|
count=`expr $count + 1`
|
|
hg ci -m "t0"
|
|
$1
|
|
hg ci -m "t1"
|
|
$2
|
|
hg ci -m "t2"
|
|
$3
|
|
|
|
echo "** $4 **"
|
|
echo "** $1 / $2 / $3"
|
|
show "" "working to parent"
|
|
show "--rev 0" "working to root"
|
|
show "--rev 2" "working to branch"
|
|
show "--rev 0 --rev ." "root to parent"
|
|
show "--rev . --rev 0" "parent to root"
|
|
show "--rev 2 --rev ." "branch to parent"
|
|
show "--rev . --rev 2" "parent to branch"
|
|
echo
|
|
cd ..
|
|
rm -rf t2
|
|
}
|
|
|
|
|
|
tb "add a a1" "add a a2" "hg mv a b" "rename in working dir"
|
|
tb "add a a1" "add a a2" "hg cp a b" "copy in working dir"
|
|
tb "hg mv a b" "add b b1" "add b w" "single rename"
|
|
tb "hg cp a b" "add b b1" "add a w" "single copy"
|
|
tb "hg mv a b" "hg mv b c" "hg mv c d" "rename chain"
|
|
tb "hg cp a b" "hg cp b c" "hg cp c d" "copy chain"
|
|
tb "add a a1" "hg mv a b" "hg mv b a" "circular rename"
|
|
|
|
tb "hg mv x y" "add y/x x1" "add y/x x2" "directory move"
|