All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brandon Williams <bmwill@google.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH 8/9] Use the early config machinery to expand aliases
Date: Thu, 8 Jun 2017 07:51:00 -0700	[thread overview]
Message-ID: <20170608145100.GJ110638@google.com> (raw)
In-Reply-To: <alpine.DEB.2.21.1.1706081223130.171564@virtualbox>

On 06/08, Johannes Schindelin wrote:
> Hi Brandon,
> 
> On Wed, 7 Jun 2017, Brandon Williams wrote:
> 
> > I like seeing chunks of old code being deleted :D
> 
> Me, too. In particular as hacky code as this one. It caused quite a couple
> of gray hairs here.
> 
> > On 06/07, Johannes Schindelin wrote:
> > 
> > > @@ -245,36 +201,37 @@ static int handle_options(const char ***argv, int *argc, int *envchanged)
> > >  
> > >  static int handle_alias(int *argcp, const char ***argv)
> > >  {
> > > +	struct strbuf worktree_dir = STRBUF_INIT;
> > >  	int envchanged = 0, ret = 0, saved_errno = errno;
> > >  	int count, option_count;
> > >  	const char **new_argv;
> > >  	const char *alias_command;
> > >  	char *alias_string;
> > > -	int unused_nongit;
> > > -
> > > -	save_env_before_alias();
> > > -	setup_git_directory_gently(&unused_nongit);
> > >  
> > >  	alias_command = (*argv)[0];
> > > -	alias_string = alias_lookup(alias_command, NULL);
> > > +	alias_string = alias_lookup(alias_command, &worktree_dir);
> > >  	if (alias_string) {
> > >  		if (alias_string[0] == '!') {
> > >  			struct child_process child = CHILD_PROCESS_INIT;
> > >  
> > > +			if (worktree_dir.len)
> > > +				setup_git_directory();
> > 
> > So if there is a worktree then we run the setup code explicitly.  I
> > assume that is to ensure that all envvars are setup properly before
> > running the alias.  Just interesting to note that the actual value of
> > worktree_dir is never used, its just used essentially as a boolean
> > indicator of there being a worktree/gitdir/repository.  I'm not
> > suggesting to change from what you have here, its just food for thought.
> 
> Indeed.
> 
> That is what I tried to indicate by this paragraph in the commit message:
> 
> 	Rather than just chdir()ing into the indicated directory in case of an
> 	alias expanding to a shell command, we simply set up the .git/ directory
> 	so that e.g. GIT_PREFIX is set as expected.

I was more commenting on "oh that's what he meant by that" for my own
understanding.  But thanks again for pointing out that you did include a
comment in the commit message reflecting that.

-- 
Brandon Williams

  reply	other threads:[~2017-06-08 14:51 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07 16:06 [PATCH 0/9] Avoid problem where git_dir is set after alias expansion Johannes Schindelin
2017-06-07 16:06 ` [PATCH 1/9] discover_git_directory(): avoid setting invalid git_dir Johannes Schindelin
2017-06-07 17:45   ` Brandon Williams
2017-06-08 10:00     ` Johannes Schindelin
2017-06-07 16:06 ` [PATCH 2/9] config: report correct line number upon error Johannes Schindelin
2017-06-09 17:01   ` Junio C Hamano
2017-06-07 16:06 ` [PATCH 3/9] help: use early config when autocorrecting aliases Johannes Schindelin
2017-06-07 17:51   ` Brandon Williams
2017-06-08 10:02     ` Johannes Schindelin
2017-06-09 17:05   ` Junio C Hamano
2017-06-07 16:06 ` [PATCH 4/9] read_early_config(): optionally return the worktree's top-level directory Johannes Schindelin
2017-06-07 18:13   ` Brandon Williams
2017-06-08 10:20     ` Johannes Schindelin
2017-06-08 14:46       ` Brandon Williams
2017-06-08 15:30         ` Johannes Schindelin
2017-06-08 16:32           ` Brandon Williams
2017-06-08 18:52             ` Johannes Schindelin
2017-06-08 18:54               ` Brandon Williams
2017-06-07 16:06 ` [PATCH 5/9] t1308: relax the test verifying that empty alias values are disallowed Johannes Schindelin
2017-06-07 18:15   ` Brandon Williams
2017-06-08 10:22     ` Johannes Schindelin
2017-06-08 14:47       ` Brandon Williams
2017-06-10  1:28   ` Junio C Hamano
2017-06-07 16:06 ` [PATCH 6/9] t7006: demonstrate a problem with aliases in subdirectories Johannes Schindelin
2017-06-07 16:06 ` [PATCH 7/9] alias_lookup(): optionally return top-level directory Johannes Schindelin
2017-06-07 16:07 ` [PATCH 8/9] Use the early config machinery to expand aliases Johannes Schindelin
2017-06-07 18:26   ` Brandon Williams
2017-06-08 10:25     ` Johannes Schindelin
2017-06-08 14:51       ` Brandon Williams [this message]
2017-06-10  1:33   ` Junio C Hamano
2017-06-07 16:09 ` [PATCH 0/9] Avoid problem where git_dir is set after alias expansion Johannes Schindelin
2017-06-07 18:30 ` Brandon Williams
2017-06-08 10:27   ` Johannes Schindelin
2017-06-08 16:33     ` Brandon Williams

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=20170608145100.GJ110638@google.com \
    --to=bmwill@google.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.