mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
f72cabb4c0
The strip code used a trick to lower the cost of branchcache update after a strip. However is less necessary since we have branchcache collaboration. Invalid branchcache are likely to be cheaply rebuilt again a near subset of the repo. Moreover, this trick would need update to be relevant in the now filtered repository world. It currently update the unfiltered branchcache that few people cares about. Make it smarter on that aspect would need complexes update of the calling logic So this mechanism is: - Arguably needed, - Currently irrelevant, - Hard to update and I'm dropping it. We now update the branchcache in all case by courtesy of the read only reader. This changeset have a few expected impact on the testsuite are different cache are updated.
109 lines
1.8 KiB
Perl
109 lines
1.8 KiB
Perl
$ "$TESTDIR/hghave" symlink || exit 80
|
|
|
|
$ 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
|
|
$ "$TESTDIR/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
|
|
$ "$TESTDIR/readlink.py" a
|
|
a -> b
|
|
|
|
$ hg qpop
|
|
popping symlink.patch
|
|
now at: base.patch
|
|
$ hg qpush
|
|
applying symlink.patch
|
|
now at: symlink.patch
|
|
$ "$TESTDIR/readlink.py" a
|
|
a -> b
|
|
|
|
|
|
test updating a symlink
|
|
|
|
$ rm a
|
|
$ ln -s c a
|
|
$ hg qnew --git -f updatelink
|
|
$ "$TESTDIR/readlink.py" a
|
|
a -> c
|
|
$ hg qpop
|
|
popping updatelink
|
|
now at: symlink.patch
|
|
$ hg qpush --debug
|
|
applying updatelink
|
|
patching file a
|
|
a
|
|
now at: updatelink
|
|
$ "$TESTDIR/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
|
|
$ "$TESTDIR/readlink.py" linkb
|
|
linkb -> linkb
|