Mercurial > hg
view tests/test-narrow-clone-stream.t @ 44974:a46e36b82461
hg-core: add Operation interface for high-level hg operations
A distinction is made between operations and commands.
An operation is a high-level function of mercurial whereas a command is what is exposed by the cli.
A single command can use several operations to achieve its goal.
Differential Revision: https://phab.mercurial-scm.org/D8608
author | Antoine Cezar <antoine.cezar@octobus.net> |
---|---|
date | Fri, 05 Jun 2020 08:46:35 +0200 |
parents | 5c2a4f37eace |
children | 84a93fa7ecfd |
line wrap: on
line source
#testcases tree flat-fncache flat-nofncache Tests narrow stream clones $ . "$TESTDIR/narrow-library.sh" #if tree $ cat << EOF >> $HGRCPATH > [experimental] > treemanifest = 1 > EOF #endif #if flat-nofncache $ cat << EOF >> $HGRCPATH > [format] > usefncache = 0 > EOF #endif Server setup $ hg init master $ cd master $ mkdir dir $ mkdir dir/src $ cd dir/src $ for x in `$TESTDIR/seq.py 20`; do echo $x > "F$x"; hg add "F$x"; hg commit -m "Commit src $x"; done $ cd .. $ mkdir tests $ cd tests $ for x in `$TESTDIR/seq.py 20`; do echo $x > "F$x"; hg add "F$x"; hg commit -m "Commit src $x"; done $ cd ../../.. Trying to stream clone when the server does not support it $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/F10" --stream streaming all changes remote: abort: server does not support narrow stream clones abort: pull failed on remote [255] Enable stream clone on the server $ echo "[experimental]" >> master/.hg/hgrc $ echo "server.stream-narrow-clones=True" >> master/.hg/hgrc Cloning a specific file when stream clone is supported $ hg clone --narrow ssh://user@dummy/master narrow --noupdate --include "dir/src/F10" --stream streaming all changes * files to transfer, * KB of data (glob) transferred * KB in * seconds (* */sec) (glob) $ cd narrow $ ls -A .hg $ hg tracked I path:dir/src/F10 Making sure we have the correct set of requirements $ cat .hg/requires dotencode (tree !) dotencode (flat-fncache !) fncache (tree !) fncache (flat-fncache !) generaldelta narrowhg-experimental revlogv1 sparserevlog store treemanifest (tree !) Making sure store has the required files $ ls .hg/store/ 00changelog.i 00manifest.i data fncache (tree !) fncache (flat-fncache !) meta (tree !) narrowspec undo undo.backupfiles undo.narrowspec undo.phaseroots Checking that repository has all the required data and not broken $ hg verify checking changesets checking manifests checking directory manifests (tree !) crosschecking files in changesets and manifests checking files checked 40 changesets with 1 changes to 1 files