##// END OF EJS Templates
rhg: add resolve_file_args to path_utils.rs...
rhg: add resolve_file_args to path_utils.rs Extracted logic for resolving `FILE ...` arguments from cat.rs into a new function in path_utils.rs. I plan to use this for rhg annotate. I tried to reuse hg::utils::files::canonical_path instead, but that didn't work. For example it reports a InsideDotHg error for any path containing "..".

File last commit:

r53354:8dede0df default
r53438:f33f37ac tip default
Show More
test-pullling-to-general-delta.t
200 lines | 4.3 KiB | text/troff | Tads3Lexer
/ tests / test-pullling-to-general-delta.t
delta-find: never do anything fancy when general delta is off...
r51331 ============================================================================
Pulling from modern to a non-general delta target (and other related checks)
============================================================================
There is various issue that can arise when we update the code with modern
storage in mind while working on delta processing. So this file is meant for
various scenario that might break in the future or have break in the past.
Setup
=====
Create a modern server with an older clone
$ cat << EOF >> $HGRCPATH
> [command-templates]
> log = "{desc} {tags}\n"
> EOF
$ hg init server
$ hg clone --quiet --pull server client --config format.usegeneraldelta=no
format: add pattern filtering to debugformat...
r53354 $ hg debugformat -R client generaldelta
format-variant repo
delta-find: never do anything fancy when general delta is off...
r51331 generaldelta: no
Create some complexe history
$ cd server
$ hg debugbuilddag -n '.+3:a$.+5:b/a:k$.+7:c/b:l$.+6:d/a:m<k+6/l+1/m'
$ hg log -G
o r36 tip
|\
| o r35
| |
| o r34
| |\
| | o r33
| | |
| | o r32
| | |
| | o r31
| | |
| | o r30
| | |
| | o r29
| | |
| | o r28
| | |
o | | r27 m
|\ \ \
| o | | r26 d
| | | |
| o | | r25
| | | |
| o | | r24
| | | |
| o | | r23
| | | |
| o | | r22
| | | |
| o | | r21
| | | |
| o | | r20
| / /
| o | r19 l
| |\ \
| | o | r18 c
| | | |
| | o | r17
| | | |
| | o | r16
| | | |
| | o | r15
| | | |
| | o | r14
| | | |
| | o | r13
| | | |
| | o | r12
| | | |
| | o | r11
| | /
+---o r10 k
| |/
| o r9 b
| |
| o r8
| |
| o r7
| |
| o r6
| |
| o r5
| |
| o r4
|
o r3 a
|
o r2
|
o r1
|
o r0
$ cd ..
Pull it in the client
=====================
pull with default value
-----------------------
$ cp -R client client-simple-pull
$ hg -R client-simple-pull pull
pulling from $TESTTMP/server
requesting all changes
adding changesets
adding manifests
adding file changes
added 37 changesets with 37 changes to 37 files
new changesets 61246295ee1e:b4b117cbbcf3
(run 'hg update' to get a working copy)
$ hg -R client-simple-pull verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checking dirstate
checked 37 changesets with 37 changes to 37 files
pull with "no-reuse" policy
---------------------------
$ cp -R client client-no-reuse
$ hg -R client-no-reuse pull --config paths.default:pulled-delta-reuse-policy=no-reuse
pulling from $TESTTMP/server
requesting all changes
adding changesets
adding manifests
adding file changes
added 37 changesets with 37 changes to 37 files
new changesets 61246295ee1e:b4b117cbbcf3
(run 'hg update' to get a working copy)
$ hg -R client-no-reuse verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checking dirstate
checked 37 changesets with 37 changes to 37 files
pull with "try-base" policy
---------------------------
$ cp -R client client-try-base
$ hg -R client-try-base pull --config paths.default:pulled-delta-reuse-policy=try-base
pulling from $TESTTMP/server
requesting all changes
adding changesets
adding manifests
adding file changes
added 37 changesets with 37 changes to 37 files
new changesets 61246295ee1e:b4b117cbbcf3
(run 'hg update' to get a working copy)
$ hg -R client-try-base verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checking dirstate
checked 37 changesets with 37 changes to 37 files
pull with "forced" policy
-------------------------
$ cp -R client client-forced
Arseniy Alekseyev
ui: fix crash in `hg paths` when pulled-delta-reuse-policy is in use...
r51584 $ hg -R client-forced paths --config paths.default:pulled-delta-reuse-policy=forced
Arseniy Alekseyev
ui: add a test demonstrating a crash in `hg paths`
r51583 default = $TESTTMP/server
path: display proper user facing value for pulled-delta-reuse-policy...
r51586 default:pulled-delta-reuse-policy = forced
delta-find: never do anything fancy when general delta is off...
r51331 $ hg -R client-forced pull --config paths.default:pulled-delta-reuse-policy=forced
pulling from $TESTTMP/server
requesting all changes
adding changesets
adding manifests
adding file changes
added 37 changesets with 37 changes to 37 files
new changesets 61246295ee1e:b4b117cbbcf3
(run 'hg update' to get a working copy)
$ hg -R client-forced verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
checking dirstate
checked 37 changesets with 37 changes to 37 files