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
Junio C Hamano <gitster@pobox.com>
Date
Nov 4, 2007, 07:44 UTC
Message-ID
<7v7ikytpz0.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1194112219-19968-4-git-send-email-madcoder@debian.org>
Pierre Habouzit <madcoder@debian.org> writes:
Show 24 quoted lines
> 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.

Previous: Pierre HabouzitNext: Pierre Habouzit
Message 16 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.