From: Jeff King <peff@peff.net>
To: Stefan Beller <sbeller@google.com>
Cc: "git@vger.kernel.org" <git@vger.kernel.org>,
Dan Wang <dwwang@google.com>
Subject: Re: [PATCH 1/4] push options: {pre,post}-receive hook learns about push options
Date: Fri, 1 Jul 2016 13:59:50 -0400 [thread overview]
Message-ID: <20160701175950.GB16235@sigill.intra.peff.net> (raw)
In-Reply-To: <CAGZ79kaDCLm3BBURJKfkYWKKvozkFTGCn0wGiQCtspUvtQBd+g@mail.gmail.com>
On Fri, Jul 01, 2016 at 10:20:32AM -0700, Stefan Beller wrote:
> >> The rationale for keeping the actual options inside a file instead of
> >> putting them directly into an environment variable has multiple reasons:
> >
> > Thanks for including this rationale; my first thought on seeing the
> > patch was "wouldn't this be much more convenient for a hook if each
> > value had its own environment variable?".
>
> That's what I thought as well. Office discussion ensued and I am still
> offended by this solution, but it sucks less than multiple environment variables
> (I tried writing a script to construct and evaluate the environment
> variables and
> that doesn't look nice)
If you give up on having multiple incarnations of each variable, then I
think:
GIT_PUSH_VAR_foo=value_for_foo
GIT_PUSH_VAR_bar=value_for_bar
is quite elegant, and easy to use from hooks. It just cannot represent
multiple such "foo" variables.
> If we did not have a GIT_PUSH_OPTIONS_COUNT and GIT_PUSH_OPTION_<N>
> but rather GIT_PUSH_OPTIONS_VARIABLES that contains the other variables,
> it may be easier to handle, but whether you read from a file or evaluate the
> environment variable is only a minor step, the indirection is there anyway
> and this would be very close to what we have above.
It makes the server implementation a bit uglier. You have to create the
temporary file, and you have to clean it up. What process is responsible
for cleaning up stale files? Obviously receive-pack would try to clean
up after itself, but what happens when it is "kill -9"'d, or the system
goes down, etc? We clean up stale tmp files like tmp_obj_* in git-gc; I
think we'd want something like that here.
-Peff
next prev parent reply other threads:[~2016-07-01 17:59 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-30 0:59 [RFC PATCHv1 0/4] Push options in C Git Stefan Beller
2016-06-30 0:59 ` [PATCH 1/4] push options: {pre,post}-receive hook learns about push options Stefan Beller
2016-07-01 7:14 ` Jeff King
2016-07-01 17:20 ` Stefan Beller
2016-07-01 17:59 ` Jeff King [this message]
2016-07-01 18:03 ` Junio C Hamano
2016-07-01 18:11 ` Jeff King
2016-07-01 19:25 ` Junio C Hamano
2016-07-01 19:31 ` Stefan Beller
2016-07-01 19:39 ` Jeff King
2016-07-01 19:50 ` Stefan Beller
2016-07-01 18:40 ` Stefan Beller
2016-06-30 0:59 ` [PATCH 2/4] receive-pack: implement advertising and receiving " Stefan Beller
2016-07-01 17:11 ` Junio C Hamano
2016-07-01 17:24 ` Stefan Beller
2016-06-30 0:59 ` [PATCH 3/4] push: accept " Stefan Beller
2016-06-30 0:59 ` [PATCH 4/4] add a test for " Stefan Beller
2016-07-01 7:09 ` [RFC PATCHv1 0/4] Push options in C Git Jeff King
2016-07-01 17:07 ` Stefan Beller
2016-07-01 17:55 ` Jeff King
2016-07-01 18:25 ` Stefan Beller
2016-07-01 20:01 ` Jeff King
2016-07-07 1:12 [PATCHv3 " Stefan Beller
2016-07-07 1:12 ` [PATCH 1/4] push options: {pre,post}-receive hook learns about push options Stefan Beller
2016-07-07 20:20 ` Junio C Hamano
2016-07-07 21:50 ` Stefan Beller
2016-07-07 21:53 ` Junio C Hamano
2016-07-09 0:31 [PATCHv4 0/4] Push options Stefan Beller
2016-07-09 0:31 ` [PATCH 1/4] push options: {pre,post}-receive hook learns about push options Stefan Beller
2016-07-14 17:39 [PATCHv5 0/4] Push options Stefan Beller
2016-07-14 17:39 ` [PATCH 1/4] push options: {pre,post}-receive hook learns about push options Stefan Beller
2016-07-14 21:49 [PATCHv7 0/4] Push options Stefan Beller
2016-07-14 21:49 ` [PATCH 1/4] push options: {pre,post}-receive hook learns about push options Stefan Beller
2016-07-14 22:46 ` Jeff King
2016-07-14 22:51 ` Stefan Beller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160701175950.GB16235@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=dwwang@google.com \
--cc=git@vger.kernel.org \
--cc=sbeller@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).