sapling/tests/test-infinitepush-backup-remotefilelog.t
Durham Goode da7796c0fe fixtests: fix tests to work with upstream changes
Upstream has made some minor changes that affect the tests. Let's just update
the tests appropriately.
2017-05-16 09:40:27 -07:00

117 lines
3.6 KiB
Perl

$ . $TESTDIR/require-ext.sh remotefilelog
$ . "$TESTDIR/library.sh"
$ . "$TESTDIR/library-infinitepush.sh"
$ setupcommon
Setup infinitepush and remotefilelog server
$ hg init repo
$ cd repo
$ setupserver
$ cat >> .hg/hgrc << EOF
> [remotefilelog]
> server=True
> EOF
$ cd ..
Make client shallow clone
$ hgcloneshallow ssh://user@dummy/repo client
streaming all changes
0 files to transfer, 0 bytes of data
transferred 0 bytes in \d+(\.\d+)? seconds \(0 bytes/sec\) (re)
no changes found
updating to branch default
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Create 3 commits, two of which will be stripped. It's important to remove file
that was created in the second commit to make sure it's filelogs won't be
downloaded to the client
$ cd repo
$ mkcommit serverinitialcommit
$ mkcommit committostripfirst
$ hg rm committostripfirst
$ echo 'committostripsecond' >> committostripsecond
$ hg add committostripsecond
$ hg ci -m committostripsecond
Pull changes client-side
$ cd ../client
$ hg pull
pulling from ssh://user@dummy/repo
streaming all changes
5 files to transfer, 1.06 KB of data
transferred 1.06 KB in [\d.]+ seconds \([\d.]+ KB/sec\) (re)
searching for changes
no changes found
Make commit on top of commit that will be stripped server-side. Also make two
bookmarks
$ hg up 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1 files fetched over 1 fetches - \(1 misses, 0.00% hit ratio\) over [\d.]+s (re)
$ hg book goodbooktobackup
$ hg up 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(leaving bookmark goodbooktobackup)
1 files fetched over 1 fetches - \(1 misses, 0.00% hit ratio\) over [\d.]+s (re)
$ hg book badbooktobackup
$ mkcommit clientbadcommit
$ hg log --graph -T '{desc}'
@ clientbadcommit
|
o committostripsecond
|
o committostripfirst
|
o serverinitialcommit
$ cd ..
Strip commit server-side
$ cd repo
$ hg strip 1
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/48acd0edbb46-9d7996f9-backup.hg (glob)
$ hg log --graph -T '{desc}'
@ serverinitialcommit
Now do a backup, it should not fail
$ cd ../client
$ hg pushbackup > /dev/null
filtering revisions: [1]
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
Now try to restore it from different client. Make sure bookmark
`goodbooktobackup` is restored
$ cd ..
$ hgcloneshallow ssh://user@dummy/repo secondclient
streaming all changes
2 files to transfer, 268 bytes of data
transferred 268 bytes in [\d.]+ seconds \([\d.]+ KB/sec\) (re)
searching for changes
no changes found
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd secondclient
$ hg pullbackup --traceback
pulling from ssh://user@dummy/repo
no changes found
$ hg book
goodbooktobackup 0:22ea264ff89d
Create a commit which deletes a file. Make sure it is backed up correctly
$ cd ../client
$ hg up -q 0
$ mkcommit filetodelete
created new head
$ hg rm filetodelete
$ hg ci -m 'deleted'
$ hg log -r . -T '{node}\n'
507709f4da22941c0471885d8377c48d6dadce21
$ hg pushbackup > /dev/null
filtering revisions: [1]
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over *s (glob)
$ scratchbookmarks
infinitepush/backups/test/*$TESTTMP/client/bookmarks/goodbooktobackup 22ea264ff89d6891c2889f15f338ac9fa2474f8b (glob)
infinitepush/backups/test/*$TESTTMP/client/heads/507709f4da22941c0471885d8377c48d6dadce21 507709f4da22941c0471885d8377c48d6dadce21 (glob)