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

[RFC PATCH 0/24] Documentation: refactor config variable descriptions

From
Thomas Rast <trast@student.ethz.ch>
Date
Jul 26, 2010, 18:48 UTC
Message-ID
<cover.1280169048.git.trast@student.ethz.ch>
This little series is a bit of a spinoff from
  http://article.gmane.org/gmane.comp.version-control.git/146696
and
  http://article.gmane.org/gmane.comp.version-control.git/145139

Since I didn't want to spam the list with 24 RFC emails, I squashed all the manpage-specific patches into one for this submission. You can find the originals at

  git://repo.or.cz/git/trast.git t/doc-config-extraction  
Judging from its size it's quite possible that
  [1/24] Documentation: Move variables from config.txt to separate file

won't make it through to the list, either, and -M doesn't help, so you may have to look it up at the above repository too.

Work so far:

I moved the variables from config.txt and merge-config.txt to a new file, and made a little helper script that expands @@CONFIG(key)@@ in the asciidoc files, driven by the Makefile of course.

I then went over the manpages in the "Main Porcelain Commands" list of git(1) and either (easy case) added a "CONFIGURATION" section with the relevant variables or (hard case) tried to refactor the descriptions so that they are only kept in one place.

Ævar kindly rewrote the Perl script in a more readable and error-safe style, which I squashed for this posting. It's still a separate patch at the above link, too.

Further directions:

I'm a bit hesitant to go in Peff's suggested direction of outright removing all variables from git-config(1). I would prefer to both have the short list and group them by some category system, if that happens to work out. Perhaps the categorized list can eventually be removed once we can verify that all variables are documented in another manpage.

Known omissions/todos:
* git-gc has an elaborate prose section to the same effect that I
  wasn't quite ready to tear apart yet
* git-notes has excellent custom descriptions from Jonathan's series
  that I didn't want to refactor 
* The description of format.pretty in git-log.txt is unsatisfactory
* check-docs or some other make target should verify that no manpage
  links to itself
Thomas Rast (3):
  Documentation: Move variables from config.txt to separate file
  Documentation: Add variable-substitution script
  Documentation: include configuration options in manpages
 Documentation/Makefile             |   14 +-
 Documentation/config-vars.txt      | 1761 ++++++++++++++++++++++++++++++++++++
 Documentation/config.txt           | 1693 +----------------------------------
 Documentation/git-add.txt          |    6 +-
 Documentation/git-am.txt           |   18 +
 Documentation/git-archive.txt      |    8 +-
 Documentation/git-branch.txt       |    8 +
 Documentation/git-checkout.txt     |    8 +
 Documentation/git-clean.txt        |    6 +
 Documentation/git-commit.txt       |    7 +
 Documentation/git-diff.txt         |   12 +
 Documentation/git-fetch.txt        |   12 +
 Documentation/git-format-patch.txt |   22 +-
 Documentation/git-grep.txt         |    7 +
 Documentation/git-gui.txt          |   16 +
 Documentation/git-log.txt          |   38 +-
 Documentation/git-merge.txt        |   15 +-
 Documentation/git-pull.txt         |   14 +
 Documentation/git-push.txt         |   19 +
 Documentation/git-rebase.txt       |    5 +-
 Documentation/git-shortlog.txt     |    6 +
 Documentation/git-status.txt       |   18 +-
 Documentation/git-submodule.txt    |    8 +
 Documentation/git-tag.txt          |   11 +-
 Documentation/gitk.txt             |    8 +
 Documentation/merge-config.txt     |   49 -
 Documentation/subst-config.perl    |   74 ++
 27 files changed, 2042 insertions(+), 1821 deletions(-)
 create mode 100644 Documentation/config-vars.txt
 delete mode 100644 Documentation/merge-config.txt
 create mode 100755 Documentation/subst-config.perl
-- 
1.7.2.349.gd5452
Next: Thomas Rast
Message 1 of 14 in “Documentation: refactor config variable descriptions”
  1. 0/24 Documentation: refactor config variable descriptionsThomas Rast, Jul 26, 2010
  2. 2/24 Documentation: Add variable-substitution scriptThomas Rast, Jul 26, 2010
  3. Jonathan NiederJul 26, 2010
  4. Ævar Arnfjörð BjarmasonJul 26, 2010
  5. Jakub NarebskiJul 26, 2010
  6. Ævar Arnfjörð BjarmasonJul 26, 2010
  7. 24/24 Documentation: include configuration options in manpagesThomas Rast, Jul 26, 2010
  8. Jonathan NiederJul 26, 2010
  9. Ævar Arnfjörð BjarmasonJul 26, 2010
  10. Ævar Arnfjörð BjarmasonJul 26, 2010
  11. Jonathan NiederJul 26, 2010
  12. Ævar Arnfjörð BjarmasonJul 26, 2010
  13. Sverre RabbelierJul 27, 2010
  14. Junio C HamanoJul 28, 2010

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.