git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Documentation/githooks: Explain pre-rebase parameters

From
W. Trevor King <wking@tremily.us>
Date
Feb 20, 2013, 16:36 UTC
Message-ID
<20130220163621.GI14102@odin.tremily.us>
In-Reply-To
<7vk3q45dg2.fsf@alter.siamese.dyndns.org>
On Tue, Feb 19, 2013 at 11:08:29AM -0800, Junio C Hamano wrote:
Show 10 quoted lines
> "W. Trevor King" <wking@tremily.us> writes:
> > Also, it appears that the `git-rebase--*.sh` handlers don't use the
> > pre-rebase hook.  Is this intentional?
> 
> The codeflow of git-rebase front-end, when you start rebasing, will
> call run_pre_rebase_hook before calling run_specific_rebase.  It
> will be redundant for handlers to then call it again, no?
> 
> In "rebase --continue" and later steps, you would not want to see
> the hook trigger.
Ah, that makes sense.
Show 24 quoted lines
> > diff --git a/Documentation/githooks.txt b/Documentation/githooks.txt
> > index b9003fe..bc837c6 100644
> > --- a/Documentation/githooks.txt
> > +++ b/Documentation/githooks.txt
> > @@ -140,9 +140,10 @@ the outcome of 'git commit'.
> >  pre-rebase
> >  ~~~~~~~~~~
> >  
> > -This hook is called by 'git rebase' and can be used to prevent a branch
> > -from getting rebased.
> > -
> > +This hook is called by 'git rebase' and can be used to prevent a
> > +branch from getting rebased.  The hook takes two parameters: the
> > +upstream the series was forked from and the branch being rebased.  The
> > +second parameter will be empty when rebasing the current branch.
> 
> Technically this is incorrect.
> 
> We call it with one or two parameters, and sometimes the second
> parameter is _missing_, which is different from calling with an
> empty string.  For a script written in some scripting languages like
> shell and perl, the distinction may not matter (i.e. $2 and $ARGV[1]
> will be an empty string when stringified) but not all (accessing
> sys.argv[2] may give you an IndexError in Python).
Will fix in v2.

Since $upstream_arg will always be set, would it make sense to change the `${1+"$@"}` syntax in run_pre_rebase_hook() to a plain "$@"?

Cheers, Trevor

-- 
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy
Previous: Junio C HamanoNext: Junio C Hamano
Message 6 of 11 in “Documentation/githooks: Explain pre-rebase parameters”
  1. Documentation/githooks: Explain pre-rebase parametersW. Trevor King, Feb 19, 2013
  2. Thomas RastFeb 19, 2013
  3. W. Trevor KingFeb 19, 2013
  4. Junio C HamanoFeb 19, 2013
  5. Junio C HamanoFeb 19, 2013
  6. W. Trevor KingFeb 20, 2013
  7. Junio C HamanoFeb 20, 2013
  8. Documentation/githooks: Explain pre-rebase parametersW. Trevor King, Feb 23, 2013
  9. Junio C HamanoFeb 23, 2013
  10. W. Trevor KingFeb 23, 2013
  11. Junio C HamanoFeb 24, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.