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

[PATCH v2 07/11] am: move advice.amWorkDir parsing back to advice.c

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
May 26, 2018, 13:55 UTC
Message-ID
<20180526135531.4516-8-pclouds@gmail.com>
In-Reply-To
<20180526135531.4516-1-pclouds@gmail.com>

The only benefit from this move (apart from cleaner code) is that advice.amWorkDir should now show up in `git help --config`. There should be no regression since advice config is always read by the git_default_config().

While at there, use advise() like other code. We now get "hint: " prefix and the output is stderr instead of stdout (which is also the reason for the test update because stderr is checked in a following test and the extra advice can fail it).

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 advice.c              | 2 ++
 advice.h              | 1 +
 builtin/am.c          | 6 +-----
 t/t4254-am-corrupt.sh | 2 +-
 4 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/advice.c b/advice.c
index 2aca11f45e..52aa85bdfd 100644
--- a/advice.c
+++ b/advice.c
@@ -17,6 +17,7 @@ int advice_implicit_identity = 1;
 int advice_detached_head = 1;
 int advice_set_upstream_failure = 1;
 int advice_object_name_warning = 1;
+int advice_amworkdir = 1;
 int advice_rm_hints = 1;
 int advice_add_embedded_repo = 1;
 int advice_ignored_hook = 1;
@@ -68,6 +69,7 @@ static struct {
 	{ "detachedHead", &advice_detached_head },
 	{ "setupStreamFailure", &advice_set_upstream_failure },
 	{ "objectNameWarning", &advice_object_name_warning },
+	{ "amWorkDir", &advice_amworkdir },
 	{ "rmHints", &advice_rm_hints },
 	{ "addEmbeddedRepo", &advice_add_embedded_repo },
 	{ "ignoredHook", &advice_ignored_hook },
diff --git a/advice.h b/advice.h
index 9f5064e82a..7e9377864f 100644
--- a/advice.h
+++ b/advice.h
@@ -17,6 +17,7 @@ extern int advice_implicit_identity;
 extern int advice_detached_head;
 extern int advice_set_upstream_failure;
 extern int advice_object_name_warning;
+extern int advice_amworkdir;
 extern int advice_rm_hints;
 extern int advice_add_embedded_repo;
 extern int advice_ignored_hook;
diff --git a/builtin/am.c b/builtin/am.c
index aa989e7390..735d016525 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1827,15 +1827,11 @@ static void am_run(struct am_state *state, int resume)
 		}
 
 		if (apply_status) {
-			int advice_amworkdir = 1;
-
 			printf_ln(_("Patch failed at %s %.*s"), msgnum(state),
 				linelen(state->msg), state->msg);
 
-			git_config_get_bool("advice.amworkdir", &advice_amworkdir);
-
 			if (advice_amworkdir)
-				printf_ln(_("Use 'git am --show-current-patch' to see the failed patch"));
+				advise(_("Use 'git am --show-current-patch' to see the failed patch"));
 
 			die_user_resolve(state);
 		}
diff --git a/t/t4254-am-corrupt.sh b/t/t4254-am-corrupt.sh
index 168739c721..fd3bdbfe2c 100755
--- a/t/t4254-am-corrupt.sh
+++ b/t/t4254-am-corrupt.sh
@@ -25,7 +25,7 @@ test_expect_success setup '
 #   fatal: unable to write file '(null)' mode 100644: Bad address
 # Also, it had the unwanted side-effect of deleting f.
 test_expect_success 'try to apply corrupted patch' '
-	test_must_fail git am bad-patch.diff 2>actual
+	test_must_fail git -c advice.amWorkDir=false am bad-patch.diff 2>actual
 '
 
 test_expect_success 'compare diagnostic; ensure file is still here' '
-- 
2.17.0.705.g3525833791
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 28 of 36 in “completion: avoid hard coding config var list”
  1. 0/9 completion: avoid hard coding config var listNguyễn Thái Ngọc Duy, May 10, 2018
  2. 1/9 Add and use generic name->id mapping code for color slot parsingNguyễn Thái Ngọc Duy, May 10, 2018
  3. Stefan BellerMay 10, 2018
  4. Duy NguyenMay 11, 2018
  5. 3/9 fsck: factor out msg_id_info[] lazy initialization codeNguyễn Thái Ngọc Duy, May 10, 2018
  6. Eric SunshineMay 11, 2018
  7. 2/9 grep: keep all colors in an arrayNguyễn Thái Ngọc Duy, May 10, 2018
  8. 8/9 completion: support case-insensitive config vars just a bitNguyễn Thái Ngọc Duy, May 10, 2018
  9. SZEDER GáborMay 20, 2018
  10. 7/9 completion: drop the hard coded list of config varsNguyễn Thái Ngọc Duy, May 10, 2018
  11. Eric SunshineMay 11, 2018
  12. SZEDER GáborMay 20, 2018
  13. 6/9 am: move advice.amWorkDir parsing back to advice.cNguyễn Thái Ngọc Duy, May 10, 2018
  14. Eric SunshineMay 11, 2018
  15. 9/9 log-tree: allow to customize 'grafted' colorNguyễn Thái Ngọc Duy, May 10, 2018
  16. 4/9 help: add --config to list all available configNguyễn Thái Ngọc Duy, May 10, 2018
  17. Eric SunshineMay 11, 2018
  18. 5/9 advice: keep config name in camelCase in advice_config[]Nguyễn Thái Ngọc Duy, May 10, 2018
  19. Duy NguyenMay 10, 2018
  20. Junio C HamanoMay 11, 2018
  21. Duy NguyenMay 11, 2018
  22. 00/11 completion: avoid hard coding config var listNguyễn Thái Ngọc Duy, May 26, 2018
  23. 01/11 Add and use generic name->id mapping code for color slot parsingNguyễn Thái Ngọc Duy, May 26, 2018
  24. Stefan BellerMay 29, 2018
  25. 04/11 help: add --config to list all available configNguyễn Thái Ngọc Duy, May 26, 2018
  26. Eric SunshineMay 27, 2018
  27. 09/11 completion: keep other config var completion in camelCaseNguyễn Thái Ngọc Duy, May 26, 2018
  28. 07/11 am: move advice.amWorkDir parsing back to advice.cNguyễn Thái Ngọc Duy, May 26, 2018
  29. 11/11 log-tree: allow to customize 'grafted' colorNguyễn Thái Ngọc Duy, May 26, 2018
  30. 12/11 completion: complete general config vars in two stepsNguyễn Thái Ngọc Duy, May 27, 2018
  31. 10/11 completion: support case-insensitive config varsNguyễn Thái Ngọc Duy, May 26, 2018
  32. 03/11 fsck: factor out msg_id_info[] lazy initialization codeNguyễn Thái Ngọc Duy, May 26, 2018
  33. 08/11 completion: drop the hard coded list of config varsNguyễn Thái Ngọc Duy, May 26, 2018
  34. 02/11 grep: keep all colors in an arrayNguyễn Thái Ngọc Duy, May 26, 2018
  35. 06/11 advice: keep config name in camelCase in advice_config[]Nguyễn Thái Ngọc Duy, May 26, 2018
  36. 05/11 fsck: produce camelCase config key namesNguyễn Thái Ngọc Duy, May 26, 2018

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.