sapling/eden/hg-server/tests/test-commitcloud-backup-lfs.t
Durham Goode 98d9269874 server: copy hg to a new hg-server directory
Summary:
Create a fork of the Mercurial code that we can use to build server
rpms. The hg servers will continue to exist for a few more months while we move
the darkstorm and ediscovery use cases off them. In the mean time, we want to
start making breaking changes to the client, so let's create a stable copy of
the hg code to produce rpms for the hg servers.

The fork is based off c7770c78d, the latest hg release.

This copies the files as is, then adds some minor tweaks to get it to build:
- Disables some lint checks that appear to be bypassed by path
- sed replace eden/scm with eden/hg-server
- Removed a dependency on scm/telemetry from the edenfs-client tests since
  scm/telemetry pulls in the original eden/scm/lib/configparser which conflicts
  with the hg-server conflict parser.

allow-large-files

Reviewed By: quark-zju

Differential Revision: D27632557

fbshipit-source-id: b2f442f4ec000ea08e4d62de068750832198e1f4
2021-04-09 10:09:06 -07:00

81 lines
2.0 KiB
Perl

#chg-compatible
$ disable treemanifest
$ enable amend
Setup common infinitepush
$ . "$TESTDIR/library.sh"
$ . "$TESTDIR/infinitepush/library.sh"
$ setupcommon
Setup lfs
$ enable lfs
$ setconfig experimental.changegroup3=true
$ setconfig lfs.threshold=10B lfs.url="file:$TESTTMP/dummy-remote/"
Setup server repo
$ hg init repo
$ cd repo
$ setupserver
$ echo 1 > 1
$ hg add 1
$ hg ci -m initial
$ hg bookmark master
Setup client
$ cd ..
$ hg clone ssh://user@dummy/repo client -q
$ cd client
$ echo aaaaaaaaaaa > largefile
$ hg ci -Aqm commit
$ hg debugdata largefile 0
version https://git-lfs.github.com/spec/v1
oid sha256:ab483e1d855ad0ea27a68eeea02a04c1de6ccd2dc2c05e3a48c9a1ebb8af5f99
size 12
x-is-binary 0
$ hg push -r . --to scratch/lfscommit --create
pushing to ssh://user@dummy/repo
searching for changes
remote: pushing 1 commit:
remote: 0da81a72db1a commit
$ scratchbookmarks
scratch/lfscommit 0da81a72db1a2d8256845e3808971f33e73d24c4
$ cd ..
Setup another client
$ hg clone ssh://user@dummy/repo client2 -q
$ cd client2
$ hg update scratch/lfscommit
pulling 'scratch/lfscommit' from 'ssh://user@dummy/repo'
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Make pushbackup that contains bundle with 2 heads
$ cd ../client
$ hg up -q tip
$ mkcommit newcommit
$ hg prev -q
[0da81a] commit
$ mkcommit newcommit2
$ hg cloud backup
backing up stack rooted at 0da81a72db1a
commitcloud: backed up 2 commits
remote: pushing 3 commits:
remote: 0da81a72db1a commit
remote: 5f9d85f9e1c6 newcommit
remote: c800524c1b76 newcommit2
$ hg cloud check -r .
c800524c1b7637c6f3f997d1459237d01fe1ea10 backed up
Pull just one head to trigger rebundle
$ cd ../client2
$ hg pull -r c800524c1b7637c6f3f997d1459237d01fe1ea10
pulling from ssh://user@dummy/repo
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 2 files