mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 01:07:15 +03:00
fd8f0625ef
Summary: Backups all new non-extinct [1] commits to bundlestore. When it is called for the first time `hg backup` will backup all draft visible commits. Next backups will save only new commits since the last backup (it is recorded in `.hg/store/infinitepushbackuptip`[2]). It's an initial implementation. Later the following features will be added: 1) It will be called automatically whenever user creates or strips commits or even creates or deletes bookmarks 2) It will also save all local bookmarks and all local heads (probably only visible). Note: calling `pushcmd` directly does not set default values for opts. That means that `--to` will be None and `_scratchbranchmatcher` will throw exception. Let's add a check to ensure that `--to` is never None. [1] I also want to backup extinct commits (i.e. obsolete invisible commits). But it will require bigger changes in discovery algorithm, so I'd leave it for later. [2] The name is a bit verbose. But I want to keep `infinitepush` part to make it easier to debug problems. Test Plan: Run `test-infinitepush-*` Reviewers: rmcelroy, mitrandir, durham Reviewed By: durham Subscribers: mjpieters, #sourcecontrol Differential Revision: https://phabricator.intern.facebook.com/D4147651 Tasks: 12479677 Signature: t1:4147651:1479229440:3eb38880c14f18e9a2fb4eaba44bedf079bca506
36 lines
703 B
Bash
36 lines
703 B
Bash
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() {
|
|
extpath=`dirname $TESTDIR`
|
|
cp -r $extpath/infinitepush $TESTTMP
|
|
cp -r $extpath/infinitepush $TESTTMP
|
|
|
|
cat >> $HGRCPATH << EOF
|
|
[extensions]
|
|
infinitepush=$TESTTMP/infinitepush
|
|
[ui]
|
|
ssh = python "$TESTDIR/dummyssh"
|
|
[infinitepush]
|
|
branchpattern=re:scratch/.*
|
|
EOF
|
|
}
|
|
|
|
setupserver() {
|
|
cat >> .hg/hgrc << EOF
|
|
[infinitepush]
|
|
server=yes
|
|
indextype=disk
|
|
storetype=disk
|
|
EOF
|
|
}
|