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

[PATCH v3 33/36] worktree: define subcommand -h in terms of command -h

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Sep 30, 2022, 18:07 UTC
Message-ID
<patch-v3-33.36-76e6b7d296a-20220930T180415Z-avarab@gmail.com>
In-Reply-To
<cover-v3-00.36-00000000000-20220930T180414Z-avarab@gmail.com>

Avoid repeating the "-h" output for the "git worktree" command, and instead define the usage of each subcommand with macros, so that the "-h" output for the command itself can re-use those definitions. See [1], [2] and [3] for prior art using the same pattern.

1. b25b727494f (builtin/multi-pack-index.c: define common usage with a
   macro, 2021-03-30)
2. 8757b35d443 (commit-graph: define common usage with a macro,
   2021-08-23)
3. 1e91d3faf6c (reflog: move "usage" variables and use macros,
   2022-03-17)
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 builtin/worktree.c | 109 ++++++++++++++++++++++++++++++++++-----------
 1 file changed, 84 insertions(+), 25 deletions(-)
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 5bfc18e5a24..ba6846c3788 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -15,15 +15,72 @@
 #include "worktree.h"
 #include "quote.h"
 
-static const char * const worktree_usage[] = {
-	N_("git worktree add [<options>] <path> [<commit-ish>]"),
-	N_("git worktree list [<options>]"),
-	N_("git worktree lock [<options>] <path>"),
-	N_("git worktree move <worktree> <new-path>"),
-	N_("git worktree prune [<options>]"),
-	N_("git worktree remove [<options>] <worktree>"),
-	N_("git worktree repair [<path>...]"),
-	N_("git worktree unlock <worktree>"),
+#define BUILTIN_WORKTREE_ADD_USAGE \
+	N_("git worktree add [<options>] <path> [<commit-ish>]")
+#define BUILTIN_WORKTREE_LIST_USAGE \
+	N_("git worktree list [<options>]")
+#define BUILTIN_WORKTREE_LOCK_USAGE \
+	N_("git worktree lock [<options>] <path>")
+#define BUILTIN_WORKTREE_MOVE_USAGE \
+	N_("git worktree move <worktree> <new-path>")
+#define BUILTIN_WORKTREE_PRUNE_USAGE \
+	N_("git worktree prune [<options>]")
+#define BUILTIN_WORKTREE_REMOVE_USAGE \
+	N_("git worktree remove [<options>] <worktree>")
+#define BUILTIN_WORKTREE_REPAIR_USAGE \
+	N_("git worktree repair [<path>...]")
+#define BUILTIN_WORKTREE_UNLOCK_USAGE \
+	N_("git worktree unlock <worktree>")
+
+static const char * const git_worktree_usage[] = {
+	BUILTIN_WORKTREE_ADD_USAGE,
+	BUILTIN_WORKTREE_LIST_USAGE,
+	BUILTIN_WORKTREE_LOCK_USAGE,
+	BUILTIN_WORKTREE_MOVE_USAGE,
+	BUILTIN_WORKTREE_PRUNE_USAGE,
+	BUILTIN_WORKTREE_REMOVE_USAGE,
+	BUILTIN_WORKTREE_REPAIR_USAGE,
+	BUILTIN_WORKTREE_UNLOCK_USAGE,
+	NULL
+};
+
+static const char * const git_worktree_add_usage[] = {
+	BUILTIN_WORKTREE_ADD_USAGE,
+	NULL,
+};
+
+static const char * const git_worktree_list_usage[] = {
+	BUILTIN_WORKTREE_LIST_USAGE,
+	NULL
+};
+
+static const char * const git_worktree_lock_usage[] = {
+	BUILTIN_WORKTREE_LOCK_USAGE,
+	NULL
+};
+
+static const char * const git_worktree_move_usage[] = {
+	BUILTIN_WORKTREE_MOVE_USAGE,
+	NULL
+};
+
+static const char * const git_worktree_prune_usage[] = {
+	BUILTIN_WORKTREE_PRUNE_USAGE,
+	NULL
+};
+
+static const char * const git_worktree_remove_usage[] = {
+	BUILTIN_WORKTREE_REMOVE_USAGE,
+	NULL
+};
+
+static const char * const git_worktree_repair_usage[] = {
+	BUILTIN_WORKTREE_REPAIR_USAGE,
+	NULL
+};
+
+static const char * const git_worktree_unlock_usage[] = {
+	BUILTIN_WORKTREE_UNLOCK_USAGE,
 	NULL
 };
 
@@ -153,9 +210,10 @@ static int prune(int ac, const char **av, const char *prefix)
 	};
 
 	expire = TIME_MAX;
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_prune_usage,
+			   0);
 	if (ac)
-		usage_with_options(worktree_usage, options);
+		usage_with_options(git_worktree_prune_usage, options);
 	prune_worktrees();
 	return 0;
 }
@@ -573,7 +631,7 @@ static int add(int ac, const char **av, const char *prefix)
 
 	memset(&opts, 0, sizeof(opts));
 	opts.checkout = 1;
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_add_usage, 0);
 	if (!!opts.detach + !!new_branch + !!new_branch_force > 1)
 		die(_("options '%s', '%s', and '%s' cannot be used together"), "-b", "-B", "--detach");
 	if (lock_reason && !keep_locked)
@@ -584,7 +642,7 @@ static int add(int ac, const char **av, const char *prefix)
 		opts.keep_locked = _("added with --lock");
 
 	if (ac < 1 || ac > 2)
-		usage_with_options(worktree_usage, options);
+		usage_with_options(git_worktree_add_usage, options);
 
 	path = prefix_filename(prefix, av[0]);
 	branch = ac < 2 ? "HEAD" : av[1];
@@ -772,9 +830,9 @@ static int list(int ac, const char **av, const char *prefix)
 	};
 
 	expire = TIME_MAX;
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_list_usage, 0);
 	if (ac)
-		usage_with_options(worktree_usage, options);
+		usage_with_options(git_worktree_list_usage, options);
 	else if (verbose && porcelain)
 		die(_("options '%s' and '%s' cannot be used together"), "--verbose", "--porcelain");
 	else if (!line_terminator && !porcelain)
@@ -811,9 +869,9 @@ static int lock_worktree(int ac, const char **av, const char *prefix)
 	};
 	struct worktree **worktrees, *wt;
 
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_lock_usage, 0);
 	if (ac != 1)
-		usage_with_options(worktree_usage, options);
+		usage_with_options(git_worktree_lock_usage, options);
 
 	worktrees = get_worktrees();
 	wt = find_worktree(worktrees, prefix, av[0]);
@@ -844,9 +902,9 @@ static int unlock_worktree(int ac, const char **av, const char *prefix)
 	struct worktree **worktrees, *wt;
 	int ret;
 
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_unlock_usage, 0);
 	if (ac != 1)
-		usage_with_options(worktree_usage, options);
+		usage_with_options(git_worktree_unlock_usage, options);
 
 	worktrees = get_worktrees();
 	wt = find_worktree(worktrees, prefix, av[0]);
@@ -914,9 +972,10 @@ static int move_worktree(int ac, const char **av, const char *prefix)
 	const char *reason = NULL;
 	char *path;
 
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_move_usage,
+			   0);
 	if (ac != 2)
-		usage_with_options(worktree_usage, options);
+		usage_with_options(git_worktree_move_usage, options);
 
 	path = prefix_filename(prefix, av[1]);
 	strbuf_addstr(&dst, path);
@@ -1042,9 +1101,9 @@ static int remove_worktree(int ac, const char **av, const char *prefix)
 	const char *reason = NULL;
 	int ret = 0;
 
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_remove_usage, 0);
 	if (ac != 1)
-		usage_with_options(worktree_usage, options);
+		usage_with_options(git_worktree_remove_usage, options);
 
 	worktrees = get_worktrees();
 	wt = find_worktree(worktrees, prefix, av[0]);
@@ -1102,7 +1161,7 @@ static int repair(int ac, const char **av, const char *prefix)
 	};
 	int rc = 0;
 
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_repair_usage, 0);
 	p = ac > 0 ? av : self;
 	for (; *p; p++)
 		repair_worktree_at_path(*p, report_repair, &rc);
@@ -1130,6 +1189,6 @@ int cmd_worktree(int ac, const char **av, const char *prefix)
 	if (!prefix)
 		prefix = "";
 
-	ac = parse_options(ac, av, prefix, options, worktree_usage, 0);
+	ac = parse_options(ac, av, prefix, options, git_worktree_usage, 0);
 	return fn(ac, av, prefix);
 }
-- 
2.38.0.rc2.935.g6b421ae1592
Previous: Ævar Arnfjörð BjarmasonNext: Ævar Arnfjörð Bjarmason
Message 149 of 230 in “doc/UX: make txt & -h output more consistent”
  1. 00/34 doc/UX: make txt & -h output more consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  2. 03/34 bundle: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Sep 5, 2022
  3. 02/34 builtin/bundle.c: use \t, not fix indentation 2-SP indentationÆvar Arnfjörð Bjarmason, Sep 5, 2022
  4. 04/34 blame: use a more detailed usage_msg_optf() error on bad -LÆvar Arnfjörð Bjarmason, Sep 5, 2022
  5. 01/34 CodingGuidelines: update and clarify command-line conventionsÆvar Arnfjörð Bjarmason, Sep 5, 2022
  6. Junio C HamanoSep 7, 2022
  7. Ævar Arnfjörð BjarmasonSep 8, 2022
  8. Junio C HamanoSep 8, 2022
  9. 05/34 doc SYNOPSIS: don't use ' for subcommandsÆvar Arnfjörð Bjarmason, Sep 5, 2022
  10. 06/34 doc SYNOPSIS: consistently use ' for commandsÆvar Arnfjörð Bjarmason, Sep 5, 2022
  11. 07/34 doc SYNOPSIS & -h: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Sep 5, 2022
  12. Victoria DyeSep 19, 2022
  13. Ævar Arnfjörð BjarmasonSep 26, 2022
  14. 08/34 built-ins: consistently add "\n" between "usage" and optionsÆvar Arnfjörð Bjarmason, Sep 5, 2022
  15. 10/34 doc txt & -h consistency: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Sep 5, 2022
  16. 09/34 doc txt & -h consistency: word-wrapÆvar Arnfjörð Bjarmason, Sep 5, 2022
  17. 11/34 doc txt & -h consistency: add "-z" to cat-file "-h"Ævar Arnfjörð Bjarmason, Sep 5, 2022
  18. 12/34 doc txt & -h consistency: add missing "]" to bugreport "-h"Ævar Arnfjörð Bjarmason, Sep 5, 2022
  19. 13/34 doc txt & -h consistency: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Sep 5, 2022
  20. 14/34 stash doc SYNOPSIS & -h: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Sep 5, 2022
  21. 16/34 t/helper/test-proc-receive.c: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Sep 5, 2022
  22. 15/34 doc txt & -h consistency: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Sep 5, 2022
  23. 17/34 doc txt & -h consistency: fix mismatching labelsÆvar Arnfjörð Bjarmason, Sep 5, 2022
  24. 18/34 doc txt & -h consistency: add or fix optional "--" syntaxÆvar Arnfjörð Bjarmason, Sep 5, 2022
  25. 21/34 doc txt & -h consistency: make "rerere" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  26. 19/34 doc txt & -h consistency: make output order consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  27. 20/34 doc txt & -h consistency: add missing options and labelsÆvar Arnfjörð Bjarmason, Sep 5, 2022
  28. 22/34 doc txt & -h consistency: make "read-tree" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  29. 23/34 doc txt & -h consistency: make "bundle" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  30. 25/34 doc txt & -h consistency: add missing optionsÆvar Arnfjörð Bjarmason, Sep 5, 2022
  31. 24/34 doc txt & -h consistency: use "git foo" form, not "git-foo"Ævar Arnfjörð Bjarmason, Sep 5, 2022
  32. 26/34 doc txt & -h consistency: make "stash" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  33. 28/34 doc txt & -h consistency: use "[<label>...]" for "zero or more"Ævar Arnfjörð Bjarmason, Sep 5, 2022
  34. 27/34 doc txt & -h consistency: make "annotate" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  35. 32/34 worktree: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Sep 5, 2022
  36. 29/34 doc txt & -h consistency: make "diff-tree" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  37. 34/34 tests: start asserting that *.txt SYNOPSIS matches -h outputÆvar Arnfjörð Bjarmason, Sep 5, 2022
  38. 30/34 doc txt & -h consistency: make "commit" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  39. 33/34 doc txt & -h consistency: make "worktree" consistentÆvar Arnfjörð Bjarmason, Sep 5, 2022
  40. 31/34 reflog doc: list real subcommands up-frontÆvar Arnfjörð Bjarmason, Sep 5, 2022
  41. Victoria DyeSep 19, 2022
  42. Victoria DyeSep 20, 2022
  43. 00/35 doc/UX: make txt & -h output more consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  44. 01/35 CodingGuidelines: update and clarify command-line conventionsÆvar Arnfjörð Bjarmason, Sep 28, 2022
  45. Junio C HamanoSep 28, 2022
  46. Junio C HamanoSep 30, 2022
  47. Ævar Arnfjörð BjarmasonSep 30, 2022
  48. 02/35 builtin/bundle.c: use \t, not fix indentation 2-SP indentationÆvar Arnfjörð Bjarmason, Sep 28, 2022
  49. Eric SunshineSep 28, 2022
  50. 03/35 bundle: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Sep 28, 2022
  51. 04/35 blame: use a more detailed usage_msg_optf() error on bad -LÆvar Arnfjörð Bjarmason, Sep 28, 2022
  52. 07/35 doc SYNOPSIS & -h: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Sep 28, 2022
  53. 05/35 doc SYNOPSIS: don't use ' for subcommandsÆvar Arnfjörð Bjarmason, Sep 28, 2022
  54. 06/35 doc SYNOPSIS: consistently use ' for commandsÆvar Arnfjörð Bjarmason, Sep 28, 2022
  55. 08/35 built-ins: consistently add "\n" between "usage" and optionsÆvar Arnfjörð Bjarmason, Sep 28, 2022
  56. Eric SunshineSep 28, 2022
  57. 09/35 doc txt & -h consistency: word-wrapÆvar Arnfjörð Bjarmason, Sep 28, 2022
  58. 10/35 doc txt & -h consistency: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Sep 28, 2022
  59. 16/35 t/helper/test-proc-receive.c: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Sep 28, 2022
  60. 14/35 stash doc SYNOPSIS & -h: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Sep 28, 2022
  61. 13/35 doc txt & -h consistency: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Sep 28, 2022
  62. 11/35 doc txt & -h consistency: add "-z" to cat-file "-h"Ævar Arnfjörð Bjarmason, Sep 28, 2022
  63. 12/35 doc txt & -h consistency: add missing "]" to bugreport "-h"Ævar Arnfjörð Bjarmason, Sep 28, 2022
  64. 15/35 doc txt & -h consistency: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Sep 28, 2022
  65. 18/35 doc txt & -h consistency: add or fix optional "--" syntaxÆvar Arnfjörð Bjarmason, Sep 28, 2022
  66. 17/35 doc txt & -h consistency: fix mismatching labelsÆvar Arnfjörð Bjarmason, Sep 28, 2022
  67. 19/35 doc txt & -h consistency: make output order consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  68. 20/35 doc txt & -h consistency: add missing options and labelsÆvar Arnfjörð Bjarmason, Sep 28, 2022
  69. Eric SunshineSep 29, 2022
  70. 21/35 doc txt & -h consistency: make "rerere" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  71. 23/35 doc txt & -h consistency: make "bundle" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  72. 22/35 doc txt & -h consistency: make "read-tree" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  73. 27/35 doc txt & -h consistency: make "annotate" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  74. 24/35 doc txt & -h consistency: use "git foo" form, not "git-foo"Ævar Arnfjörð Bjarmason, Sep 28, 2022
  75. 25/35 doc txt & -h consistency: add missing optionsÆvar Arnfjörð Bjarmason, Sep 28, 2022
  76. Eric SunshineSep 29, 2022
  77. 31/35 reflog doc: list real subcommands up-frontÆvar Arnfjörð Bjarmason, Sep 28, 2022
  78. 26/35 doc txt & -h consistency: make "stash" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  79. Eric SunshineSep 29, 2022
  80. 28/35 doc txt & -h consistency: use "[<label>...]" for "zero or more"Ævar Arnfjörð Bjarmason, Sep 28, 2022
  81. 32/35 worktree: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Sep 28, 2022
  82. 33/35 doc txt & -h consistency: make "worktree" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  83. 29/35 doc txt & -h consistency: make "diff-tree" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  84. 35/35 tests: assert consistent whitespace in -h outputÆvar Arnfjörð Bjarmason, Sep 28, 2022
  85. 30/35 doc txt & -h consistency: make "commit" consistentÆvar Arnfjörð Bjarmason, Sep 28, 2022
  86. 34/35 tests: start asserting that *.txt SYNOPSIS matches -h outputÆvar Arnfjörð Bjarmason, Sep 28, 2022
  87. Junio C HamanoSep 28, 2022
  88. Junio C HamanoSep 28, 2022
  89. Ævar Arnfjörð BjarmasonSep 28, 2022
  90. 00/36 doc/UX: make txt & -h output more consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  91. 02/36 builtin/bundle.c: indent with tabsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  92. Junio C HamanoSep 30, 2022
  93. 01/36 CodingGuidelines: update and clarify command-line conventionsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  94. Junio C HamanoSep 30, 2022
  95. 04/36 blame: use a more detailed usage_msg_optf() error on bad -LÆvar Arnfjörð Bjarmason, Sep 30, 2022
  96. Junio C HamanoSep 30, 2022
  97. Ævar Arnfjörð BjarmasonOct 3, 2022
  98. 03/36 bundle: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Sep 30, 2022
  99. Junio C HamanoSep 30, 2022
  100. 05/36 doc SYNOPSIS: don't use ' for subcommandsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  101. Junio C HamanoSep 30, 2022
  102. 06/36 doc SYNOPSIS: consistently use ' for commandsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  103. 07/36 doc SYNOPSIS & -h: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Sep 30, 2022
  104. Junio C HamanoSep 30, 2022
  105. 09/36 doc SYNOPSIS & -h: word-wrapÆvar Arnfjörð Bjarmason, Sep 30, 2022
  106. 08/36 built-ins: consistently add "\n" between "usage" and optionsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  107. Junio C HamanoSep 30, 2022
  108. 10/36 doc txt & -h consistency: word-wrapÆvar Arnfjörð Bjarmason, Sep 30, 2022
  109. 11/36 doc txt & -h consistency: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Sep 30, 2022
  110. Junio C HamanoOct 1, 2022
  111. 12/36 doc txt & -h consistency: add "-z" to cat-file "-h"Ævar Arnfjörð Bjarmason, Sep 30, 2022
  112. 13/36 doc txt & -h consistency: balance unbalanced "[" and "]"Ævar Arnfjörð Bjarmason, Sep 30, 2022
  113. 15/36 stash doc SYNOPSIS & -h: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Sep 30, 2022
  114. 14/36 doc txt & -h consistency: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Sep 30, 2022
  115. Junio C HamanoSep 30, 2022
  116. 16/36 doc txt & -h consistency: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Sep 30, 2022
  117. Junio C HamanoSep 30, 2022
  118. 17/36 t/helper/test-proc-receive.c: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Sep 30, 2022
  119. Junio C HamanoSep 30, 2022
  120. 18/36 doc txt & -h consistency: fix mismatching labelsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  121. Junio C HamanoSep 30, 2022
  122. 19/36 doc txt & -h consistency: add or fix optional "--" syntaxÆvar Arnfjörð Bjarmason, Sep 30, 2022
  123. Junio C HamanoSep 30, 2022
  124. 20/36 doc txt & -h consistency: make output order consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  125. 22/36 doc txt & -h consistency: make "rerere" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  126. Junio C HamanoOct 1, 2022
  127. Ævar Arnfjörð BjarmasonOct 3, 2022
  128. Junio C HamanoOct 3, 2022
  129. Ævar Arnfjörð BjarmasonOct 4, 2022
  130. Junio C HamanoOct 5, 2022
  131. 23/36 doc txt & -h consistency: make "read-tree" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  132. Junio C HamanoOct 1, 2022
  133. 21/36 doc txt & -h consistency: add missing options and labelsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  134. Junio C HamanoOct 1, 2022
  135. Junio C HamanoOct 1, 2022
  136. Junio C HamanoOct 2, 2022
  137. Ævar Arnfjörð BjarmasonOct 4, 2022
  138. 25/36 doc txt & -h consistency: use "git foo" form, not "git-foo"Ævar Arnfjörð Bjarmason, Sep 30, 2022
  139. Junio C HamanoOct 1, 2022
  140. 24/36 doc txt & -h consistency: make "bundle" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  141. Junio C HamanoOct 1, 2022
  142. 26/36 doc txt & -h consistency: add missing optionsÆvar Arnfjörð Bjarmason, Sep 30, 2022
  143. 27/36 doc txt & -h consistency: make "stash" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  144. 28/36 doc txt & -h consistency: make "annotate" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  145. 29/36 doc txt & -h consistency: use "[<label>...]" for "zero or more"Ævar Arnfjörð Bjarmason, Sep 30, 2022
  146. 30/36 doc txt & -h consistency: make "diff-tree" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  147. 31/36 doc txt & -h consistency: make "commit" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  148. 32/36 reflog doc: list real subcommands up-frontÆvar Arnfjörð Bjarmason, Sep 30, 2022
  149. 33/36 worktree: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Sep 30, 2022
  150. 34/36 doc txt & -h consistency: make "worktree" consistentÆvar Arnfjörð Bjarmason, Sep 30, 2022
  151. 35/36 tests: start asserting that *.txt SYNOPSIS matches -h outputÆvar Arnfjörð Bjarmason, Sep 30, 2022
  152. Eric SunshineOct 2, 2022
  153. 36/36 tests: assert consistent whitespace in -h outputÆvar Arnfjörð Bjarmason, Sep 30, 2022
  154. Eric SunshineOct 2, 2022
  155. 00/34 doc/UX: make txt & -h output more consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  156. 01/34 tests: assert *.txt SYNOPSIS and -h outputÆvar Arnfjörð Bjarmason, Oct 4, 2022
  157. 02/34 CodingGuidelines: update and clarify command-line conventionsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  158. 03/34 builtin/bundle.c: indent with tabsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  159. 00/34 doc/UX: make txt & -h output more consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  160. 03/34 builtin/bundle.c: indent with tabsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  161. 01/34 tests: assert *.txt SYNOPSIS and -h outputÆvar Arnfjörð Bjarmason, Oct 13, 2022
  162. 02/34 CodingGuidelines: update and clarify command-line conventionsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  163. 05/34 doc SYNOPSIS: don't use ' for subcommandsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  164. 04/34 bundle: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Oct 13, 2022
  165. 06/34 doc SYNOPSIS: consistently use ' for commandsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  166. 07/34 built-ins: consistently add "\n" between "usage" and optionsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  167. 09/34 doc txt & -h consistency: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Oct 13, 2022
  168. 08/34 doc txt & -h consistency: word-wrapÆvar Arnfjörð Bjarmason, Oct 13, 2022
  169. 13/34 stash doc SYNOPSIS & -h: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Oct 13, 2022
  170. 15/34 doc SYNOPSIS & -h: use "-" to separate words in labels, not "_"Ævar Arnfjörð Bjarmason, Oct 13, 2022
  171. 11/34 doc txt & -h consistency: balance unbalanced "[" and "]"Ævar Arnfjörð Bjarmason, Oct 13, 2022
  172. 10/34 doc txt & -h consistency: add "-z" to cat-file "-h"Ævar Arnfjörð Bjarmason, Oct 13, 2022
  173. 12/34 doc txt & -h consistency: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Oct 13, 2022
  174. 14/34 doc txt & -h consistency: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Oct 13, 2022
  175. 16/34 doc txt & -h consistency: fix mismatching labelsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  176. 17/34 doc txt & -h consistency: add or fix optional "--" syntaxÆvar Arnfjörð Bjarmason, Oct 13, 2022
  177. 19/34 doc txt & -h consistency: add missing options and labelsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  178. 20/34 doc txt & -h consistency: make "rerere" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  179. 24/34 doc txt & -h consistency: add missing optionsÆvar Arnfjörð Bjarmason, Oct 13, 2022
  180. 21/34 doc txt & -h consistency: make "read-tree" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  181. 18/34 doc txt & -h consistency: make output order consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  182. 22/34 doc txt & -h consistency: make "bundle" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  183. 23/34 doc txt & -h consistency: use "git foo" form, not "git-foo"Ævar Arnfjörð Bjarmason, Oct 13, 2022
  184. 26/34 doc txt & -h consistency: make "annotate" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  185. 32/34 doc txt & -h consistency: make "worktree" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  186. 27/34 doc txt & -h consistency: use "[<label>...]" for "zero or more"Ævar Arnfjörð Bjarmason, Oct 13, 2022
  187. 31/34 worktree: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Oct 13, 2022
  188. 33/34 tests: start asserting that *.txt SYNOPSIS matches -h outputÆvar Arnfjörð Bjarmason, Oct 13, 2022
  189. 29/34 doc txt & -h consistency: make "commit" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  190. 30/34 reflog doc: list real subcommands up-frontÆvar Arnfjörð Bjarmason, Oct 13, 2022
  191. 25/34 doc txt & -h consistency: make "stash" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  192. 28/34 doc txt & -h consistency: make "diff-tree" consistentÆvar Arnfjörð Bjarmason, Oct 13, 2022
  193. 34/34 tests: assert consistent whitespace in -h outputÆvar Arnfjörð Bjarmason, Oct 13, 2022
  194. Junio C HamanoOct 13, 2022
  195. 00/34 doc/UX: make txt & -h output more consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  196. 01/34 tests: assert *.txt SYNOPSIS and -h outputÆvar Arnfjörð Bjarmason, Oct 4, 2022
  197. 02/34 CodingGuidelines: update and clarify command-line conventionsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  198. 03/34 builtin/bundle.c: indent with tabsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  199. 04/34 bundle: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Oct 4, 2022
  200. 06/34 doc SYNOPSIS: consistently use ' for commandsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  201. 05/34 doc SYNOPSIS: don't use ' for subcommandsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  202. 07/34 built-ins: consistently add "\n" between "usage" and optionsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  203. 09/34 doc txt & -h consistency: fix incorrect alternates syntaxÆvar Arnfjörð Bjarmason, Oct 4, 2022
  204. 08/34 doc txt & -h consistency: word-wrapÆvar Arnfjörð Bjarmason, Oct 4, 2022
  205. 10/34 doc txt & -h consistency: add "-z" to cat-file "-h"Ævar Arnfjörð Bjarmason, Oct 4, 2022
  206. 11/34 doc txt & -h consistency: balance unbalanced "[" and "]"Ævar Arnfjörð Bjarmason, Oct 4, 2022
  207. 12/34 doc txt & -h consistency: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Oct 4, 2022
  208. 13/34 stash doc SYNOPSIS & -h: correct padding around "[]()"Ævar Arnfjörð Bjarmason, Oct 4, 2022
  209. 14/34 doc txt & -h consistency: use "<options>", not "<options>..."Ævar Arnfjörð Bjarmason, Oct 4, 2022
  210. 15/34 doc SYNOPSIS & -h: use "-" to separate words in labels, not "_"Ævar Arnfjörð Bjarmason, Oct 4, 2022
  211. 17/34 doc txt & -h consistency: add or fix optional "--" syntaxÆvar Arnfjörð Bjarmason, Oct 4, 2022
  212. 16/34 doc txt & -h consistency: fix mismatching labelsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  213. Junio C HamanoOct 4, 2022
  214. 18/34 doc txt & -h consistency: make output order consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  215. 19/34 doc txt & -h consistency: add missing options and labelsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  216. 20/34 doc txt & -h consistency: make "rerere" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  217. 22/34 doc txt & -h consistency: make "bundle" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  218. 21/34 doc txt & -h consistency: make "read-tree" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  219. 23/34 doc txt & -h consistency: use "git foo" form, not "git-foo"Ævar Arnfjörð Bjarmason, Oct 4, 2022
  220. 26/34 doc txt & -h consistency: make "annotate" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  221. 24/34 doc txt & -h consistency: add missing optionsÆvar Arnfjörð Bjarmason, Oct 4, 2022
  222. 27/34 doc txt & -h consistency: use "[<label>...]" for "zero or more"Ævar Arnfjörð Bjarmason, Oct 4, 2022
  223. 25/34 doc txt & -h consistency: make "stash" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  224. 34/34 tests: assert consistent whitespace in -h outputÆvar Arnfjörð Bjarmason, Oct 4, 2022
  225. 29/34 doc txt & -h consistency: make "commit" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  226. 31/34 worktree: define subcommand -h in terms of command -hÆvar Arnfjörð Bjarmason, Oct 4, 2022
  227. 33/34 tests: start asserting that *.txt SYNOPSIS matches -h outputÆvar Arnfjörð Bjarmason, Oct 4, 2022
  228. 28/34 doc txt & -h consistency: make "diff-tree" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022
  229. 30/34 reflog doc: list real subcommands up-frontÆvar Arnfjörð Bjarmason, Oct 4, 2022
  230. 32/34 doc txt & -h consistency: make "worktree" consistentÆvar Arnfjörð Bjarmason, Oct 4, 2022

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.