Mercurial > hg
view tests/test-basic.t @ 37563:be1cc65bdb1c
lfs: infer the blob store URL from an explicit pull source
I don't see any easier way to do this because the update part of `hg pull -u`
happens outside exchange.pull(), and commands.postincoming() doesn't take a
path. So (ab)use the mechanism used by subrepos to redirect where subrepos are
pulled from when an explicit path is given. As a bonus, this should allow lfs
blobs to be pulled into a subrepo when it is checked out.
An explicit push path can be handled within exchange.push(). That can be done
next, outside of this dirty hack.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 08 Apr 2018 01:23:39 -0400 |
parents | 4e6a6d0dccee |
children | ecaa0ad4ed4f |
line wrap: on
line source
Create a repository: #if no-extraextensions $ hg config devel.all-warnings=true devel.default-date=0 0 extensions.fsmonitor= (fsmonitor !) largefiles.usercache=$TESTTMP/.cache/largefiles lfs.usercache=$TESTTMP/.cache/lfs ui.slash=True ui.interactive=False ui.mergemarkers=detailed ui.promptecho=True web.address=localhost web\.ipv6=(?:True|False) (re) web.server-header=testing stub value #endif $ hg init t $ cd t Prepare a changeset: $ echo a > a $ hg add a $ hg status A a Writes to stdio succeed and fail appropriately #if devfull $ hg status 2>/dev/full A a $ hg status >/dev/full abort: No space left on device [255] #endif #if devfull $ hg status >/dev/full 2>&1 [255] $ hg status ENOENT 2>/dev/full [255] #endif $ hg commit -m test This command is ancient: $ hg history changeset: 0:acb14030fe0a tag: tip user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: test Verify that updating to revision 0 via commands.update() works properly $ cat <<EOF > update_to_rev0.py > from mercurial import ui, hg, commands > myui = ui.ui.load() > repo = hg.repository(myui, path=b'.') > commands.update(myui, repo, rev=0) > EOF $ hg up null 0 files updated, 0 files merged, 1 files removed, 0 files unresolved $ $PYTHON ./update_to_rev0.py 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg identify -n 0 Poke around at hashes: $ hg manifest --debug b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a $ hg cat a a Verify should succeed: $ hg verify checking changesets checking manifests crosschecking files in changesets and manifests checking files 1 files, 1 changesets, 1 total revisions Repository root: $ hg root $TESTTMP/t $ hg log -l1 -T '{reporoot}\n' $TESTTMP/t At the end... $ cd ..