mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
4e663d3541
Previously #foo and --branch foo were handled identically. The behavior of #foo hasn't changed, but --branch now works like this: 1) If branchmap is not supported on the remote, the operation fails. 2) If branch is '.', substitute with branch of the working dir parent. 3) If branch exists remotely, its heads are expanded. 4) Otherwise, the operation fails. Tests have been added for the new cases.
61 lines
1.1 KiB
Bash
Executable File
61 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# test branch selection options
|
|
hg init branch
|
|
cd branch
|
|
hg branch a
|
|
echo a > foo
|
|
hg ci -d '0 0' -Ama
|
|
echo a2 > foo
|
|
hg ci -d '0 0' -ma2
|
|
hg up 0
|
|
hg branch c
|
|
echo c > foo
|
|
hg ci -d '0 0' -mc
|
|
hg tag -l z
|
|
cd ..
|
|
hg clone -r 0 branch branch2
|
|
cd branch2
|
|
hg up 0
|
|
hg branch b
|
|
echo b > foo
|
|
hg ci -d '0 0' -mb
|
|
hg up 0
|
|
hg --encoding utf-8 branch æ
|
|
echo ae1 > foo
|
|
hg ci -d '0 0' -mae1
|
|
hg up 0
|
|
hg --encoding utf-8 branch -f æ
|
|
echo ae2 > foo
|
|
hg ci -d '0 0' -mae2
|
|
hg up 0
|
|
hg branch -f b
|
|
echo b2 > foo
|
|
hg ci -d '0 0' -mb2
|
|
|
|
echo unknown branch and fallback
|
|
hg in -qbz
|
|
hg in -q ../branch#z
|
|
hg out -qbz
|
|
echo in rev c branch a
|
|
hg in -qr c ../branch#a
|
|
hg in -qr c -b a
|
|
echo out branch .
|
|
hg out -q ../branch#.
|
|
hg out -q -b .
|
|
echo out branch . non-ascii
|
|
hg --encoding utf-8 up æ
|
|
hg --encoding latin1 out -q ../branch#.
|
|
hg --encoding latin1 out -q -b .
|
|
echo clone branch b
|
|
cd ..
|
|
hg clone branch2#b branch3
|
|
hg -q -R branch3 heads b
|
|
hg -q -R branch3 parents
|
|
rm -rf branch3
|
|
echo clone rev a branch b
|
|
hg clone -r a branch2#b branch3
|
|
hg -q -R branch3 heads b
|
|
hg -q -R branch3 parents
|
|
rm -rf branch3
|