##// 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:

r52074:dcaa2df1 default
r53438:f33f37ac tip default
Show More
test-remotefilelog-sparse.t
111 lines | 3.2 KiB | text/troff | Tads3Lexer
/ tests / test-remotefilelog-sparse.t
Matt Harbison
tests: disable remotefilelog on Windows...
r40758 #require no-windows
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 $ . "$TESTDIR/remotefilelog-library.sh"
Martin von Zweigbergk
tests: drop obsolete "hginit" alias in remotefilelog tests...
r40605 $ hg init master
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 $ cd master
$ cat >> .hg/hgrc <<EOF
> [remotefilelog]
> server=True
> EOF
$ echo x > x
$ echo z > z
$ hg commit -qAm x1
$ echo x2 > x
$ echo z2 > z
$ hg commit -qAm x2
$ hg bookmark foo
$ cd ..
# prefetch a revision w/ a sparse checkout
$ hgcloneshallow ssh://user@dummy/master shallow --noupdate
streaming all changes
changelog: never inline changelog...
r52074 3 files to transfer, 527 bytes of data (no-zstd !)
revlog-compression: use zstd by default (if available)...
r47636 transferred 527 bytes in * seconds (* */sec) (glob) (no-zstd !)
changelog: never inline changelog...
r52074 3 files to transfer, 534 bytes of data (zstd no-rust !)
transferred 534 bytes in * seconds (* */sec) (glob) (zstd no-rust !)
5 files to transfer, 660 bytes of data (zstd rust !)
transferred 660 bytes in * seconds (*/sec) (glob) (zstd rust !)
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 searching for changes
no changes found
$ cd shallow
$ printf "[extensions]\nsparse=\n" >> .hg/hgrc
$ hg debugsparse -I x
$ hg prefetch -r 0
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
$ hg cat -r 0 x
x
$ hg debugsparse -I z
$ hg prefetch -r 0
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
$ hg cat -r 0 z
z
# prefetch sparse only on pull when configured
$ printf "[remotefilelog]\npullprefetch=bookmark()\n" >> .hg/hgrc
$ hg strip tip
saved backup bundle to $TESTTMP/shallow/.hg/strip-backup/876b1317060d-b2e91d8d-backup.hg (glob)
Kyle Lippincott
remotefilelog: include file contents in bundles produced during strip...
r47606 2 files fetched over 2 fetches - (2 misses, 0.00% hit ratio) over *s (glob)
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530
$ hg debugsparse --delete z
$ clearcache
$ hg pull
pulling from ssh://user@dummy/master
searching for changes
adding changesets
adding manifests
adding file changes
changegroup: move message about added changes to transaction summary...
r43167 updating bookmark foo
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 added 1 changesets with 0 changes to 0 files
new changesets 876b1317060d
(run 'hg update' to get a working copy)
prefetching file contents
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
# Dont consider filtered files when doing copy tracing
## Push an unrelated commit
$ cd ../
$ hgcloneshallow ssh://user@dummy/master shallow2
streaming all changes
changelog: never inline changelog...
r52074 3 files to transfer, 527 bytes of data (no-zstd !)
revlog-compression: use zstd by default (if available)...
r47636 transferred 527 bytes in * seconds (*) (glob) (no-zstd !)
changelog: never inline changelog...
r52074 3 files to transfer, 534 bytes of data (zstd no-rust !)
transferred 534 bytes in * seconds (* */sec) (glob) (zstd no-rust !)
5 files to transfer, 660 bytes of data (zstd rust !)
transferred 660 bytes in * seconds (*/sec) (glob) (zstd rust !)
Augie Fackler
remotefilelog: import pruned-down remotefilelog extension from hg-experimental...
r40530 searching for changes
no changes found
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
$ cd shallow2
$ printf "[extensions]\nsparse=\n" >> .hg/hgrc
$ hg up -q 0
2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over *s (glob)
$ touch a
$ hg ci -Aqm a
$ hg push -q -f
## Pull the unrelated commit and rebase onto it - verify unrelated file was not
pulled
$ cd ../shallow
$ hg up -q 1
$ hg pull -q
$ hg debugsparse -I z
$ clearcache
$ hg prefetch -r '. + .^' -I x -I z
4 files fetched over 1 fetches - (4 misses, 0.00% hit ratio) over * (glob)
$ hg rebase -d 2 --keep
Martin von Zweigbergk
rebase: change and standarize template for rebase's one-line summary...
r46356 rebasing 1:876b1317060d foo "x2"