Mercurial > hg
view tests/test-transplant @ 9336:dd6f605b15c0
mq: upgrade the patch to HG format when adding the author name with qrefresh
When setting the author field with qrefresh (-u|-U), and the patch does have
neither a 'From:' nor a '# User' header, add the author name as such:
- if the patch has a 'Date:' header, add a 'From:' header
- otherwise, upgrade to Mercurial extended patch format and add # From
author | Yann E. MORIN <yann.morin.1998@anciens.enib.fr> |
---|---|
date | Wed, 12 Aug 2009 10:48:18 +0200 |
parents | 8b35b08724eb |
children | eba6c8687fd2 |
line wrap: on
line source
#!/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' hg clone . ../rebase cd ../rebase hg up -C 1 echo '% rebase b onto r1' hg transplant -a -b tip hg log --template '{rev} {parents} {desc}\n' 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' 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' hg clone ../t ../pullback cd ../pullback hg transplant -s ../remote -a -b tip echo '% remote transplant with pull' hg -R ../t serve -p $HGPORT -d --pid-file=../t.pid cat ../t.pid >> $DAEMON_PIDS hg clone -r 0 ../t ../rp cd ../rp hg transplant -s http://localhost:$HGPORT/ 2 4 hg log --template '{rev} {parents} {desc}\n' echo '% transplant --continue' hg init ../tc cd ../tc cat <<EOF > foo foo bar baz EOF echo toremove > toremove hg ci -Amfoo cat <<EOF > foo foo2 bar2 baz2 EOF rm toremove echo added > added hg ci -Amfoo2 echo bar > bar hg ci -Ambar echo bar2 >> bar hg ci -mbar2 hg up 0 echo foobar > foo hg ci -mfoobar hg transplant 1:3 # transplant -c shouldn't use an old changeset hg up -C rm added hg transplant 1 hg transplant --continue hg transplant 1:3 hg locate cd .. # Test transplant --merge (issue 1111) echo % test transplant merge hg init t1111 cd t1111 echo a > a hg ci -Am adda echo b >> a hg ci -m appendb echo c >> a hg ci -m appendc hg up -C 0 echo d >> a hg ci -m appendd echo % tranplant hg transplant -m 1 cd .. echo '% test transplant into empty repository' hg init empty cd empty hg transplant -s ../t -b tip -a cd .. echo '% test filter' hg init filter cd filter cat <<'EOF' >test-filter #!/bin/sh sed 's/r1/r2/' $1 > $1.new mv $1.new $1 EOF chmod +x test-filter hg transplant -s ../t -b tip -a --filter ./test-filter |\ sed 's/filtering.*/filtering/g' hg log --template '{rev} {parents} {desc}\n' cd .. echo '% test with a win32ext like setup (differing EOLs)' hg init twin1 cd twin1 echo a > a echo b > b echo b >> b hg ci -Am t echo a > b echo b >> b hg ci -m changeb cd .. hg init twin2 cd twin2 echo '[patch]' >> .hg/hgrc echo 'eol = crlf' >> .hg/hgrc python -c "file('b', 'wb').write('b\r\nb\r\n')" hg ci -m addb hg transplant -s ../twin1 tip python -c "print repr(file('b', 'rb').read())" cd ..