##// END OF EJS Templates
exchange: move disabling of rev-branch-cache bundle part out of narrow...
exchange: move disabling of rev-branch-cache bundle part out of narrow I'm attempting to refactor changegroup code in order to better support alternate storage backends. The narrow extension is performing a lot of monkeypatching to this code and it is making it difficult to reason about how everything works. I'm reasonably certain I would be unable to abstract storage without requiring extensive rework of narrow. I believe it is less effort to move narrow code into core so it can be accounted for when changegroup code is refactored. So I'll be doing that. The first part of this is integrating the disabling of the cache:rev-branch-cache bundle2 part into core. This doesn't seem like it is related to changegroup, but narrow's modifications to changegroup are invasive and also require taking its code for bundle generation and exchange into core in order for the changegroup code to work. Differential Revision: https://phab.mercurial-scm.org/D4007

File last commit:

r37301:d4e62df1 default
r38813:ab765bc4 default
Show More
test-narrow-update.t
76 lines | 1.8 KiB | text/troff | Tads3Lexer
/ tests / test-narrow-update.t
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096
$ . "$TESTDIR/narrow-library.sh"
create full repo
$ hg init master
$ cd master
$ echo init > init
$ hg ci -Aqm 'initial'
$ mkdir inside
$ echo inside > inside/f1
$ mkdir outside
$ echo outside > outside/f1
$ hg ci -Aqm 'add inside and outside'
$ echo modified > inside/f1
$ hg ci -qm 'modify inside'
$ echo modified > outside/f1
$ hg ci -qm 'modify outside'
$ cd ..
$ hg clone --narrow ssh://user@dummy/master narrow --include inside
requesting all changes
adding changesets
adding manifests
adding file changes
added 4 changesets with 2 changes to 1 files
new changesets *:* (glob)
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd narrow
$ hg debugindex -c
Gregory Szorc
debugcommands: drop offset and length from debugindex by default...
r37301 rev linkrev nodeid p1 p2
0 0 9958b1af2add 000000000000 000000000000
1 1 2db4ce2a3bfe 9958b1af2add 000000000000
2 2 0980ee31a742 2db4ce2a3bfe 000000000000
3 3 4410145019b7 0980ee31a742 000000000000
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096
$ hg update -q 0
Can update to revision with changes inside
$ hg update -q 'desc("add inside and outside")'
$ hg update -q 'desc("modify inside")'
$ find *
inside
Matt Harbison
test-narrow: partially stabilize on Windows...
r36153 inside/f1
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 $ cat inside/f1
modified
Can update to revision with changes outside
$ hg update -q 'desc("modify outside")'
$ find *
inside
Matt Harbison
test-narrow: partially stabilize on Windows...
r36153 inside/f1
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 $ cat inside/f1
modified
Can update with a deleted file inside
$ hg rm inside/f1
$ hg update -q 'desc("modify inside")'
$ hg update -q 'desc("modify outside")'
$ hg update -q 'desc("initial")'
$ hg update -q 'desc("modify inside")'
Can update with a moved file inside
$ hg mv inside/f1 inside/f2
$ hg update -q 'desc("modify outside")'
$ hg update -q 'desc("initial")'
$ hg update -q 'desc("modify inside")'