Mercurial > hg
view tests/test-mq-symlinks.t @ 30433:96f2f50d923f
bdiff: give slight preference to removing trailing lines
[This change could be folded into the previous changeset to minimize the repo
churn ...]
Similar to the previous change, introduce an exception to the general
preference for matches in the middle of bdiff ranges: If the best match on the
B side starts at the beginning of the bdiff range, don't aim for the
middle-most A side match but for the earliest.
New (later) matches on the A side will only be considered better if the
corresponding match on the B side *not* is at the beginning of the range.
Thus, if the best (middle-most) match on the B side turns out to be at the
beginning of the range, the earliest match on the A side will be used.
The bundle size for 4.0 (hg bundle --base null -r 4.0 x.hg) happens to go from
22807275 to 22808120 bytes - a 0.004% increase.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Tue, 15 Nov 2016 21:56:49 +0100 |
parents | 4d2b9b304ad0 |
children | c2380b448265 |
line wrap: on
line source
#require symlink $ echo "[extensions]" >> $HGRCPATH $ echo "mq=" >> $HGRCPATH $ hg init $ hg qinit $ hg qnew base.patch $ echo aaa > a $ echo bbb > b $ echo ccc > c $ hg add a b c $ hg qrefresh $ readlink.py a a -> a not a symlink test replacing a file with a symlink $ hg qnew symlink.patch $ rm a $ ln -s b a $ hg qrefresh --git $ readlink.py a a -> b $ hg qpop popping symlink.patch now at: base.patch $ hg qpush applying symlink.patch now at: symlink.patch $ readlink.py a a -> b test updating a symlink $ rm a $ ln -s c a $ hg qnew --git -f updatelink $ readlink.py a a -> c $ hg qpop popping updatelink now at: symlink.patch $ hg qpush --debug applying updatelink patching file a committing files: a committing manifest committing changelog now at: updatelink $ readlink.py a a -> c $ hg st test replacing a symlink with a file $ ln -s c s $ hg add s $ hg qnew --git -f addlink $ rm s $ echo sss > s $ hg qnew --git -f replacelinkwithfile $ hg qpop popping replacelinkwithfile now at: addlink $ hg qpush applying replacelinkwithfile now at: replacelinkwithfile $ cat s sss $ hg st test symlink removal $ hg qnew removesl.patch $ hg rm a $ hg qrefresh --git $ hg qpop popping removesl.patch now at: replacelinkwithfile $ hg qpush applying removesl.patch now at: removesl.patch $ hg st -c C b C c C s replace broken symlink with another broken symlink $ ln -s linka linka $ hg add linka $ hg qnew link $ hg mv linka linkb $ rm linkb $ ln -s linkb linkb $ hg qnew movelink $ hg qpop popping movelink now at: link $ hg qpush applying movelink now at: movelink $ readlink.py linkb linkb -> linkb