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

Re: [PATCH try2 01/14] Add proper 'stage' command

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Oct 14, 2013, 19:44 UTC
Message-ID
<CAPig+cQN5e8hOKTvHRKUQoLmctUWbAqTydgfY10Kr4AzHtB7kg@mail.gmail.com>
In-Reply-To
<1381561488-20294-6-git-send-email-felipe.contreras@gmail.com>

On Sat, Oct 12, 2013 at 3:04 AM, Felipe Contreras <felipe.contreras@gmail.com> wrote:

Show 35 quoted lines
>  SYNOPSIS
>  --------
>  [verse]
> -'git stage' args...
> -
> +'git stage' [options] [--] [<paths>...]
> +'git stage add' [options] [--] [<paths>...]
> +'git stage reset' [-q|--patch] [--] [<paths>...]
> +'git stage diff' [options] [<commit>] [--] [<paths>...]
> +'git stage rm' [options] [--] [<paths>...]
> +'git stage apply' [options] [--] [<paths>...]
>
> diff --git a/builtin/stage.c b/builtin/stage.c
> new file mode 100644
> index 0000000..3023d17
> --- /dev/null
> +++ b/builtin/stage.c
> @@ -0,0 +1,52 @@
> +/*
> + * 'git stage' builtin command
> + *
> + * Copyright (C) 2013 Felipe Contreras
> + */
> +
> +#include "builtin.h"
> +#include "parse-options.h"
> +
> +static const char *const stage_usage[] = {
> +       N_("git stage [options] [--] <paths>..."),
> +       N_("git stage add [options] [--] <paths>..."),
> +       N_("git stage reset [-q|--patch] [--] <paths>..."),
> +       N_("git stage diff [options] [<commit]> [--] <paths>..."),
> +       N_("git stage rm [options] [--] <paths>..."),
> +       NULL
> +};
Missing usage for "git stage apply".
Show 35 quoted lines
> +
> +int cmd_stage(int argc, const char **argv, const char *prefix)
> +{
> +       struct option options[] = { OPT_END() };
> +
> +       argc = parse_options(argc, argv, prefix, options, stage_usage,
> +                       PARSE_OPT_KEEP_ARGV0 | PARSE_OPT_KEEP_UNKNOWN | PARSE_OPT_KEEP_DASHDASH);
> +
> +       if (argc > 1) {
> +               if (!strcmp(argv[1], "add"))
> +                       return cmd_add(argc - 1, argv + 1, prefix);
> +               if (!strcmp(argv[1], "reset"))
> +                       return cmd_reset(argc - 1, argv + 1, prefix);
> +               if (!strcmp(argv[1], "diff")) {
> +                       argv[0] = "diff";
> +                       argv[1] = "--staged";
> +
> +                       return cmd_diff(argc, argv, prefix);
> +               }
> +               if (!strcmp(argv[1], "rm")) {
> +                       argv[0] = "rm";
> +                       argv[1] = "--cached";
> +
> +                       return cmd_rm(argc, argv, prefix);
> +               }
> +               if (!strcmp(argv[1], "apply")) {
> +                       argv[0] = "apply";
> +                       argv[1] = "--cached";
> +
> +                       return cmd_apply(argc, argv, prefix);
> +               }
> +       }
> +
> +       return cmd_add(argc, argv, prefix);
> +}
Previous: Felipe ContrerasNext: Felipe Contreras
Message 7 of 21 in “completion: update 'git reset' new stage options”
  1. 14/14 completion: update 'git reset' new stage optionsFelipe Contreras, Oct 12, 2013
  2. 04/14 grep: add --staged optionFelipe Contreras, Oct 12, 2013
  3. 07/14 stash: add --stage to pop and applyFelipe Contreras, Oct 12, 2013
  4. 00/14 Officially start moving to the term 'staging area'Felipe Contreras, Oct 12, 2013
  5. 10/14 apply: add --work, --no-work optionsFelipe Contreras, Oct 12, 2013
  6. 01/14 Add proper 'stage' commandFelipe Contreras, Oct 12, 2013
  7. Eric SunshineOct 14, 2013
  8. Felipe ContrerasOct 14, 2013
  9. 09/14 apply: add --stage optionFelipe Contreras, Oct 12, 2013
  10. Eric SunshineOct 13, 2013
  11. Felipe ContrerasOct 13, 2013
  12. Miles BaderOct 13, 2013
  13. Felipe ContrerasOct 13, 2013
  14. 03/14 diff: document --stagedFelipe Contreras, Oct 12, 2013
  15. 05/14 rm: add --staged optionFelipe Contreras, Oct 12, 2013
  16. 02/14 stage: add edit commandFelipe Contreras, Oct 12, 2013
  17. 13/14 reset: allow --keep with --stageFelipe Contreras, Oct 12, 2013
  18. 12/14 reset: add --stage and --work optionsFelipe Contreras, Oct 12, 2013
  19. 08/14 submodule: add --staged optionsFelipe Contreras, Oct 12, 2013
  20. 11/14 completion: update --staged optionsFelipe Contreras, Oct 12, 2013
  21. 06/14 stash: add --stage option to saveFelipe Contreras, Oct 12, 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.