Re: [PATCH] Have a flag to stop the option parsing at the first argument.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



El 17/12/2007, a las 10:50, Pierre Habouzit escribió:

Signed-off-by: Pierre Habouzit <madcoder@xxxxxxxxxx>
---
   // ...
   /* when in `git --opt1 --opt2 foo -a -b -c` mode: */
   int cmd_pos = git_find_builtin_command_name(argc, argv);
   int count = parse_options(cmd_pos, argv, git_generic_options,
	"git [special-options] cmd [options]", 0);
   if (count)
	die("unknown git command: `%s`", argv[0]);
   argv += cmd_pos;
   argc -= cmd_pos;
   /* here we simulate an argv of {"foo", "-a", "-b", "-c"} */

   Or even simpler, with the following specifically tailored patch you
   can directly write:

   argc = parse_options(argc, argv, git_generic_options,
	"git [generic-options] <command> [cmd-options]",
	PARSE_OPT_STOP_AT_ARG);

   and then {argc, argv} will exactly be the NULL-terminated array
   starting with the builtin command. Kind of nice :)

Indeed, nice ideas. I think all this will lead to a nice UI improvement post-1.5.4.

About the only thing that I think would merit action *prior* to 1.5.4 is marking the "-p" switch to git (synonym for --paginate) as deprecated, see as it clashes with other commands' uses of that switch ("git log -p" for example). Are there any other conflicting specials that a currently parsed in git.c?

Cheers,
Wincent

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux