Mercurial > hg
view tests/test-newbranch @ 11715:4f9dfb54c8b5 stable
qpush --move: move the right patch even with comment lines
88fc876a4833 caused that we find the index of the moving patch in self.series
but look it up in self.full_series. The difference between these is that
full_series also contains comment lines, and we thus moved the wrong patch.
Use back self.full_series to find the moving patch, but take care of striping
the patch guard markers before comparing the patch name. Test cases have been
added for comments and empty lines in self.full_series, and for the case of
guarded patches.
Original patch contributed by Mads Kiilerich <mads@kiilerich.com>
author | Gilles Moris <gilles.moris@free.fr> |
---|---|
date | Sat, 10 Jul 2010 21:23:00 +0200 |
parents | e67e5b60e55f |
children | 4c94b6d0fb1c |
line wrap: on
line source
#!/bin/sh branchcache=.hg/branchheads.cache hg init t cd t hg branches echo foo > a hg add a hg ci -m "initial" -d "1000000 0" hg branch foo hg branch hg ci -m "add branch name" -d "1000000 0" hg branch bar hg ci -m "change branch name" -d "1000000 0" echo % branch shadowing hg branch default hg branch -f default hg ci -m "clear branch name" -d "1000000 0" echo % there should be only one default branch head hg heads . hg co foo hg branch echo bleah > a hg ci -m "modify a branch" -d "1000000 0" hg merge default hg branch hg ci -m "merge" -d "1000000 0" hg log hg branches hg branches -q echo % test for invalid branch cache hg rollback cp $branchcache .hg/bc-invalid hg log -r foo cp .hg/bc-invalid $branchcache hg --debug log -r foo rm $branchcache echo corrupted > $branchcache hg log -qr foo cat $branchcache echo % push should update the branch cache hg init ../target echo % pushing just rev 0 hg push -qr 0 ../target cat ../target/$branchcache echo % pushing everything hg push -qf ../target cat ../target/$branchcache echo % update with no arguments: tipmost revision of the current branch hg up -q -C 0 hg up -q hg id hg up -q 1 hg up -q hg id hg branch foobar hg up echo % fastforward merge hg branch ff echo ff > ff hg ci -Am'fast forward' -d '1000000 0' hg up foo hg merge ff hg branch hg commit -m'Merge ff into foo' -d '1000000 0' hg parents hg manifest echo % test merging, add 3 default heads and one test head cd .. hg init merges cd merges echo a > a hg ci -Ama echo b > b hg ci -Amb hg up 0 echo c > c hg ci -Amc hg up 0 echo d > d hg ci -Amd hg up 0 hg branch test echo e >> e hg ci -Ame hg log echo % implicit merge with test branch as parent hg merge hg up -C default echo % implicit merge with default branch as parent hg merge echo % 3 branch heads, explicit merge required hg merge 2 hg ci -m merge echo % 2 branch heads, implicit merge works hg merge