Mercurial > hg
view tests/library-infinitepush.sh @ 45239:13814622b3b1
commitctx: extract all the file preparation logic in a new function
Before we actually start to create a new commit we have a large block of logic
that do the necessary file and manifest commit and that determine which files
are been affected by the commit (and how).
This is a complex process on its own. It return a "simple" output that can be
fed to the next step. The output itself is not that simple as we return a lot of
individual items (files, added, removed, ...). My next step (and actual goal for
this cleanup) will be to simplify the return by returning a richer object that
will be more suited for the variation of data we want to store.
After this changeset the `commitctx` is a collection of smaller function with
limited scope. The largest one is still `_filecommit` without about 100 lines of
code.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 23 Jul 2020 23:52:31 +0200 |
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 }