Mercurial > hg
view tests/test-remotefilelog-log.t @ 42738:8041a1b45163
rust-discovery: takefullsample() core implementation
take_full_sample() browses the undecided set in both directions: from
its roots as well as from its heads.
Following what's done on the Python side, we alter update_sample()
signature to take a closure returning an iterator: either ParentsIterator
or an iterator over the children found in `children_cache`. These constructs
should probably be split off in a separate module.
This is a first concrete example where a more abstract graph notion (probably
a trait) would be useful, as this is nothing but an operation on the reversed
DAG.
A similar motivation in the context of the discovery
process would be to replace the call to dagops::range in
`add_missing_revisions()` with a simple iteration over descendents, again an
operation on the reversed graph.
Differential Revision: https://phab.mercurial-scm.org/D6424
author | Georges Racinet <georges.racinet@octobus.net> |
---|---|
date | Fri, 17 May 2019 01:56:57 +0200 |
parents | 2338eab5f8b7 |
children | 84a93fa7ecfd |
line wrap: on
line source
#require no-windows $ . "$TESTDIR/remotefilelog-library.sh" $ hg init master $ cd master $ cat >> .hg/hgrc <<EOF > [remotefilelog] > server=True > EOF $ echo x > x $ hg commit -qAm x $ mkdir dir $ echo y > dir/y $ hg commit -qAm y $ cd .. Shallow clone from full $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes 2 files to transfer, 473 bytes of data transferred 473 bytes in * seconds (*/sec) (glob) searching for changes no changes found $ cd shallow $ cat .hg/requires dotencode exp-remotefilelog-repo-req-1 fncache generaldelta revlogv1 sparserevlog store $ hg update 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 2 files fetched over 1 fetches - (2 misses, 0.00% hit ratio) over *s (glob) Log on a file without -f $ hg log dir/y warning: file log can be slow on large repos - use -f to speed it up changeset: 1:2e73264fab97 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: y Log on a file with -f $ hg log -f dir/y changeset: 1:2e73264fab97 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: y Log on a file with kind in path $ hg log -r "filelog('path:dir/y')" changeset: 1:2e73264fab97 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: y Log on multiple files with -f $ hg log -f dir/y x changeset: 1:2e73264fab97 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: y changeset: 0:b292c1e3311f user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: x Log on a directory $ hg log dir changeset: 1:2e73264fab97 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: y Log on a file from inside a directory $ cd dir $ hg log y warning: file log can be slow on large repos - use -f to speed it up changeset: 1:2e73264fab97 tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: y Log on a file via -fr $ cd .. $ hg log -fr tip dir/ --template '{rev}\n' 1 Trace renames $ hg mv x z $ hg commit -m move $ hg log -f z -T '{desc} {file_copies}\n' -G @ move z (x) : o x Verify remotefilelog handles rename metadata stripping when comparing file sizes $ hg debugrebuilddirstate $ hg status