##// END OF EJS Templates
lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs...
lfs: add the 'lfs' requirement in the changegroup transaction introducing lfs A hook like this is how largefiles manages to do the same. Largefiles uses a changegroup hook, but this uses pretxnchangegroup because that actually causes the transaction to rollback in the unlikely event that writing the requirements out fails. Sadly, the requires file itself isn't rolled back if a subsequent hook fails, but that seems trivial. Now that commit, changegroup and convert are covered, I don't think there's any way to get an lfs repo without the requirement. The grep exit code is blotted out of some test-lfs-serve.t tests now showing the requirement, because run-tests.py doesn't support conditionalizing the exit code.

File last commit:

r33886:800bb35d default
r35520:6bb940de default
Show More
test-pushvars.t
71 lines | 1.7 KiB | text/troff | Tads3Lexer
Pulkit Goyal
pushvars: move fb extension pushvars to core...
r33656 Setup
$ PYTHONPATH=$TESTDIR/..:$PYTHONPATH
$ export PYTHONPATH
$ cat > $TESTTMP/pretxnchangegroup.sh << EOF
> #!/bin/sh
> env | egrep "^HG_USERVAR_(DEBUG|BYPASS_REVIEW)" | sort
> exit 0
> EOF
$ cat >> $HGRCPATH << EOF
> [hooks]
Matt Harbison
test-pushvars: invoke shell script hook via `sh` for Windows...
r33793 > pretxnchangegroup = sh $TESTTMP/pretxnchangegroup.sh
Pulkit Goyal
pushvars: move fb extension pushvars to core...
r33656 > [experimental]
> bundle2-exp = true
> EOF
$ hg init repo
$ hg clone -q repo child
$ cd child
Test pushing vars to repo with pushvars.server not set
$ echo b > a
$ hg commit -Aqm a
$ hg push --pushvars "DEBUG=1" --pushvars "BYPASS_REVIEW=true"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/repo
Pulkit Goyal
pushvars: move fb extension pushvars to core...
r33656 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Setting pushvars.sever = true and then pushing.
$ echo [push] >> $HGRCPATH
$ echo "pushvars.server = true" >> $HGRCPATH
$ echo b >> a
$ hg commit -Aqm a
$ hg push --pushvars "DEBUG=1" --pushvars "BYPASS_REVIEW=true"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/repo
Pulkit Goyal
pushvars: move fb extension pushvars to core...
r33656 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
HG_USERVAR_BYPASS_REVIEW=true
HG_USERVAR_DEBUG=1
Test pushing var with empty right-hand side
$ echo b >> a
$ hg commit -Aqm a
$ hg push --pushvars "DEBUG="
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/repo
Pulkit Goyal
pushvars: move fb extension pushvars to core...
r33656 searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
HG_USERVAR_DEBUG=
Test pushing bad vars
$ echo b >> a
$ hg commit -Aqm b
$ hg push --pushvars "DEBUG"
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 pushing to $TESTTMP/repo
Jun Wu
pushvars: do not mangle repo state...
r33886 searching for changes
Pulkit Goyal
pushvars: move fb extension pushvars to core...
r33656 abort: unable to parse variable 'DEBUG', should follow 'KEY=VALUE' or 'KEY=' format
[255]