git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Philippe Blain via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
	"Philip Oakley" <philipoakley@iee.org>,
	"Eric Sunshine" <sunshine@sunshineco.com>,
	"SZEDER Gábor" <szeder.dev@gmail.com>,
	"Philippe Blain" <levraiphilippeblain@gmail.com>
Subject: [PATCH v2 0/3] List all guides in git(1)
Date: Tue, 04 Aug 2020 00:20:56 +0000	[thread overview]
Message-ID: <pull.691.v2.git.1596500459.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.691.git.1596381647.gitgitgadget@gmail.com>

Changes since v1:

 * Incorporated Junio's suggestion to reduce duplication.

v1: This series adds a list of the guides to git(1).

The first commit adds the misssing guides 'gitcredentials' and
'gitremote-helpers' to command-list.txt. The only missing guide after this
change is 'gitweb.conf', but I think this one is obscure anough, and already
linked to in 'gitweb.txt', that it does not matter much.

The second commit drops the usage of 'common' and 'useful' for guides. This
was suggested as one of two ways forward by Duy in [1] but was not commented
on. I'm CC'ing the people that were CC'ed on that message.

The third commit tweaks 'Documentation/cmd-list.perl' so that it also
generates a list of the guides, which gets included in 'git.txt'. I chose to
put this list just after the end of the list of commands.

[1] 
https://lore.kernel.org/git/CACsJy8ADj-bTMYDHxRNLOMppOEdPbVwL49u3XCfNBCmoLLZo+A@mail.gmail.com/

Philippe Blain (3):
  command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers'
  help: drop usage of 'common' and 'useful' for guides
  git.txt: add list of guides

 Documentation/Makefile           |  4 +++-
 Documentation/cmd-list.perl      | 27 ++++++++++++++-------------
 Documentation/git-help.txt       |  6 +++---
 Documentation/git.txt            |  7 +++++++
 Documentation/gitcredentials.txt |  2 +-
 builtin/help.c                   |  2 +-
 command-list.txt                 |  2 ++
 help.c                           |  4 ++--
 help.h                           |  2 +-
 9 files changed, 34 insertions(+), 22 deletions(-)


base-commit: e8ab941b671da6890181aea5b5755d1d9eea24ec
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-691%2Fphil-blain%2Flist-guides-in-git.1-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-691/phil-blain/list-guides-in-git.1-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/691

Range-diff vs v1:

 1:  2bd473e0aa = 1:  2bd473e0aa command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers'
 2:  f49cf08f4f = 2:  f49cf08f4f help: drop usage of 'common' and 'useful' for guides
 3:  9374d80f0c ! 3:  4394bb357b git.txt: add list of guides
     @@ Metadata
       ## Commit message ##
          git.txt: add list of guides
      
     -    Not all guides are mentioned in the 'git(1)' documentation,
     +    Not all man5/man7 guides are mentioned in the 'git(1)' documentation,
          which makes the missing ones somewhat hard to find.
      
     -    Add a list of the guides to git(1).
     +    Add a list of the guides to git(1) by leveraging the existing
     +    `Documentation/cmd-list.perl` script to generate a file `cmds-guide.txt`
     +    which gets included in git.txt.
      
     -    Tweak `Documentation/cmd-list.perl` so that it also generates
     -    a file `cmds-guide.txt` which gets included in git.txt.
     +    Instead of hard-coding the list of command categories in both
     +    `Documentation/Makefile` and `Documentation/cmd-list.perl`, make the
     +    Makefile the authoritative source and tweak `cmd-list.perl` so that it
     +    receives the list of command categories as argument.
      
          Also, do not hard-code the manual section '1'. Instead, use a regex so
          that the manual section is discovered from the first line of each
     @@ Commit message
          This addition was hinted at in 1b81d8cb19 (help: use command-list.txt for
          the source of guides, 2018-05-20).
      
     +    Helped-by: Junio C Hamano <gitster@pobox.com>
          Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
      
     + ## Documentation/Makefile ##
     +@@ Documentation/Makefile: cmds_txt = cmds-ancillaryinterrogators.txt \
     + 	cmds-plumbingmanipulators.txt \
     + 	cmds-synchingrepositories.txt \
     + 	cmds-synchelpers.txt \
     ++	cmds-guide.txt \
     + 	cmds-purehelpers.txt \
     + 	cmds-foreignscminterface.txt
     + 
     +@@ Documentation/Makefile: $(cmds_txt): cmd-list.made
     + 
     + cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
     + 	$(QUIET_GEN)$(RM) $@ && \
     +-	$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
     ++	$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
     + 	date >$@
     + 
     + mergetools_txt = mergetools-diff.txt mergetools-merge.txt
     +
       ## Documentation/cmd-list.perl ##
      @@ Documentation/cmd-list.perl: sub format_one {
       	my ($out, $nameattr) = @_;
     @@ Documentation/cmd-list.perl: sub format_one {
       			print $out "(deprecated) ";
       		}
      @@ Documentation/cmd-list.perl: sub format_one {
     - 		synchingrepositories
     - 		foreignscminterface
     - 		purehelpers
     + 	}
     + }
     + 
     +-while (<>) {
     ++my ($input, @categories) = @ARGV;
     ++
     ++open IN, "<$input";
     ++while (<IN>) {
     + 	last if /^### command list/;
     + }
     + 
     + my %cmds = ();
     +-for (sort <>) {
     ++for (sort <IN>) {
     + 	next if /^#/;
     + 
     + 	chomp;
     +@@ Documentation/cmd-list.perl: sub format_one {
     + 	$attr = '' unless defined $attr;
     + 	push @{$cmds{$cat}}, [$name, " $attr "];
     + }
     ++close IN;
     + 
     +-for my $cat (qw(ancillaryinterrogators
     +-		ancillarymanipulators
     +-		mainporcelain
     +-		plumbinginterrogators
     +-		plumbingmanipulators
     +-		synchingrepositories
     +-		foreignscminterface
     +-		purehelpers
      -		synchelpers)) {
     -+		synchelpers
     -+		guide)) {
     - 	my $out = "cmds-$cat.txt";
     +-	my $out = "cmds-$cat.txt";
     ++for my $out (@categories) {
     ++	my ($cat) = $out =~ /^cmds-(.*)\.txt$/;
       	open O, '>', "$out+" or die "Cannot open output file $out+";
       	for (@{$cmds{$cat}}) {
     + 		format_one(\*O, $_);
      
       ## Documentation/git.txt ##
      @@ Documentation/git.txt: users typically do not use them directly.

-- 
gitgitgadget

  parent reply	other threads:[~2020-08-04  0:21 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-02 15:20 [PATCH 0/3] [RFC] List all guides in git(1) Philippe Blain via GitGitGadget
2020-08-02 15:20 ` [PATCH 1/3] command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers' Philippe Blain via GitGitGadget
2020-08-02 15:20 ` [PATCH 2/3] help: drop usage of 'common' and 'useful' for guides Philippe Blain via GitGitGadget
2020-08-02 15:20 ` [PATCH 3/3] git.txt: add list of guides Philippe Blain via GitGitGadget
2020-08-02 21:44   ` Junio C Hamano
2020-08-02 22:05     ` Junio C Hamano
2020-08-03 14:16       ` Philippe Blain
2020-08-04  0:20 ` Philippe Blain via GitGitGadget [this message]
2020-08-04  0:20   ` [PATCH v2 1/3] command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers' Philippe Blain via GitGitGadget
2020-08-04  0:20   ` [PATCH v2 2/3] help: drop usage of 'common' and 'useful' for guides Philippe Blain via GitGitGadget
2020-08-04  0:20   ` [PATCH v2 3/3] git.txt: add list of guides Philippe Blain via GitGitGadget
2020-08-04  0:26   ` [PATCH v2 0/3] List all guides in git(1) Junio C Hamano
2020-08-04 13:44     ` Philippe Blain
2020-08-05  1:19   ` [PATCH v3 0/4] " Philippe Blain via GitGitGadget
2020-08-05  1:19     ` [PATCH v3 1/4] command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers' Philippe Blain via GitGitGadget
2020-08-05  1:19     ` [PATCH v3 2/4] help: drop usage of 'common' and 'useful' for guides Philippe Blain via GitGitGadget
2020-08-05  1:19     ` [PATCH v3 3/4] Documentation: don't hardcode command categories twice Junio C Hamano via GitGitGadget
2020-08-05  1:19     ` [PATCH v3 4/4] git.txt: add list of guides Philippe Blain via GitGitGadget

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=pull.691.v2.git.1596500459.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=levraiphilippeblain@gmail.com \
    --cc=pclouds@gmail.com \
    --cc=philipoakley@iee.org \
    --cc=sunshine@sunshineco.com \
    --cc=szeder.dev@gmail.com \
    /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).