From: Frederick Eaton <frederik@ofb.net>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
Eric Sunshine <sunshine@sunshineco.com>,
Jonathan Nieder <jrnieder@gmail.com>,
"Theodore Y. Ts'o" <tytso@mit.edu>,
Frederick Eaton <frederik@ofb.net>
Subject: [PATCH] Prioritize list of commands appearing in git(1), via command-list.txt. Don't invoke 'sort' in Documentation/cmd-list.perl.
Date: Tue, 19 Feb 2019 09:54:13 -0800 [thread overview]
Message-ID: <20190219175413.18292-2-frederik@ofb.net> (raw)
In-Reply-To: <xmqqva8e5dxj.fsf@gitster-ct.c.googlers.com>
Signed-off-by: Frederick Eaton <frederik@ofb.net>
---
Documentation/cmd-list.perl | 2 +-
command-list.txt | 295 +++++++++++++++++++-----------------
2 files changed, 158 insertions(+), 139 deletions(-)
diff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl
index 5aa73cfe45..62c32f58da 100755
--- a/Documentation/cmd-list.perl
+++ b/Documentation/cmd-list.perl
@@ -43,7 +43,7 @@ sub format_one {
}
my %cmds = ();
-for (sort <>) {
+for (<>) {
next if /^#/;
chomp;
diff --git a/command-list.txt b/command-list.txt
index 3a9af104b5..fb088dadea 100644
--- a/command-list.txt
+++ b/command-list.txt
@@ -43,164 +43,183 @@
# specified here, which can only have "guide" attribute and nothing
# else.
#
+# February 2019: This list had been sorted alphabetically but has been
+# reordered to make it easier for people to learn from the main git(1)
+# manual page. The new ordering is according to approximate usefulness
+# / frequency of use / order of use, with some grouping by topic. The
+# idea is to make it possible to read the manual page from beginning
+# to end and see the most important commands first, rather than
+# getting them in alphabetical order - in other words, to make the
+# manual page more like a table of contents and less like an index.
+# Please consider this when adding new commands.
+#
### command list (do not change this line, also do not change alignment)
# command name category [category] [category]
+# From gittutorial
+git-help ancillaryinterrogators complete
+git-config ancillarymanipulators complete
+git-clone mainporcelain init
+git-init mainporcelain init
git-add mainporcelain worktree
-git-am mainporcelain
-git-annotate ancillaryinterrogators
-git-apply plumbingmanipulators complete
-git-archimport foreignscminterface
-git-archive mainporcelain
-git-bisect mainporcelain info
-git-blame ancillaryinterrogators complete
+git-commit mainporcelain history
+git-diff mainporcelain history
+git-status mainporcelain info
+git-log mainporcelain info
git-branch mainporcelain history
-git-bundle mainporcelain
-git-cat-file plumbinginterrogators
-git-check-attr purehelpers
-git-check-ignore purehelpers
-git-check-mailmap purehelpers
git-checkout mainporcelain history
+git-merge mainporcelain history
+gitk mainporcelain
+git-pull mainporcelain remote
+git-fetch mainporcelain remote
+# From tutorial NEXT STEPS
+git-format-patch mainporcelain
+git-bisect mainporcelain info
+giteveryday guide
+gitworkflows guide
+gitcvs-migration guide
+# From giteveryday
+git-reset mainporcelain worktree
+git-rebase mainporcelain history
+git-tag mainporcelain history
+git-push mainporcelain remote
+git-send-email foreignscminterface complete
+git-request-pull foreignscminterface complete
+git-am mainporcelain
+git-revert mainporcelain
+git-daemon synchingrepositories
+git-shell synchelpers
+git-http-backend synchingrepositories
+gitweb ancillaryinterrogators
+# From user feedback
+git-grep mainporcelain info
+git-show mainporcelain info
+git-submodule mainporcelain
+git-cherry-pick mainporcelain
+git-clean mainporcelain
+# From gittutorial-2
+git-cat-file plumbinginterrogators
+git-ls-tree plumbinginterrogators
+git-ls-files plumbinginterrogators
+gitcore-tutorial guide
+gitglossary guide
+# From gitcore-tutorial
+git-update-index plumbingmanipulators
+git-diff-files plumbinginterrogators
+git-write-tree plumbingmanipulators
+git-read-tree plumbingmanipulators
git-checkout-index plumbingmanipulators
-git-check-ref-format purehelpers
+git-show-branch ancillaryinterrogators complete
+git-name-rev plumbinginterrogators
+git-merge-index plumbingmanipulators
+git-repack ancillarymanipulators complete
+git-prune-packed plumbingmanipulators
+git-update-server-info synchingrepositories
+git-prune ancillarymanipulators
git-cherry plumbinginterrogators complete
-git-cherry-pick mainporcelain
+# Guides, reordered
+gittutorial guide
+gittutorial-2 guide
+gitrevisions guide
+gitignore guide
+gitcli guide
+gitrepository-layout guide
+gitdiffcore guide
+gitmodules guide
+githooks guide
+gitnamespaces guide
+gitattributes guide
+# All other commands, sorted by man page category and then by
+# approximate priority
+git-stash mainporcelain
+git-rm mainporcelain worktree
+git-mv mainporcelain worktree
+git-gui mainporcelain
git-citool mainporcelain
-git-clean mainporcelain
-git-clone mainporcelain init
-git-column purehelpers
-git-commit mainporcelain history
-git-commit-graph plumbingmanipulators
-git-commit-tree plumbingmanipulators
-git-config ancillarymanipulators complete
-git-count-objects ancillaryinterrogators
-git-credential purehelpers
-git-credential-cache purehelpers
-git-credential-store purehelpers
-git-cvsexportcommit foreignscminterface
-git-cvsimport foreignscminterface
-git-cvsserver foreignscminterface
-git-daemon synchingrepositories
+git-archive mainporcelain
+git-shortlog mainporcelain
git-describe mainporcelain
-git-diff mainporcelain history
-git-diff-files plumbinginterrogators
-git-diff-index plumbinginterrogators
-git-diff-tree plumbinginterrogators
-git-difftool ancillaryinterrogators complete
+git-gc mainporcelain
+git-notes mainporcelain
+git-worktree mainporcelain
+git-bundle mainporcelain
+git-range-diff mainporcelain
+git-stage complete
+git-reflog ancillarymanipulators complete
+git-remote ancillarymanipulators complete
+git-mergetool ancillarymanipulators complete
+git-filter-branch ancillarymanipulators
+git-replace ancillarymanipulators complete
git-fast-export ancillarymanipulators
git-fast-import ancillarymanipulators
-git-fetch mainporcelain remote
-git-fetch-pack synchingrepositories
-git-filter-branch ancillarymanipulators
-git-fmt-merge-msg purehelpers
-git-for-each-ref plumbinginterrogators
-git-format-patch mainporcelain
-git-fsck ancillaryinterrogators complete
-git-gc mainporcelain
-git-get-tar-commit-id plumbinginterrogators
-git-grep mainporcelain info
-git-gui mainporcelain
-git-hash-object plumbingmanipulators
-git-help ancillaryinterrogators complete
-git-http-backend synchingrepositories
-git-http-fetch synchelpers
-git-http-push synchelpers
+git-pack-refs ancillarymanipulators
+git-cvsimport foreignscminterface
+git-cvsserver foreignscminterface
+git-cvsexportcommit foreignscminterface
+git-svn foreignscminterface
+git-p4 foreignscminterface
+git-quiltimport foreignscminterface
+git-archimport foreignscminterface
git-imap-send foreignscminterface
-git-index-pack plumbingmanipulators
-git-init mainporcelain init
-git-instaweb ancillaryinterrogators complete
-git-interpret-trailers purehelpers
-gitk mainporcelain
-git-log mainporcelain info
-git-ls-files plumbinginterrogators
-git-ls-remote plumbinginterrogators
-git-ls-tree plumbinginterrogators
-git-mailinfo purehelpers
-git-mailsplit purehelpers
-git-merge mainporcelain history
-git-merge-base plumbinginterrogators
+git-apply plumbingmanipulators complete
git-merge-file plumbingmanipulators
-git-merge-index plumbingmanipulators
-git-merge-one-file purehelpers
-git-mergetool ancillarymanipulators complete
-git-merge-tree ancillaryinterrogators
-git-multi-pack-index plumbingmanipulators
git-mktag plumbingmanipulators
+git-hash-object plumbingmanipulators
+git-update-ref plumbingmanipulators
+git-symbolic-ref plumbingmanipulators
+git-commit-tree plumbingmanipulators
+git-commit-graph plumbingmanipulators
git-mktree plumbingmanipulators
-git-mv mainporcelain worktree
-git-name-rev plumbinginterrogators
-git-notes mainporcelain
-git-p4 foreignscminterface
git-pack-objects plumbingmanipulators
-git-pack-redundant plumbinginterrogators
-git-pack-refs ancillarymanipulators
+git-unpack-objects plumbingmanipulators
+git-index-pack plumbingmanipulators
+git-multi-pack-index plumbingmanipulators
+git-blame ancillaryinterrogators complete
+git-annotate ancillaryinterrogators
+git-instaweb ancillaryinterrogators complete
+git-rerere ancillaryinterrogators
+git-fsck ancillaryinterrogators complete
+git-whatchanged ancillaryinterrogators complete
+git-difftool ancillaryinterrogators complete
+git-merge-tree ancillaryinterrogators
+git-count-objects ancillaryinterrogators
+git-verify-commit ancillaryinterrogators
+git-verify-tag ancillaryinterrogators
+git-send-pack synchingrepositories
+git-fetch-pack synchingrepositories
git-parse-remote synchelpers
-git-patch-id purehelpers
-git-prune ancillarymanipulators
-git-prune-packed plumbingmanipulators
-git-pull mainporcelain remote
-git-push mainporcelain remote
-git-quiltimport foreignscminterface
-git-range-diff mainporcelain
-git-read-tree plumbingmanipulators
-git-rebase mainporcelain history
git-receive-pack synchelpers
-git-reflog ancillarymanipulators complete
-git-remote ancillarymanipulators complete
-git-repack ancillarymanipulators complete
-git-replace ancillarymanipulators complete
-git-request-pull foreignscminterface complete
-git-rerere ancillaryinterrogators
-git-reset mainporcelain worktree
-git-revert mainporcelain
+git-upload-pack synchelpers
+git-upload-archive synchelpers
+git-http-fetch synchelpers
+git-http-push synchelpers
+git-var plumbinginterrogators
git-rev-list plumbinginterrogators
git-rev-parse plumbinginterrogators
-git-rm mainporcelain worktree
-git-send-email foreignscminterface complete
-git-send-pack synchingrepositories
-git-shell synchelpers
-git-shortlog mainporcelain
-git-show mainporcelain info
-git-show-branch ancillaryinterrogators complete
-git-show-index plumbinginterrogators
+git-for-each-ref plumbinginterrogators
git-show-ref plumbinginterrogators
-git-sh-i18n purehelpers
+git-ls-remote plumbinginterrogators
+git-diff-tree plumbinginterrogators
+git-diff-index plumbinginterrogators
+git-merge-base plumbinginterrogators
+git-verify-pack plumbinginterrogators
+git-pack-redundant plumbinginterrogators
+git-unpack-file plumbinginterrogators
+git-show-index plumbinginterrogators
+git-get-tar-commit-id plumbinginterrogators
+git-merge-one-file purehelpers
git-sh-setup purehelpers
-git-stash mainporcelain
-git-stage complete
-git-status mainporcelain info
+git-check-ref-format purehelpers
+git-check-ignore purehelpers
+git-check-attr purehelpers
+git-credential purehelpers
+git-credential-cache purehelpers
+git-credential-store purehelpers
+git-fmt-merge-msg purehelpers
+git-check-mailmap purehelpers
+git-mailsplit purehelpers
+git-mailinfo purehelpers
+git-interpret-trailers purehelpers
+git-column purehelpers
git-stripspace purehelpers
-git-submodule mainporcelain
-git-svn foreignscminterface
-git-symbolic-ref plumbingmanipulators
-git-tag mainporcelain history
-git-unpack-file plumbinginterrogators
-git-unpack-objects plumbingmanipulators
-git-update-index plumbingmanipulators
-git-update-ref plumbingmanipulators
-git-update-server-info synchingrepositories
-git-upload-archive synchelpers
-git-upload-pack synchelpers
-git-var plumbinginterrogators
-git-verify-commit ancillaryinterrogators
-git-verify-pack plumbinginterrogators
-git-verify-tag ancillaryinterrogators
-gitweb ancillaryinterrogators
-git-whatchanged ancillaryinterrogators complete
-git-worktree mainporcelain
-git-write-tree plumbingmanipulators
-gitattributes guide
-gitcli guide
-gitcore-tutorial guide
-gitcvs-migration guide
-gitdiffcore guide
-giteveryday guide
-gitglossary guide
-githooks guide
-gitignore guide
-gitmodules guide
-gitnamespaces guide
-gitrepository-layout guide
-gitrevisions guide
-gittutorial-2 guide
-gittutorial guide
-gitworkflows guide
+git-patch-id purehelpers
+git-sh-i18n purehelpers
--
2.20.1
next prev parent reply other threads:[~2019-02-19 18:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-06 20:04 de-alphabetizing the documentation frederik
2018-07-06 21:16 ` Jonathan Nieder
2018-07-06 21:18 ` Jonathan Nieder
2018-07-06 23:21 ` frederik
2018-07-06 23:47 ` Jonathan Nieder
2018-07-08 1:09 ` frederik
2018-07-24 19:52 ` frederik
2018-07-24 21:11 ` Jonathan Nieder
2018-08-11 2:30 ` frederik
2018-08-13 18:17 ` Junio C Hamano
2019-02-19 17:54 ` [PATCH 0/1] de-alphabetize command list Frederick Eaton
2019-02-21 18:05 ` frederik
2019-03-11 9:04 ` frederik
2019-03-11 14:38 ` Jacob Keller
2019-02-19 17:54 ` Frederick Eaton [this message]
2018-07-07 4:25 ` de-alphabetizing the documentation Theodore Y. Ts'o
2018-07-06 21:32 ` Eric Sunshine
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
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190219175413.18292-2-frederik@ofb.net \
--to=frederik@ofb.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=sunshine@sunshineco.com \
--cc=tytso@mit.edu \
/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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).