##// END OF EJS Templates
tests: fix test-sparse-revlog...
tests: fix test-sparse-revlog This one is not covered by the CIbecause I requires an expensive artifact to be cached. So it goes out of think on regular basis (we should fix that…) The test ouput was affected by e706bb41fdb3 as we filtering now happens sooner, removing for the output.

File last commit:

r47837:3e381eb5 default
r50521:da636e7a default
Show More
test-lfs-bundle.t
126 lines | 2.8 KiB | text/troff | Tads3Lexer
/ tests / test-lfs-bundle.t
Jun Wu
lfs: add a test showing bundle application could be broken...
r36763 In this test, we want to test LFS bundle application on both LFS and non-LFS
repos.
To make it more interesting, the file revisions will contain hg filelog
metadata ('\1\n'). The bundle will have 1 file revision overlapping with the
destination repo.
# rev 1 2 3
# repo: yes yes no
# bundle: no (base) yes yes (deltabase: 2 if possible)
It is interesting because rev 2 could have been stored as LFS in the repo, and
non-LFS in the bundle; or vice-versa.
Init
$ cat >> $HGRCPATH << EOF
> [extensions]
> lfs=
> drawdag=$TESTDIR/drawdag.py
> [lfs]
> url=file:$TESTTMP/lfs-remote
> EOF
Helper functions
$ commitxy() {
> hg debugdrawdag "$@" <<'EOS'
> Y # Y/X=\1\nAAAA\nE\nF
> | # Y/Y=\1\nAAAA\nG\nH
> X # X/X=\1\nAAAA\nC\n
> # X/Y=\1\nAAAA\nD\n
> EOS
> }
$ commitz() {
> hg debugdrawdag "$@" <<'EOS'
> Z # Z/X=\1\nAAAA\nI\n
> | # Z/Y=\1\nAAAA\nJ\n
> | # Z/Z=\1\nZ
> Y
> EOS
> }
$ enablelfs() {
> cat >> .hg/hgrc <<EOF
> [lfs]
> track=all()
> EOF
> }
Generate bundles
$ for i in normal lfs; do
> NAME=src-$i
> hg init $TESTTMP/$NAME
> cd $TESTTMP/$NAME
> [ $i = lfs ] && enablelfs
> commitxy
> commitz
> hg bundle -q --base X -r Y+Z $TESTTMP/$NAME.bundle
> SRCNAMES="$SRCNAMES $NAME"
> done
Prepare destination repos
$ for i in normal lfs; do
> NAME=dst-$i
> hg init $TESTTMP/$NAME
> cd $TESTTMP/$NAME
> [ $i = lfs ] && enablelfs
> commitxy
> DSTNAMES="$DSTNAMES $NAME"
> done
Apply bundles
$ for i in $SRCNAMES; do
> for j in $DSTNAMES; do
> echo ---- Applying $i.bundle to $j ----
> cp -R $TESTTMP/$j $TESTTMP/tmp-$i-$j
> cd $TESTTMP/tmp-$i-$j
> if hg unbundle $TESTTMP/$i.bundle -q 2>/dev/null; then
> hg verify -q && echo OK
> else
> echo CRASHED
> fi
> done
> done
---- Applying src-normal.bundle to dst-normal ----
OK
---- Applying src-normal.bundle to dst-lfs ----
Jun Wu
revlog: resolve lfs rawtext to vanilla rawtext before applying delta...
r36766 OK
Jun Wu
lfs: add a test showing bundle application could be broken...
r36763 ---- Applying src-lfs.bundle to dst-normal ----
Jun Wu
changegroup: do not delta lfs revisions...
r36764 OK
Jun Wu
lfs: add a test showing bundle application could be broken...
r36763 ---- Applying src-lfs.bundle to dst-lfs ----
OK
Matt Harbison
lfutil: provide a hint if the largefiles/lfs cache path cannot be determined...
r44863
Hint if the cache location cannot be inferred from the environment
#if windows
$ unset LOCALAPPDATA
$ unset APPDATA
Martin von Zweigbergk
config: add --source option to include source of value...
r47837 $ HGRCPATH= hg config lfs --source
Matt Harbison
lfutil: provide a hint if the largefiles/lfs cache path cannot be determined...
r44863 abort: unknown lfs usercache location
(define LOCALAPPDATA or APPDATA in the environment, or set lfs.usercache)
[255]
#endif
#if osx
$ unset HOME
Martin von Zweigbergk
config: add --source option to include source of value...
r47837 $ HGRCPATH= hg config lfs --source
Matt Harbison
lfutil: provide a hint if the largefiles/lfs cache path cannot be determined...
r44863 abort: unknown lfs usercache location
(define HOME in the environment, or set lfs.usercache)
[255]
#endif
#if no-windows no-osx
$ unset XDG_CACHE_HOME
$ unset HOME
Martin von Zweigbergk
config: add --source option to include source of value...
r47837 $ HGRCPATH= hg config lfs --source
Matt Harbison
lfutil: provide a hint if the largefiles/lfs cache path cannot be determined...
r44863 abort: unknown lfs usercache location
(define XDG_CACHE_HOME or HOME in the environment, or set lfs.usercache)
[255]
#endif