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

Re: [PATCH 9/5] Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash

From
Pierre Habouzit <madcoder@debian.org>
Date
Nov 4, 2007, 09:03 UTC
Message-ID
<20071104090335.GB26269@artemis.corp>
In-Reply-To
<7v7ikytpz0.fsf@gitster.siamese.dyndns.org>
On Sun, Nov 04, 2007 at 07:44:03AM +0000, Junio C Hamano wrote:
Show 33 quoted lines
> Pierre Habouzit <madcoder@debian.org> writes:
> 
> > Also fix some space versus tabs issues.
> > ---
> >  git-checkout.sh |   99 +++++++++++++++++++++++++++----------------------------
> >  1 files changed, 49 insertions(+), 50 deletions(-)
> >
> > diff --git a/git-checkout.sh b/git-checkout.sh
> > index 8993920..5424745 100755
> > --- a/git-checkout.sh
> > +++ b/git-checkout.sh
> > @@ -1,6 +1,16 @@
> >  #!/bin/sh
> >  
> > -USAGE='[-q] [-f] [-b <new_branch>] [-m] [<branch>] [<paths>...]'
> > +PARSEOPT_OPTS=--keep-dashdash
> > +OPTIONS_SPEC="\
> > +git-branch [options] [<branch>] [<paths>...]
> > +--
> > +b=          create a new branch started at <branch>
> > +l           create the new branchs reflog
> > +track       tells if the new branch should track the remote branch
> > +f           proceed even if the index or working tree is not HEAD
> > +m           performa  three-way merge on local modifications if needed
> > +q,quiet     be quiet
> > +"
> 
> Ok, so this is how PARSEOPT_OPTS gets used.  It is a way for the
> command that sources git-sh-setup to tell the parseopt code what
> to do.  I can agree with this, but then all the other commands
> that do not set PARSEOPT_OPTS before sourcing git-sh-setup
> should set it to empty string.  Otherwise the users can screw
> you with their environment variables.
  yes it's the why, and it's also the why this variable isn't quoted
because it is meant to get options to pass to git-rev-parse --parseopt
In fact it's only used in git-checkout right now. I believe the proper
way to do that is that git-sh-setup does a PARSEOPT_OPTS= and that
git-checkout.sh its sole user overrides it once git-sh-setup is sourced.
I'll send the two updated patches for that.
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
Previous: Junio C HamanoNext: Johannes Schindelin
Message 17 of 25 in “let's retry this based on git-rev-parse --parseopt”
  1. Pierre HabouzitNov 2, 2007
  2. 1/5 Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.Pierre Habouzit, Nov 2, 2007
  3. 2/5 Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseoptPierre Habouzit, Nov 2, 2007
  4. 3/5 Migrate git-clean.sh to use git-rev-parse --parseopt.Pierre Habouzit, Nov 2, 2007
  5. 4/5 Migrate git-clone to use git-rev-parse --parseoptPierre Habouzit, Nov 2, 2007
  6. 5/5 Migrate git-am.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 2, 2007
  7. Alex RiesenNov 3, 2007
  8. Pierre HabouzitNov 3, 2007
  9. Pierre HabouzitNov 3, 2007
  10. 5/5 Migrate git-am.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 3, 2007
  11. 6/5 Migrate git-merge.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 3, 2007
  12. 8/5 Migrate git-instaweb.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 3, 2007
  13. 9/5 Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdashPierre Habouzit, Nov 3, 2007
  14. 10/5 Migrate git-quiltimport.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 3, 2007
  15. 11/5 Migrate git-repack.sh to use git-rev-parse --parseoptPierre Habouzit, Nov 3, 2007
  16. Junio C HamanoNov 4, 2007
  17. Pierre HabouzitNov 4, 2007
  18. Johannes SchindelinNov 4, 2007
  19. Pierre HabouzitNov 4, 2007
  20. Junio C HamanoNov 4, 2007
  21. 3/5 Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  22. 5/5 Migrate git-clone to use git-rev-parse --parseoptPierre Habouzit, Nov 4, 2007
  23. 9/5 Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdashPierre Habouzit, Nov 4, 2007
  24. Pierre HabouzitNov 4, 2007
  25. Pierre HabouzitNov 4, 2007

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.