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