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

Re: [PATCH/WIP v2 03/19] am: implement skeletal builtin am

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 14, 2015, 22:08 UTC
Message-ID
<xmqqzj42kkol.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1434018125-31804-4-git-send-email-pyokagan@gmail.com>
Paul Tan <pyokagan@gmail.com> writes:
Show 6 quoted lines
> +int cmd_am(int argc, const char **argv, const char *prefix)
> +{
> +	if (!getenv("_GIT_USE_BUILTIN_AM")) {
> +		const char *path = mkpath("%s/git-am", git_exec_path());
> +
> +		if (sane_execvp(path, (char**) argv) < 0)
Style: 
		if (sane_execvp(path, (char**)argv) < 0)
Show 14 quoted lines
> +			die_errno("could not exec %s", path);
> +	}
> +
> +	return 0;
> +}
> diff --git a/git.c b/git.c
> index 44374b1..42328ed 100644
> --- a/git.c
> +++ b/git.c
> @@ -370,6 +370,7 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
>  
>  static struct cmd_struct commands[] = {
>  	{ "add", cmd_add, RUN_SETUP | NEED_WORK_TREE },
> +	{ "am", cmd_am, RUN_SETUP | NEED_WORK_TREE },

Would this, especially having RUN_SETUP, keep the same behaviour when the command is run from a subdirectory of a working tree? e.g.

	save messages to ./inbox
        $ cd sub/dir
        $ git am ../../inbox
>  	{ "annotate", cmd_annotate, RUN_SETUP },
>  	{ "apply", cmd_apply, RUN_SETUP_GENTLY },
>  	{ "archive", cmd_archive },
Previous: Paul TanNext: Paul Tan
Message 5 of 31 in “Make git-am a builtin”
  1. 00/19 Make git-am a builtinPaul Tan, Jun 11, 2015
  2. 01/19 wrapper: implement xopen()Paul Tan, Jun 11, 2015
  3. 02/19 wrapper: implement xfopen()Paul Tan, Jun 11, 2015
  4. 03/19 am: implement skeletal builtin amPaul Tan, Jun 11, 2015
  5. Junio C HamanoJun 14, 2015
  6. Paul TanJun 15, 2015
  7. Junio C HamanoJun 15, 2015
  8. Paul TanJun 15, 2015
  9. Junio C HamanoJun 15, 2015
  10. Paul TanJun 18, 2015
  11. 04/19 am: implement patch queue mechanismPaul Tan, Jun 11, 2015
  12. Stefan BellerJun 11, 2015
  13. Paul TanJun 15, 2015
  14. 05/19 am: split out mbox/maildir patches with git-mailsplitPaul Tan, Jun 11, 2015
  15. Stefan BellerJun 11, 2015
  16. Paul TanJun 15, 2015
  17. 06/19 am: detect mbox patchesPaul Tan, Jun 11, 2015
  18. 07/19 am: extract patch, message and authorship with git-mailinfoPaul Tan, Jun 11, 2015
  19. Junio C HamanoJun 14, 2015
  20. 08/19 am: apply patch with git-applyPaul Tan, Jun 11, 2015
  21. 09/19 am: commit applied patchPaul Tan, Jun 11, 2015
  22. 10/19 am: refresh the index at startPaul Tan, Jun 11, 2015
  23. 11/19 am: refuse to apply patches if index is dirtyPaul Tan, Jun 11, 2015
  24. 12/19 am: implement --resolved/--continuePaul Tan, Jun 11, 2015
  25. 13/19 am: implement --skipPaul Tan, Jun 11, 2015
  26. 14/19 am: implement --abortPaul Tan, Jun 11, 2015
  27. 15/19 am: implement quiet optionPaul Tan, Jun 11, 2015
  28. 16/19 am: exit with user friendly message on patch failurePaul Tan, Jun 11, 2015
  29. 17/19 am: implement am --signoffPaul Tan, Jun 11, 2015
  30. 18/19 cache-tree: introduce write_index_as_tree()Paul Tan, Jun 11, 2015
  31. 19/19 am: implement 3-way mergePaul Tan, Jun 11, 2015

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.