D210: pushvars: move fb extension pushvars to core
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Wed Aug 2 13:05:59 EDT 2017
durin42 added a comment.
In https://phab.mercurial-scm.org/D210#3506, @akushner wrote:
> @durin42 - This isn't exporting all the shell variables.... it works almost exactly like you are suggesting
>
> > Could we accomplish something similar by having an --extra-args= flag that delivers a part with an arbitrary payload that can then be used (or not) by hooks as they see fit?
>
> How we use this feature:
>
> hg push --pushvars "BYPASS_LARGE_FILE_CHECK=true"
>
>
> and then the hook that usually balks when someone tries to upload some ridiculously sized binary does something like
>
> if [[ $HG_USERVAR_BYPASS_LARGE_FILE_CHECK == true ]]; then
> # Don't bail and allow what we usually don't allow
> fi
>
Right, that's roughly what I expected. Could it be done using HG_EXTRA_ARGS that was set to whatever --extra-args contained?
> Notice that the HG_USERVAR is prepended to the "BYPASS_LARGE_FILE_CHECK" var? The user can't override normal shell variables with this.
Sure, but environment variables are still global state, so its got nonzero concurrency concerns. I'm also *extremely* uncomfortable shipping *all* environment variables because people put credentials in them on a regular basis, so if we do go with the "ship an environment variable" approach, I think the user should be specifying which variables to send.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D210
To: pulkit, #hg-reviewers
Cc: durin42, akushner, mercurial-devel
More information about the Mercurial-devel
mailing list