Mercurial > hg
view tests/library-infinitepush.sh @ 40387:f1a39128da95
filelog: add a hasnode() method (API)
Missing in the file storage interface is the ability to query whether
a specified value is a known node.
This commit defines that interface member and implements it on the
revlog and sqlite file stores.
Storage unit tests have been added.
The revlog implementation is a bit more complicated because index lookups
don't consistently raise the same exception. For SQLite, we can simply look
for a key in a dict.
Differential Revision: https://phab.mercurial-scm.org/D5163
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 03 Oct 2018 14:57:29 -0700 |
parents | 03ff17a4bf53 |
children | 0826d684a1b5 |
line wrap: on
line source
scratchnodes() { for node in `find ../repo/.hg/scratchbranches/index/nodemap/* | sort`; do echo ${node##*/} `cat $node` done } scratchbookmarks() { for bookmark in `find ../repo/.hg/scratchbranches/index/bookmarkmap/* -type f | sort`; do echo "${bookmark##*/bookmarkmap/} `cat $bookmark`" done } setupcommon() { cat >> $HGRCPATH << EOF [extensions] infinitepush= [ui] ssh = python "$TESTDIR/dummyssh" [infinitepush] branchpattern=re:scratch/.* EOF } setupserver() { cat >> .hg/hgrc << EOF [infinitepush] server=yes indextype=disk storetype=disk reponame=babar EOF } waitbgbackup() { sleep 1 hg debugwaitbackup } mkcommitautobackup() { echo $1 > $1 hg add $1 hg ci -m $1 --config infinitepushbackup.autobackup=True } setuplogdir() { mkdir $TESTTMP/logs chmod 0755 $TESTTMP/logs chmod +t $TESTTMP/logs }