sapling/tests/test-pushvars.t
Phil Cohen 498fe837ae tweakdefaults: move config overrides to core
Summary: tweakdefaults was overriding two configs to reconcile core/fb behavior. Let's just fold it in to the default.

Reviewed By: quark-zju

Differential Revision: D10432786

fbshipit-source-id: 2f56baa2d11d7814bffc489e56cb155548d1fc97
2018-10-18 03:15:26 -07:00

97 lines
2.3 KiB
Perl

$ . helpers-usechg.sh
Setup
$ cat > $TESTTMP/pretxnchangegroup.sh << EOF
> #!/bin/bash
> env | egrep "^HG_USERVAR_(DEBUG|BYPASS_REVIEW)" | sort
> exit 0
> EOF
$ cat >> $HGRCPATH << EOF
> [hooks]
> pretxnchangegroup = bash $TESTTMP/pretxnchangegroup.sh
> EOF
$ hg init repo
$ hg clone -q repo child
$ cd child
Test pushing vars to repo with pushvars.server explicitly disabled
$ cd ../repo
$ setconfig push.pushvars.server=False
$ cd ../child
$ echo b > a
$ hg commit -Aqm a
$ hg push --pushvars "DEBUG=1" --pushvars "BYPASS_REVIEW=true" --config push.pushvars.server=False
pushing to $TESTTMP/repo
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.
$ cd ../repo
$ setconfig push.pushvars.server=True
$ cd ../child
$ echo b >> a
$ hg commit -Aqm a
$ hg push --pushvars "DEBUG=1" --pushvars "BYPASS_REVIEW=true"
pushing to $TESTTMP/repo
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="
pushing to $TESTTMP/repo
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"
pushing to $TESTTMP/repo
searching for changes
abort: unable to parse variable 'DEBUG', should follow 'KEY=VALUE' or 'KEY=' format
[255]
Test Python hooks
$ cat >> $TESTTMP/pyhook.py << EOF
> def hook(ui, repo, hooktype, **kwargs):
> for k, v in sorted(kwargs.items()):
> if "USERVAR" in k:
> ui.write("Got pushvar: %s=%s\n" % (k, v))
> EOF
$ cat >> $HGRCPATH << EOF
> [hooks]
> pretxnchangegroup.pyhook = python:$TESTTMP/pyhook.py:hook
> EOF
$ hg push --pushvars "A=1" --pushvars "B=2"
pushing to $TESTTMP/repo
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
Got pushvar: USERVAR_A=1
Got pushvar: USERVAR_B=2