mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 15:57:43 +03:00
94 lines
1.5 KiB
Bash
Executable File
94 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
cat <<EOF >> $HGRCPATH
|
|
[extensions]
|
|
transplant=
|
|
EOF
|
|
|
|
hg init t
|
|
cd t
|
|
echo r1 > r1
|
|
hg ci -Amr1 -d'0 0'
|
|
echo r2 > r2
|
|
hg ci -Amr2 -d'1 0'
|
|
hg up 0
|
|
|
|
echo b1 > b1
|
|
hg ci -Amb1 -d '0 0'
|
|
echo b2 > b2
|
|
hg ci -Amb2 -d '1 0'
|
|
echo b3 > b3
|
|
hg ci -Amb3 -d '2 0'
|
|
|
|
hg log --template '{rev} {parents} {desc}\n'
|
|
|
|
cd ..
|
|
hg clone t rebase
|
|
cd rebase
|
|
|
|
hg up -C 1
|
|
echo '% rebase b onto r1'
|
|
hg transplant -a -b tip
|
|
hg log --template '{rev} {parents} {desc}\n'
|
|
|
|
cd ..
|
|
hg clone t prune
|
|
cd prune
|
|
|
|
hg up -C 1
|
|
echo '% rebase b onto r1, skipping b2'
|
|
hg transplant -a -b tip -p 3
|
|
hg log --template '{rev} {parents} {desc}\n'
|
|
|
|
cd ..
|
|
echo '% remote transplant'
|
|
hg clone -r 1 t remote
|
|
cd remote
|
|
hg transplant --log -s ../t 2 4
|
|
hg log --template '{rev} {parents} {desc}\n'
|
|
|
|
echo '% skip previous transplants'
|
|
hg transplant -s ../t -a -b 4
|
|
hg log --template '{rev} {parents} {desc}\n'
|
|
|
|
echo '% skip local changes transplanted to the source'
|
|
echo b4 > b4
|
|
hg ci -Amb4 -d '3 0'
|
|
cd ..
|
|
hg clone t pullback
|
|
cd pullback
|
|
hg transplant -s ../remote -a -b tip
|
|
|
|
echo '% transplant --continue'
|
|
hg init ../tc
|
|
cd ../tc
|
|
cat <<EOF > foo
|
|
foo
|
|
bar
|
|
baz
|
|
EOF
|
|
echo toremove > toremove
|
|
hg ci -Amfoo -d '0 0'
|
|
cat <<EOF > foo
|
|
foo2
|
|
bar2
|
|
baz2
|
|
EOF
|
|
rm toremove
|
|
echo added > added
|
|
hg ci -Amfoo2 -d '0 0'
|
|
echo bar > bar
|
|
hg ci -Ambar -d '0 0'
|
|
echo bar2 >> bar
|
|
hg ci -mbar2 -d '0 0'
|
|
hg up 0
|
|
echo foobar > foo
|
|
hg ci -mfoobar -d '0 0'
|
|
hg transplant 1:3
|
|
# transplant -c shouldn't use an old changeset
|
|
hg up -C
|
|
hg transplant 1
|
|
hg transplant --continue
|
|
hg transplant 1:3
|
|
hg locate
|