From: "Sébastien Guimmara" <sebastien.guimmara@gmail.com>
To: git@vger.kernel.org
Subject: Re: [PATCH 1/2] git help: group common commands by theme
Date: Fri, 01 May 2015 17:04:34 +0200 [thread overview]
Message-ID: <55439602.6000906@gmail.com> (raw)
In-Reply-To: <554392E2.8000206@gmail.com>
(My mistake, the patch was in 3 parts, not 4)
Author: Sébastien Guimmara <sebastien.guimmara@gmail.com>
Date: Fri May 1 16:25:53 2015 +0200
generate-cmdlist.sh - Add command group information for common commands
extract the $grp shell variable from command-list.txt (eg:
'common-3_worktree') and add
this value to the output:
before/after:
{"add", N_("Add file contents to the index")}
{"add", N_("Add file contents to the index"), "3_worktree"}
So that when 'git' is called, we can display common commands grouped by
theme instead of a less useful alphabetical order.
diff --git a/generate-cmdlist.sh b/generate-cmdlist.sh
index 9a4c9b9..818b2f3 100755
--- a/generate-cmdlist.sh
+++ b/generate-cmdlist.sh
@@ -4,19 +4,22 @@ echo "/* Automatically generated by $0 */
struct cmdname_help {
char name[16];
char help[80];
+ char group[20];
};
static struct cmdname_help common_cmds[] = {"
-sed -n -e 's/^git-\([^ ]*\)[ ].* common.*/\1/p' command-list.txt |
+sed -n -e 's/^git-\([^ ]*\)[ ].* common-\(.*\)/\1:\2/p'
command-list.txt |
sort |
-while read cmd
+while read line
do
+ cmd=`echo $line | cut -d ':' -f 1`
+ grp=`echo $line | cut -d ':' -f 2`
sed -n '
/^NAME/,/git-'"$cmd"'/H
${
x
- s/.*git-'"$cmd"' - \(.*\)/ {"'"$cmd"'", N_("\1")},/
+ s/.*git-'"$cmd"' - \(.*\)/ {"'"$cmd"'", N_("\1"), "'"$grp"'"},/
p
}' "Documentation/git-$cmd.txt"
done
On 05/01/2015 04:51 PM, Sébastien Guimmara wrote:
> Hello everyone,
> This is my first contribution to an open source project.
> I tackled the issue found here:
> https://git.wiki.kernel.org/index.php/SmallProjectsIdeas#improve_.22git_help.22
> Namely, format the output of 'git help' so that
> the commands are grouped by theme.
> Author: Sébastien Guimmara <sebastien.guimmara@gmail.com>
> Date: Fri May 1 15:48:57 2015 +0200
> command-list.txt - added command groups to common commands
> groups are in the form: 'x_group',
> where x is a number used to order (ascending)
> commands in the displayed help.
> example: git-add mainporcelain common-2_worktree
> diff --git a/command-list.txt b/command-list.txt
> index f1eae08..b0730a2 100644
> --- a/command-list.txt
> +++ b/command-list.txt
> @@ -1,29 +1,29 @@
> # List of known git commands.
> # command name category [deprecated] [common]
> -git-add mainporcelain common
> +git-add mainporcelain common-3_worktree
> git-am mainporcelain
> git-annotate ancillaryinterrogators
> git-apply plumbingmanipulators
> git-archimport foreignscminterface
> git-archive mainporcelain
> -git-bisect mainporcelain common
> +git-bisect mainporcelain common-7_search
> git-blame ancillaryinterrogators
> -git-branch mainporcelain common
> +git-branch mainporcelain common-6_branching
> git-bundle mainporcelain
> git-cat-file plumbinginterrogators
> git-check-attr purehelpers
> git-check-ignore purehelpers
> git-check-mailmap purehelpers
> -git-checkout mainporcelain common
> +git-checkout mainporcelain common-6_branching
> git-checkout-index plumbingmanipulators
> git-check-ref-format purehelpers
> git-cherry ancillaryinterrogators
> git-cherry-pick mainporcelain
> git-citool mainporcelain
> git-clean mainporcelain
> -git-clone mainporcelain common
> +git-clone mainporcelain common-1_init
> git-column purehelpers
> -git-commit mainporcelain common
> +git-commit mainporcelain common-5_history
> git-commit-tree plumbingmanipulators
> git-config ancillarymanipulators
> git-count-objects ancillaryinterrogators
> @@ -35,14 +35,14 @@ git-cvsimport foreignscminterface
> git-cvsserver foreignscminterface
> git-daemon synchingrepositories
> git-describe mainporcelain
> -git-diff mainporcelain common
> +git-diff mainporcelain common-5_history
> git-diff-files plumbinginterrogators
> git-diff-index plumbinginterrogators
> git-diff-tree plumbinginterrogators
> git-difftool ancillaryinterrogators
> git-fast-export ancillarymanipulators
> git-fast-import ancillarymanipulators
> -git-fetch mainporcelain common
> +git-fetch mainporcelain common-4_remote
> git-fetch-pack synchingrepositories
> git-filter-branch ancillarymanipulators
> git-fmt-merge-msg purehelpers
> @@ -51,7 +51,7 @@ git-format-patch mainporcelain
> git-fsck ancillaryinterrogators
> git-gc mainporcelain
> git-get-tar-commit-id ancillaryinterrogators
> -git-grep mainporcelain common
> +git-grep mainporcelain common-7_search
> git-gui mainporcelain
> git-hash-object plumbingmanipulators
> git-help ancillaryinterrogators
> @@ -60,17 +60,17 @@ git-http-fetch synchelpers
> git-http-push synchelpers
> git-imap-send foreignscminterface
> git-index-pack plumbingmanipulators
> -git-init mainporcelain common
> +git-init mainporcelain common-1_init
> git-instaweb ancillaryinterrogators
> git-interpret-trailers purehelpers
> gitk mainporcelain
> -git-log mainporcelain common
> +git-log mainporcelain common-2_info
> git-ls-files plumbinginterrogators
> git-ls-remote plumbinginterrogators
> git-ls-tree plumbinginterrogators
> git-mailinfo purehelpers
> git-mailsplit purehelpers
> -git-merge mainporcelain common
> +git-merge mainporcelain common-6_branching
> git-merge-base plumbinginterrogators
> git-merge-file plumbingmanipulators
> git-merge-index plumbingmanipulators
> @@ -79,7 +79,7 @@ git-mergetool ancillarymanipulators
> git-merge-tree ancillaryinterrogators
> git-mktag plumbingmanipulators
> git-mktree plumbingmanipulators
> -git-mv mainporcelain common
> +git-mv mainporcelain common-3_worktree
> git-name-rev plumbinginterrogators
> git-notes mainporcelain
> git-p4 foreignscminterface
> @@ -90,11 +90,11 @@ git-parse-remote synchelpers
> git-patch-id purehelpers
> git-prune ancillarymanipulators
> git-prune-packed plumbingmanipulators
> -git-pull mainporcelain common
> -git-push mainporcelain common
> +git-pull mainporcelain common-4_remote
> +git-push mainporcelain common-4_remote
> git-quiltimport foreignscminterface
> git-read-tree plumbingmanipulators
> -git-rebase mainporcelain common
> +git-rebase mainporcelain common-5_history
> git-receive-pack synchelpers
> git-reflog ancillarymanipulators
> git-relink ancillarymanipulators
> @@ -103,28 +103,28 @@ git-repack ancillarymanipulators
> git-replace ancillarymanipulators
> git-request-pull foreignscminterface
> git-rerere ancillaryinterrogators
> -git-reset mainporcelain common
> +git-reset mainporcelain common-3_worktree
> git-revert mainporcelain
> git-rev-list plumbinginterrogators
> git-rev-parse ancillaryinterrogators
> -git-rm mainporcelain common
> +git-rm mainporcelain common-3_worktree
> git-send-email foreignscminterface
> git-send-pack synchingrepositories
> git-shell synchelpers
> git-shortlog mainporcelain
> -git-show mainporcelain common
> +git-show mainporcelain common-2_info
> git-show-branch ancillaryinterrogators
> git-show-index plumbinginterrogators
> git-show-ref plumbinginterrogators
> git-sh-i18n purehelpers
> git-sh-setup purehelpers
> git-stash mainporcelain
> -git-status mainporcelain common
> +git-status mainporcelain common-2_info
> git-stripspace purehelpers
> git-submodule mainporcelain
> git-svn foreignscminterface
> git-symbolic-ref plumbingmanipulators
> -git-tag mainporcelain common
> +git-tag mainporcelain common-5_history
> git-unpack-file plumbinginterrogators
> git-unpack-objects plumbingmanipulators
> git-update-index plumbingmanipulators
>
next prev parent reply other threads:[~2015-05-01 15:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-01 14:51 [PATCH 0/3] git help: group common commands by theme Sébastien Guimmara
2015-05-01 15:04 ` Sébastien Guimmara [this message]
2015-05-01 15:12 ` [PATCH 2/2] " Sébastien Guimmara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55439602.6000906@gmail.com \
--to=sebastien.guimmara@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).