{"thread":{"id":"24937","subject":"[RFC PATCH] git-help: find library man pages again","startedAt":"2010-09-01T16:02:14Z","lastAt":"2010-09-09T19:58:08Z","messageCount":7,"participants":["Michael J Gruber","Jonathan Nieder","Jeff King"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"149569","messageId":"0b8d803551f495e2494b43c6d95163daca82f62b.1283356852.git.git@drmicha.warpmail.net","threadId":"24937","inReplyTo":null,"subject":"[RFC PATCH] git-help: find library man pages again","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-09-01T16:02:14Z","receivedAt":"2010-09-01T16:02:14Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"46bac90 (Do not install shell libraries executable, 2010-01-31) changed\nthe executable bits of shell variables in order to avoid false reports\nfrom valgrind. As a side effect, this inhibits \"git help\" from finding\nthe corresponding man pages because list_command_in_dir() (called by\nload_command_list()) checks that bit.\n\nShort of reverting that and appeasing  valgrind in another way, make\nlist_command_in_dir() ignore the executable bit when looking in the exec\ndir, so that the following man pages are found again by \"git-help\":\n\ngit-mergetool--lib\ngit-parse-remote\ngit-sh-setup\n\nSigned-off-by: Michael J Gruber <git@drmicha.warpmail.net>\n---\nNotes:\n    This does not help with the man page for git-remote-helpers which is installed\n    but not found by git-help either. That is a different issue, though.\n\n help.c |   11 ++++++-----\n 1 files changed, 6 insertions(+), 5 deletions(-)\n\ndiff --git a/help.c b/help.c\nindex 7f4928e..451899c 100644\n--- a/help.c\n+++ b/help.c\n@@ -146,8 +146,9 @@ static int is_executable(const char *name)\n }\n \n static void list_commands_in_dir(struct cmdnames *cmds,\n-\t\t\t\t\t const char *path,\n-\t\t\t\t\t const char *prefix)\n+\t\t\t\t\tconst char *path,\n+\t\t\t\t\tconst char *prefix,\n+\t\t\t\t\tint checkexec)\n {\n \tint prefix_len;\n \tDIR *dir = opendir(path);\n@@ -172,7 +173,7 @@ static void list_commands_in_dir(struct cmdnames *cmds,\n \n \t\tstrbuf_setlen(&buf, len);\n \t\tstrbuf_addstr(&buf, de->d_name);\n-\t\tif (!is_executable(buf.buf))\n+\t\tif (checkexec && !is_executable(buf.buf))\n \t\t\tcontinue;\n \n \t\tentlen = strlen(de->d_name) - prefix_len;\n@@ -193,7 +194,7 @@ void load_command_list(const char *prefix,\n \tconst char *exec_path = git_exec_path();\n \n \tif (exec_path) {\n-\t\tlist_commands_in_dir(main_cmds, exec_path, prefix);\n+\t\tlist_commands_in_dir(main_cmds, exec_path, prefix, 0);\n \t\tqsort(main_cmds->names, main_cmds->cnt,\n \t\t      sizeof(*main_cmds->names), cmdname_compare);\n \t\tuniq(main_cmds);\n@@ -206,7 +207,7 @@ void load_command_list(const char *prefix,\n \t\t\tif ((colon = strchr(path, PATH_SEP)))\n \t\t\t\t*colon = 0;\n \t\t\tif (!exec_path || strcmp(path, exec_path))\n-\t\t\t\tlist_commands_in_dir(other_cmds, path, prefix);\n+\t\t\t\tlist_commands_in_dir(other_cmds, path, prefix, 1);\n \n \t\t\tif (!colon)\n \t\t\t\tbreak;\n-- \n1.7.2.2.540.g9d56f.dirty\n"},{"id":"149570","messageId":"4C7E7A29.9090003@drmicha.warpmail.net","threadId":"24937","inReplyTo":"0b8d803551f495e2494b43c6d95163daca82f62b.1283356852.git.git@drmicha.warpmail.net","subject":"Re: [RFC PATCH] git-help: find library man pages again","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-09-01T16:07:05Z","receivedAt":"2010-09-01T16:07:05Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Michael J Gruber venit, vidit, dixit 01.09.2010 18:02:\n> 46bac90 (Do not install shell libraries executable, 2010-01-31) changed\n> the executable bits of shell variables in order to avoid false reports\n\nUmpf, s/variables/libraries/\n"},{"id":"149623","messageId":"20100902081646.GK29713@burratino","threadId":"24937","inReplyTo":"0b8d803551f495e2494b43c6d95163daca82f62b.1283356852.git.git@drmicha.warpmail.net","subject":"Re: [RFC PATCH] git-help: find library man pages again","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-09-02T08:16:46Z","receivedAt":"2010-09-02T08:16:46Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Michael J Gruber wrote:\n\n> 46bac90 (Do not install shell libraries executable, 2010-01-31) changed\n> the executable bits of shell variables in order to avoid false reports\n> from valgrind. As a side effect, this inhibits \"git help\" from finding\n> the corresponding man pages because list_command_in_dir() (called by\n> load_command_list()) checks that bit.\n\nHmm.  Thanks for noticing.\n\nIsn't the main purpose of that check to populate the list of commands\nproduced by \"git help -a\"?\n\n> make\n> list_command_in_dir() ignore the executable bit when looking in the exec\n> dir, so that the following man pages are found again by \"git-help\":\n> \n> git-mergetool--lib\n> git-parse-remote\n> git-sh-setup\n[...]\n>     This does not help with the man page for git-remote-helpers which is installed\n>     but not found by git-help either. That is a different issue, though.\n\nTherefore this seems wrong to me (except as a backward-compatibility\nmeasure).  i.e. I think that is the same issue after all and that\nbuiltin/help.c ought to learn another heuristic than is_git_command().\n\nHow about something like this?\n\nSigned-off-by: Jonathan Nieder <jrnieder@gmail.com>\n---\n Documentation/Makefile                   |   10 +++++-----\n Documentation/diff-options.txt           |    6 +++---\n Documentation/git-add.txt                |    2 +-\n Documentation/git-cat-file.txt           |    2 +-\n Documentation/git-check-ref-format.txt   |    2 +-\n Documentation/git-cherry-pick.txt        |    2 +-\n Documentation/git-cli.txt                |    6 +++---\n Documentation/git-commit.txt             |    4 ++--\n Documentation/git-core-tutorial.txt      |   20 ++++++++++----------\n Documentation/git-cvs-migration.txt      |   22 +++++++++++-----------\n Documentation/git-cvsimport.txt          |    2 +-\n Documentation/git-cvsserver.txt          |    2 +-\n Documentation/git-diff.txt               |    4 ++--\n Documentation/git-diffcore.txt           |    8 ++++----\n Documentation/git-fast-import.txt        |    2 +-\n Documentation/git-format-patch.txt       |    2 +-\n Documentation/git-gc.txt                 |    2 +-\n Documentation/git-glossary.txt           |   12 ++++++------\n Documentation/git-hooks.txt              |    6 +++---\n Documentation/git-log.txt                |    2 +-\n Documentation/git-push.txt               |    2 +-\n Documentation/git-rebase.txt             |    2 +-\n Documentation/git-reflog.txt             |    2 +-\n Documentation/git-repository-layout.txt  |   10 +++++-----\n Documentation/git-rev-parse.txt          |    2 +-\n Documentation/git-revert.txt             |    2 +-\n Documentation/git-revisions.txt          |    6 +++---\n Documentation/git-show-branch.txt        |    2 +-\n Documentation/git-show-ref.txt           |    2 +-\n Documentation/git-show.txt               |    2 +-\n Documentation/git-tutorial-2.txt         |   24 ++++++++++++------------\n Documentation/git-tutorial.txt           |   24 ++++++++++++------------\n Documentation/git-update-server-info.txt |    2 +-\n Documentation/git-workflows.txt          |    8 ++++----\n Documentation/git.txt                    |   28 ++++++++++++++--------------\n Documentation/gitk.txt                   |    2 +-\n Documentation/pt_BR/gittutorial.txt      |   14 +++++++-------\n Documentation/user-manual.txt            |   14 +++++++-------\n Makefile                                 |   22 +++++++++++-----------\n builtin/help.c                           |    4 +---\n 40 files changed, 145 insertions(+), 147 deletions(-)\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex a4c4063..e0ca3dd 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -2,11 +2,11 @@ MAN1_TXT= \\\n \t$(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \\\n \t\t$(wildcard git-*.txt)) \\\n \tgitk.txt git.txt\n-MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt githooks.txt \\\n-\tgitrepository-layout.txt\n-MAN7_TXT=gitcli.txt gittutorial.txt gittutorial-2.txt \\\n-\tgitcvs-migration.txt gitcore-tutorial.txt gitglossary.txt \\\n-\tgitdiffcore.txt gitrevisions.txt gitworkflows.txt\n+MAN5_TXT=gitattributes.txt gitignore.txt gitmodules.txt git-hooks.txt \\\n+\tgit-repository-layout.txt\n+MAN7_TXT=git-cli.txt git-tutorial.txt git-tutorial-2.txt \\\n+\tgit-cvs-migration.txt git-core-tutorial.txt git-glossary.txt \\\n+\tgit-diffcore.txt git-revisions.txt git-workflows.txt\n \n MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)\n MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT))\ndiff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt\nindex 4656a97..c483470 100644\n--- a/Documentation/diff-options.txt\n+++ b/Documentation/diff-options.txt\n@@ -168,7 +168,7 @@ A match that contains a newline is silently truncated(!) at the\n newline.\n +\n The regex can also be set via a diff driver or configuration option, see\n-linkgit:gitattributes[1] or linkgit:git-config[1].  Giving it explicitly\n+linkgit:gitattributes[5] or linkgit:git-config[1].  Giving it explicitly\n overrides any diff driver or configuration setting.  Diff drivers\n override configuration settings.\n \n@@ -282,7 +282,7 @@ ifndef::git-format-patch[]\n \tLook for differences that introduce or remove an instance of\n \t<string>. Note that this is different than the string simply\n \tappearing in diff output; see the 'pickaxe' entry in\n-\tlinkgit:gitdiffcore[7] for more details.\n+\tlinkgit:git-diffcore[7] for more details.\n \n --pickaxe-all::\n \tWhen `-S` finds a change, show all the changes in that\n@@ -376,4 +376,4 @@ endif::git-format-patch[]\n \tDo not show any source or destination prefix.\n \n For more detailed explanation on these common options, see also\n-linkgit:gitdiffcore[7].\n+linkgit:git-diffcore[7].\ndiff --git a/Documentation/git-add.txt b/Documentation/git-add.txt\nindex e22a62f..ebe533a 100644\n--- a/Documentation/git-add.txt\n+++ b/Documentation/git-add.txt\n@@ -151,7 +151,7 @@ Configuration\n The optional configuration variable `core.excludesfile` indicates a path to a\n file containing patterns of file names to exclude from git-add, similar to\n $GIT_DIR/info/exclude.  Patterns in the exclude file are used in addition to\n-those in info/exclude.  See linkgit:gitrepository-layout[5].\n+those in info/exclude.  See linkgit:git-repository-layout[5].\n \n \n EXAMPLES\ndiff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt\nindex a3f56b0..561414f 100644\n--- a/Documentation/git-cat-file.txt\n+++ b/Documentation/git-cat-file.txt\n@@ -27,7 +27,7 @@ OPTIONS\n <object>::\n \tThe name of the object to show.\n \tFor a more complete list of ways to spell object names, see\n-\tthe \"SPECIFYING REVISIONS\" section in linkgit:gitrevisions[1].\n+\tthe \"SPECIFYING REVISIONS\" section in linkgit:git-revisions[7].\n \n -t::\n \tInstead of the content, show the object type identified by\ndiff --git a/Documentation/git-check-ref-format.txt b/Documentation/git-check-ref-format.txt\nindex f5c2e06..a1d2e0f 100644\n--- a/Documentation/git-check-ref-format.txt\n+++ b/Documentation/git-check-ref-format.txt\n@@ -49,7 +49,7 @@ git imposes the following rules on how references are named:\n These rules make it easy for shell script based tools to parse\n reference names, pathname expansion by the shell when a reference name is used\n unquoted (by mistake), and also avoids ambiguities in certain\n-reference name expressions (see linkgit:gitrevisions[1]):\n+reference name expressions (see linkgit:git-revisions[7]):\n \n . A double-dot `..` is often used as in `ref1..ref2`, and in some\n   contexts this notation means `{caret}ref1 ref2` (i.e. not in\ndiff --git a/Documentation/git-cherry-pick.txt b/Documentation/git-cherry-pick.txt\nindex 2cef579..2167c46 100644\n--- a/Documentation/git-cherry-pick.txt\n+++ b/Documentation/git-cherry-pick.txt\n@@ -21,7 +21,7 @@ OPTIONS\n <commit>...::\n \tCommits to cherry-pick.\n \tFor a more complete list of ways to spell commits, see\n-\tlinkgit:gitrevisions[1].\n+\tlinkgit:git-revisions[7].\n \tSets of commits can be passed but no traversal is done by\n \tdefault, as if the '--no-walk' option was specified, see\n \tlinkgit:git-rev-list[1].\ndiff --git a/Documentation/git-cli.txt b/Documentation/git-cli.txt\nindex 6928724..c490fc6 100644\n--- a/Documentation/git-cli.txt\n+++ b/Documentation/git-cli.txt\n@@ -1,9 +1,9 @@\n-gitcli(7)\n-=========\n+git-cli(7)\n+==========\n \n NAME\n ----\n-gitcli - git command line interface and conventions\n+git-cli - git command line interface and conventions\n \n SYNOPSIS\n --------\ndiff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt\nindex 42fb1f5..ca31b38 100644\n--- a/Documentation/git-commit.txt\n+++ b/Documentation/git-commit.txt\n@@ -124,7 +124,7 @@ OPTIONS\n -n::\n --no-verify::\n \tThis option bypasses the pre-commit and commit-msg hooks.\n-\tSee also linkgit:githooks[5].\n+\tSee also linkgit:git-hooks[5].\n \n --allow-empty::\n \tUsually recording a commit that has the exact same tree as its\n@@ -371,7 +371,7 @@ order).  See linkgit:git-var[1] for details.\n HOOKS\n -----\n This command can run `commit-msg`, `prepare-commit-msg`, `pre-commit`,\n-and `post-commit` hooks.  See linkgit:githooks[5] for more\n+and `post-commit` hooks.  See linkgit:git-hooks[5] for more\n information.\n \n \ndiff --git a/Documentation/git-core-tutorial.txt b/Documentation/git-core-tutorial.txt\nindex ed3ddc9..0908438 100644\n--- a/Documentation/git-core-tutorial.txt\n+++ b/Documentation/git-core-tutorial.txt\n@@ -1,9 +1,9 @@\n-gitcore-tutorial(7)\n-===================\n+git-core-tutorial(7)\n+====================\n \n NAME\n ----\n-gitcore-tutorial - A git core tutorial for developers\n+git-core-tutorial - A git core tutorial for developers\n \n SYNOPSIS\n --------\n@@ -16,7 +16,7 @@ This tutorial explains how to use the \"core\" git commands to set up and\n work with a git repository.\n \n If you just need to use git as a revision control system you may prefer\n-to start with \"A Tutorial Introduction to GIT\" (linkgit:gittutorial[7]) or\n+to start with \"A Tutorial Introduction to GIT\" (linkgit:git-tutorial[7]) or\n link:user-manual.html[the GIT User Manual].\n \n However, an understanding of these low-level tools can be helpful if\n@@ -116,7 +116,7 @@ references in these `refs` subdirectories when you actually start\n populating your tree.\n \n [NOTE]\n-An advanced user may want to take a look at linkgit:gitrepository-layout[5]\n+An advanced user may want to take a look at linkgit:git-repository-layout[5]\n after finishing this tutorial.\n \n You have now created your first git repository. Of course, since it's\n@@ -971,7 +971,7 @@ commits from the master branch.  The string inside brackets\n before the commit log message is a short name you can use to\n name the commit.  In the above example, 'master' and 'mybranch'\n are branch heads.  'master^' is the first parent of 'master'\n-branch head.  Please see linkgit:gitrevisions[1] if you want to\n+branch head.  Please see linkgit:git-revisions[7] if you want to\n see more complex cases.\n \n [NOTE]\n@@ -1596,7 +1596,7 @@ suggested in the previous section may be new to you. You do not\n have to worry. git supports \"shared public repository\" style of\n cooperation you are probably more familiar with as well.\n \n-See linkgit:gitcvs-migration[7] for the details.\n+See linkgit:git-cvs-migration[7] for the details.\n \n Bundling your work together\n ---------------------------\n@@ -1697,9 +1697,9 @@ to follow, not easier.\n \n SEE ALSO\n --------\n-linkgit:gittutorial[7],\n-linkgit:gittutorial-2[7],\n-linkgit:gitcvs-migration[7],\n+linkgit:git-tutorial[7],\n+linkgit:git-tutorial-2[7],\n+linkgit:git-cvs-migration[7],\n linkgit:git-help[1],\n link:everyday.html[Everyday git],\n link:user-manual.html[The Git User's Manual]\ndiff --git a/Documentation/git-cvs-migration.txt b/Documentation/git-cvs-migration.txt\nindex d861ec4..1568771 100644\n--- a/Documentation/git-cvs-migration.txt\n+++ b/Documentation/git-cvs-migration.txt\n@@ -1,9 +1,9 @@\n-gitcvs-migration(7)\n-===================\n+git-cvs-migration(7)\n+====================\n \n NAME\n ----\n-gitcvs-migration - git for CVS users\n+git-cvs-migration - git for CVS users\n \n SYNOPSIS\n --------\n@@ -19,8 +19,8 @@ designating a single shared repository which people can synchronize with;\n this document explains how to do that.\n \n Some basic familiarity with git is required. Having gone through\n-linkgit:gittutorial[7] and\n-linkgit:gitglossary[7] should be sufficient.\n+linkgit:git-tutorial[7] and\n+linkgit:git-glossary[7] should be sufficient.\n \n Developing against a shared repository\n --------------------------------------\n@@ -82,7 +82,7 @@ Setting Up a Shared Repository\n \n We assume you have already created a git repository for your project,\n possibly created from scratch or from a tarball (see\n-linkgit:gittutorial[7]), or imported from an already existing CVS\n+linkgit:git-tutorial[7]), or imported from an already existing CVS\n repository (see the next section).\n \n Assume your existing repo is at /home/alice/myproject.  Create a new \"bare\"\n@@ -153,7 +153,7 @@ Advanced Shared Repository Management\n \n Git allows you to specify scripts called \"hooks\" to be run at certain\n points.  You can use these, for example, to send all commits to the shared\n-repository to a mailing list.  See linkgit:githooks[5].\n+repository to a mailing list.  See linkgit:git-hooks[5].\n \n You can enforce finer grained permissions using update hooks.  See\n link:howto/update-hook-example.txt[Controlling access to branches using\n@@ -189,10 +189,10 @@ repositories without the need for a central maintainer.\n \n SEE ALSO\n --------\n-linkgit:gittutorial[7],\n-linkgit:gittutorial-2[7],\n-linkgit:gitcore-tutorial[7],\n-linkgit:gitglossary[7],\n+linkgit:git-tutorial[7],\n+linkgit:git-tutorial-2[7],\n+linkgit:git-core-tutorial[7],\n+linkgit:git-glossary[7],\n link:everyday.html[Everyday Git],\n link:user-manual.html[The Git User's Manual]\n \ndiff --git a/Documentation/git-cvsimport.txt b/Documentation/git-cvsimport.txt\nindex 608cd63..20feadc 100644\n--- a/Documentation/git-cvsimport.txt\n+++ b/Documentation/git-cvsimport.txt\n@@ -38,7 +38,7 @@ If you intend to set up a shared public repository that all developers can\n read/write, or if you want to use linkgit:git-cvsserver[1], then you\n probably want to make a bare clone of the imported repository,\n and use the clone as the shared repository.\n-See linkgit:gitcvs-migration[7].\n+See linkgit:git-cvs-migration[7].\n \n \n OPTIONS\ndiff --git a/Documentation/git-cvsserver.txt b/Documentation/git-cvsserver.txt\nindex f4472c6..ccc9e1e 100644\n--- a/Documentation/git-cvsserver.txt\n+++ b/Documentation/git-cvsserver.txt\n@@ -163,7 +163,7 @@ write access to the log file and to the database (see\n SSH, the users of course also need write access to the git repository itself.\n \n You also need to ensure that each repository is \"bare\" (without a git index\n-file) for `cvs commit` to work. See linkgit:gitcvs-migration[7].\n+file) for `cvs commit` to work. See linkgit:git-cvs-migration[7].\n \n [[configaccessmethod]]\n All configuration variables can also be overridden for a specific method of\ndiff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt\nindex 08fd409..23e2afc 100644\n--- a/Documentation/git-diff.txt\n+++ b/Documentation/git-diff.txt\n@@ -68,11 +68,11 @@ for the last two forms that use \"..\" notations, can be any\n <tree-ish>.\n \n For a more complete list of ways to spell <commit>, see\n-\"SPECIFYING REVISIONS\" section in linkgit:gitrevisions[1].\n+\"SPECIFYING REVISIONS\" section in linkgit:git-revisions[7].\n However, \"diff\" is about comparing two _endpoints_, not ranges,\n and the range notations (\"<commit>..<commit>\" and\n \"<commit>\\...<commit>\") do not mean a range as defined in the\n-\"SPECIFYING RANGES\" section in linkgit:gitrevisions[1].\n+\"SPECIFYING RANGES\" section in linkgit:git-revisions[7].\n \n OPTIONS\n -------\ndiff --git a/Documentation/git-diffcore.txt b/Documentation/git-diffcore.txt\nindex 5d91a7e..73c9d6b 100644\n--- a/Documentation/git-diffcore.txt\n+++ b/Documentation/git-diffcore.txt\n@@ -1,9 +1,9 @@\n-gitdiffcore(7)\n-==============\n+git-diffcore(7)\n+===============\n \n NAME\n ----\n-gitdiffcore - Tweaking diff output\n+git-diffcore - Tweaking diff output\n \n SYNOPSIS\n --------\n@@ -273,7 +273,7 @@ linkgit:git-diff-index[1],\n linkgit:git-diff-tree[1],\n linkgit:git-format-patch[1],\n linkgit:git-log[1],\n-linkgit:gitglossary[7],\n+linkgit:git-glossary[7],\n link:user-manual.html[The Git User's Manual]\n \n GIT\ndiff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt\nindex 966ba4f..9229991 100644\n--- a/Documentation/git-fast-import.txt\n+++ b/Documentation/git-fast-import.txt\n@@ -439,7 +439,7 @@ Marks must be declared (via `mark`) before they can be used.\n * A complete 40 byte or abbreviated commit SHA-1 in hex.\n \n * Any valid Git SHA-1 expression that resolves to a commit.  See\n-  ``SPECIFYING REVISIONS'' in linkgit:gitrevisions[1] for details.\n+  ``SPECIFYING REVISIONS'' in linkgit:git-revisions[7] for details.\n \n The special case of restarting an incremental import from the\n current branch value should be written as:\ndiff --git a/Documentation/git-format-patch.txt b/Documentation/git-format-patch.txt\nindex 4b3f5ba..c5711b1 100644\n--- a/Documentation/git-format-patch.txt\n+++ b/Documentation/git-format-patch.txt\n@@ -39,7 +39,7 @@ There are two ways to specify which commits to operate on.\n    that leads to the <since> to be output.\n \n 2. Generic <revision range> expression (see \"SPECIFYING\n-   REVISIONS\" section in linkgit:gitrevisions[1]) means the\n+   REVISIONS\" section in linkgit:git-revisions[7]) means the\n    commits in the specified range.\n \n The first rule takes precedence in the case of a single <commit>.  To\ndiff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt\nindex 315f07e..f8cc38f 100644\n--- a/Documentation/git-gc.txt\n+++ b/Documentation/git-gc.txt\n@@ -141,7 +141,7 @@ HOOKS\n -----\n \n The 'git gc --auto' command will run the 'pre-auto-gc' hook.  See\n-linkgit:githooks[5] for more information.\n+linkgit:git-hooks[5] for more information.\n \n \n SEE ALSO\ndiff --git a/Documentation/git-glossary.txt b/Documentation/git-glossary.txt\nindex d77a45a..c8157fe 100644\n--- a/Documentation/git-glossary.txt\n+++ b/Documentation/git-glossary.txt\n@@ -1,9 +1,9 @@\n-gitglossary(7)\n-==============\n+git-glossary(7)\n+===============\n \n NAME\n ----\n-gitglossary - A GIT Glossary\n+git-glossary - A GIT Glossary\n \n SYNOPSIS\n --------\n@@ -16,9 +16,9 @@ include::glossary-content.txt[]\n \n SEE ALSO\n --------\n-linkgit:gittutorial[7],\n-linkgit:gittutorial-2[7],\n-linkgit:gitcvs-migration[7],\n+linkgit:git-tutorial[7],\n+linkgit:git-tutorial-2[7],\n+linkgit:git-cvs-migration[7],\n link:everyday.html[Everyday git],\n link:user-manual.html[The Git User's Manual]\n \ndiff --git a/Documentation/git-hooks.txt b/Documentation/git-hooks.txt\nindex 7183aa9..4eb0bac 100644\n--- a/Documentation/git-hooks.txt\n+++ b/Documentation/git-hooks.txt\n@@ -1,9 +1,9 @@\n-githooks(5)\n-===========\n+git-hooks(5)\n+============\n \n NAME\n ----\n-githooks - Hooks used by git\n+git-hooks - Hooks used by git\n \n SYNOPSIS\n --------\ndiff --git a/Documentation/git-log.txt b/Documentation/git-log.txt\nindex c213bdb..16d60ce 100644\n--- a/Documentation/git-log.txt\n+++ b/Documentation/git-log.txt\n@@ -31,7 +31,7 @@ OPTIONS\n \teither <since> or <until> is omitted, it defaults to\n \t`HEAD`, i.e. the tip of the current branch.\n \tFor a more complete list of ways to spell <since>\n-\tand <until>, see linkgit:gitrevisions[1].\n+\tand <until>, see linkgit:git-revisions[7].\n \n --follow::\n \tContinue listing the history of a file beyond renames\ndiff --git a/Documentation/git-push.txt b/Documentation/git-push.txt\nindex 658ff2f..06c28cc 100644\n--- a/Documentation/git-push.txt\n+++ b/Documentation/git-push.txt\n@@ -41,7 +41,7 @@ OPTIONS[[OPTIONS]]\n +\n The <src> is often the name of the branch you would want to push, but\n it can be any arbitrary \"SHA-1 expression\", such as `master~4` or\n-`HEAD` (see linkgit:gitrevisions[1]).\n+`HEAD` (see linkgit:git-revisions[7]).\n +\n The <dst> tells which ref on the remote side is updated with this\n push. Arbitrary expressions cannot be used here, an actual ref must\ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 3b87f1a..d2b12ed 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -274,7 +274,7 @@ which makes little sense.\n \tDo not show a diffstat as part of the rebase process.\n \n --no-verify::\n-\tThis option bypasses the pre-rebase hook.  See also linkgit:githooks[5].\n+\tThis option bypasses the pre-rebase hook.  See also linkgit:git-hooks[5].\n \n -C<n>::\n \tEnsure at least <n> lines of surrounding context match before\ndiff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt\nindex 5a0451a..7429f16 100644\n--- a/Documentation/git-reflog.txt\n+++ b/Documentation/git-reflog.txt\n@@ -40,7 +40,7 @@ see linkgit:git-log[1].\n The reflog is useful in various git commands, to specify the old value\n of a reference. For example, `HEAD@\\{2\\}` means \"where HEAD used to be\n two moves ago\", `master@\\{one.week.ago\\}` means \"where master used to\n-point to one week ago\", and so on. See linkgit:gitrevisions[1] for\n+point to one week ago\", and so on. See linkgit:git-revisions[7] for\n more details.\n \n To delete single entries from the reflog, use the subcommand \"delete\"\ndiff --git a/Documentation/git-repository-layout.txt b/Documentation/git-repository-layout.txt\nindex eb3d040..c9950a2 100644\n--- a/Documentation/git-repository-layout.txt\n+++ b/Documentation/git-repository-layout.txt\n@@ -1,9 +1,9 @@\n-gitrepository-layout(5)\n-=======================\n+git-repository-layout(5)\n+========================\n \n NAME\n ----\n-gitrepository-layout - Git Repository Layout\n+git-repository-layout - Git Repository Layout\n \n SYNOPSIS\n --------\n@@ -136,7 +136,7 @@ hooks::\n \t'git init' is run, but all of them are disabled by\n \tdefault.  To enable, the `.sample` suffix has to be\n \tremoved from the filename by renaming.\n-\tRead linkgit:githooks[5] for more details about\n+\tRead linkgit:git-hooks[5] for more details about\n \teach hook.\n \n index::\n@@ -201,7 +201,7 @@ linkgit:git-fetch[1],\n linkgit:git-pack-refs[1],\n linkgit:git-gc[1],\n linkgit:git-checkout[1],\n-linkgit:gitglossary[7],\n+linkgit:git-glossary[7],\n link:user-manual.html[The Git User's Manual]\n \n GIT\ndiff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt\nindex be4c053..2c62e05 100644\n--- a/Documentation/git-rev-parse.txt\n+++ b/Documentation/git-rev-parse.txt\n@@ -219,7 +219,7 @@ Each line of options has this format:\n \n \t* Use `*` to mean that this option should not be listed in the usage\n \t  generated for the `-h` argument. It's shown for `--help-all` as\n-\t  documented in linkgit:gitcli[7].\n+\t  documented in linkgit:git-cli[7].\n \n \t* Use `!` to not make the corresponding negated long option available.\n \ndiff --git a/Documentation/git-revert.txt b/Documentation/git-revert.txt\nindex b7d9ef7..a4dcd2d 100644\n--- a/Documentation/git-revert.txt\n+++ b/Documentation/git-revert.txt\n@@ -31,7 +31,7 @@ OPTIONS\n <commit>...::\n \tCommits to revert.\n \tFor a more complete list of ways to spell commit names, see\n-\tlinkgit:gitrevisions[1].\n+\tlinkgit:git-revisions[7].\n \tSets of commits can also be given but no traversal is done by\n \tdefault, see linkgit:git-rev-list[1] and its '--no-walk'\n \toption.\ndiff --git a/Documentation/git-revisions.txt b/Documentation/git-revisions.txt\nindex fc4789f..cb481dd 100644\n--- a/Documentation/git-revisions.txt\n+++ b/Documentation/git-revisions.txt\n@@ -1,13 +1,13 @@\n-gitrevisions(7)\n+git-revisions(7)\n ================\n \n NAME\n ----\n-gitrevisions - specifying revisions and ranges for git\n+git-revisions - specifying revisions and ranges for git\n \n SYNOPSIS\n --------\n-gitrevisions\n+<commit>, ^<commit>, <commit>^n, :<path>, <stage>:<path>, <commit>:<path>\n \n \n DESCRIPTION\ndiff --git a/Documentation/git-show-branch.txt b/Documentation/git-show-branch.txt\nindex 81ba296..115d8b6 100644\n--- a/Documentation/git-show-branch.txt\n+++ b/Documentation/git-show-branch.txt\n@@ -32,7 +32,7 @@ no <rev> nor <glob> is given on the command line.\n OPTIONS\n -------\n <rev>::\n-\tArbitrary extended SHA1 expression (see linkgit:gitrevisions[1])\n+\tArbitrary extended SHA1 expression (see linkgit:git-revisions[7])\n \tthat typically names a branch head or a tag.\n \n <glob>::\ndiff --git a/Documentation/git-show-ref.txt b/Documentation/git-show-ref.txt\nindex 75780d7..f191b96 100644\n--- a/Documentation/git-show-ref.txt\n+++ b/Documentation/git-show-ref.txt\n@@ -171,7 +171,7 @@ SEE ALSO\n --------\n linkgit:git-ls-remote[1],\n linkgit:git-update-ref[1],\n-linkgit:gitrepository-layout[5]\n+linkgit:git-repository-layout[5]\n \n AUTHORS\n -------\ndiff --git a/Documentation/git-show.txt b/Documentation/git-show.txt\nindex 0002bfb..00d1a9a 100644\n--- a/Documentation/git-show.txt\n+++ b/Documentation/git-show.txt\n@@ -36,7 +36,7 @@ OPTIONS\n <object>...::\n \tThe names of objects to show.\n \tFor a more complete list of ways to spell object names, see\n-\t\"SPECIFYING REVISIONS\" section in linkgit:gitrevisions[1].\n+\t\"SPECIFYING REVISIONS\" section in linkgit:git-revisions[7].\n \n include::pretty-options.txt[]\n \ndiff --git a/Documentation/git-tutorial-2.txt b/Documentation/git-tutorial-2.txt\nindex ecab0c0..fe0bd51 100644\n--- a/Documentation/git-tutorial-2.txt\n+++ b/Documentation/git-tutorial-2.txt\n@@ -1,9 +1,9 @@\n-gittutorial-2(7)\n-================\n+git-tutorial-2(7)\n+=================\n \n NAME\n ----\n-gittutorial-2 - A tutorial introduction to git: part two\n+git-tutorial-2 - A tutorial introduction to git: part two\n \n SYNOPSIS\n --------\n@@ -12,7 +12,7 @@ git *\n DESCRIPTION\n -----------\n \n-You should work through linkgit:gittutorial[7] before reading this tutorial.\n+You should work through linkgit:git-tutorial[7] before reading this tutorial.\n \n The goal of this tutorial is to introduce two fundamental pieces of\n git's architecture--the object database and the index file--and to\n@@ -394,7 +394,7 @@ in the index file is identical to the one in the working directory.\n In addition to being the staging area for new commits, the index file\n is also populated from the object database when checking out a\n branch, and is used to hold the trees involved in a merge operation.\n-See linkgit:gitcore-tutorial[7] and the relevant man\n+See linkgit:git-core-tutorial[7] and the relevant man\n pages for details.\n \n What next?\n@@ -403,28 +403,28 @@ What next?\n At this point you should know everything necessary to read the man\n pages for any of the git commands; one good place to start would be\n with the commands mentioned in link:everyday.html[Everyday git].  You\n-should be able to find any unknown jargon in linkgit:gitglossary[7].\n+should be able to find any unknown jargon in linkgit:git-glossary[7].\n \n The link:user-manual.html[Git User's Manual] provides a more\n comprehensive introduction to git.\n \n-linkgit:gitcvs-migration[7] explains how to\n+linkgit:git-cvs-migration[7] explains how to\n import a CVS repository into git, and shows how to use git in a\n CVS-like way.\n \n For some interesting examples of git use, see the\n link:howto-index.html[howtos].\n \n-For git developers, linkgit:gitcore-tutorial[7] goes\n+For git developers, linkgit:git-core-tutorial[7] goes\n into detail on the lower-level git mechanisms involved in, for\n example, creating a new commit.\n \n SEE ALSO\n --------\n-linkgit:gittutorial[7],\n-linkgit:gitcvs-migration[7],\n-linkgit:gitcore-tutorial[7],\n-linkgit:gitglossary[7],\n+linkgit:git-tutorial[7],\n+linkgit:git-cvs-migration[7],\n+linkgit:git-core-tutorial[7],\n+linkgit:git-glossary[7],\n linkgit:git-help[1],\n link:everyday.html[Everyday git],\n link:user-manual.html[The Git User's Manual]\ndiff --git a/Documentation/git-tutorial.txt b/Documentation/git-tutorial.txt\nindex 1c16066..beedba6 100644\n--- a/Documentation/git-tutorial.txt\n+++ b/Documentation/git-tutorial.txt\n@@ -1,9 +1,9 @@\n-gittutorial(7)\n-==============\n+git-tutorial(7)\n+===============\n \n NAME\n ----\n-gittutorial - A tutorial introduction to git (for version 1.5.1 or newer)\n+git-tutorial - A tutorial introduction to git (for version 1.5.1 or newer)\n \n SYNOPSIS\n --------\n@@ -452,7 +452,7 @@ see linkgit:git-pull[1] for details.\n \n Git can also be used in a CVS-like mode, with a central repository\n that various users push changes to; see linkgit:git-push[1] and\n-linkgit:gitcvs-migration[7].\n+linkgit:git-cvs-migration[7].\n \n Exploring history\n -----------------\n@@ -633,7 +633,7 @@ is based:\n \n Part two of this tutorial explains the object\n database, the index file, and a few other odds and ends that you'll\n-need to make the most of git. You can find it at linkgit:gittutorial-2[7].\n+need to make the most of git. You can find it at linkgit:git-tutorial-2[7].\n \n If you don't want to continue with that right away, a few other\n digressions that may be interesting at this point are:\n@@ -650,21 +650,21 @@ digressions that may be interesting at this point are:\n     smart enough to perform a close-to-optimal search even in the\n     case of complex non-linear history with lots of merged branches.\n \n-  * linkgit:gitworkflows[7]: Gives an overview of recommended\n+  * linkgit:git-workflows[7]: Gives an overview of recommended\n     workflows.\n \n   * link:everyday.html[Everyday GIT with 20 Commands Or So]\n \n-  * linkgit:gitcvs-migration[7]: Git for CVS users.\n+  * linkgit:git-cvs-migration[7]: Git for CVS users.\n \n SEE ALSO\n --------\n-linkgit:gittutorial-2[7],\n-linkgit:gitcvs-migration[7],\n-linkgit:gitcore-tutorial[7],\n-linkgit:gitglossary[7],\n+linkgit:git-tutorial-2[7],\n+linkgit:git-cvs-migration[7],\n+linkgit:git-core-tutorial[7],\n+linkgit:git-glossary[7],\n linkgit:git-help[1],\n-linkgit:gitworkflows[7],\n+linkgit:git-workflows[7],\n link:everyday.html[Everyday git],\n link:user-manual.html[The Git User's Manual]\n \ndiff --git a/Documentation/git-update-server-info.txt b/Documentation/git-update-server-info.txt\nindex 035cc30..6f1c56f 100644\n--- a/Documentation/git-update-server-info.txt\n+++ b/Documentation/git-update-server-info.txt\n@@ -31,7 +31,7 @@ OUTPUT\n ------\n \n Currently the command updates the following files.  Please see\n-linkgit:gitrepository-layout[5] for description of\n+linkgit:git-repository-layout[5] for description of\n what they are for:\n \n * objects/info/packs\ndiff --git a/Documentation/git-workflows.txt b/Documentation/git-workflows.txt\nindex 1ef55ff..01febd4 100644\n--- a/Documentation/git-workflows.txt\n+++ b/Documentation/git-workflows.txt\n@@ -1,9 +1,9 @@\n-gitworkflows(7)\n-===============\n+git-workflows(7)\n+================\n \n NAME\n ----\n-gitworkflows - An overview of recommended workflows with git\n+git-workflows - An overview of recommended workflows with git\n \n SYNOPSIS\n --------\n@@ -465,7 +465,7 @@ other options.\n \n SEE ALSO\n --------\n-linkgit:gittutorial[7],\n+linkgit:git-tutorial[7],\n linkgit:git-push[1],\n linkgit:git-pull[1],\n linkgit:git-merge[1],\ndiff --git a/Documentation/git.txt b/Documentation/git.txt\nindex 5317893..4fa2b70 100644\n--- a/Documentation/git.txt\n+++ b/Documentation/git.txt\n@@ -21,10 +21,10 @@ Git is a fast, scalable, distributed revision control system with an\n unusually rich command set that provides both high-level operations\n and full access to internals.\n \n-See linkgit:gittutorial[7] to get started, then see\n+See linkgit:git-tutorial[7] to get started, then see\n link:everyday.html[Everyday Git] for a useful minimum set of commands, and\n \"man git-commandname\" for documentation of each command.  CVS users may\n-also want to read linkgit:gitcvs-migration[7].  See\n+also want to read linkgit:git-cvs-migration[7].  See\n the link:user-manual.html[Git User's Manual] for a more in-depth\n introduction.\n \n@@ -300,10 +300,10 @@ See the references above to get started using git.  The following is\n probably more detail than necessary for a first-time user.\n \n The link:user-manual.html#git-concepts[git concepts chapter of the\n-user-manual] and linkgit:gitcore-tutorial[7] both provide\n+user-manual] and linkgit:git-core-tutorial[7] both provide\n introductions to the underlying git architecture.\n \n-See linkgit:gitworkflows[7] for an overview of recommended workflows.\n+See linkgit:git-workflows[7] for an overview of recommended workflows.\n \n See also the link:howto-index.html[howto] documents for some useful\n examples.\n@@ -488,15 +488,15 @@ HEAD::\n \t(i.e. the contents of `$GIT_DIR/refs/heads/<head>`).\n \n For a more complete list of ways to spell object names, see\n-\"SPECIFYING REVISIONS\" section in linkgit:gitrevisions[1].\n+\"SPECIFYING REVISIONS\" section in linkgit:git-revisions[7].\n \n \n File/Directory Structure\n ------------------------\n \n-Please see the linkgit:gitrepository-layout[5] document.\n+Please see the linkgit:git-repository-layout[5] document.\n \n-Read linkgit:githooks[5] for more details about each hook.\n+Read linkgit:git-hooks[5] for more details about each hook.\n \n Higher level SCMs may provide and manage additional information in the\n `$GIT_DIR`.\n@@ -504,7 +504,7 @@ Higher level SCMs may provide and manage additional information in the\n \n Terminology\n -----------\n-Please see linkgit:gitglossary[7].\n+Please see linkgit:git-glossary[7].\n \n \n Environment Variables\n@@ -667,7 +667,7 @@ Discussion[[Discussion]]\n \n More detail on the following is available from the\n link:user-manual.html#git-concepts[git concepts chapter of the\n-user-manual] and linkgit:gitcore-tutorial[7].\n+user-manual] and linkgit:git-core-tutorial[7].\n \n A git project normally consists of a working directory with a \".git\"\n subdirectory at the top level.  The .git directory contains, among other\n@@ -737,11 +737,11 @@ subscribed to the list to send a message there.\n \n SEE ALSO\n --------\n-linkgit:gittutorial[7], linkgit:gittutorial-2[7],\n-link:everyday.html[Everyday Git], linkgit:gitcvs-migration[7],\n-linkgit:gitglossary[7], linkgit:gitcore-tutorial[7],\n-linkgit:gitcli[7], link:user-manual.html[The Git User's Manual],\n-linkgit:gitworkflows[7]\n+linkgit:git-tutorial[7], linkgit:git-tutorial-2[7],\n+link:everyday.html[Everyday Git], linkgit:git-cvs-migration[7],\n+linkgit:git-glossary[7], linkgit:git-core-tutorial[7],\n+linkgit:git-cli[7], link:user-manual.html[The Git User's Manual],\n+linkgit:git-workflows[7]\n \n GIT\n ---\ndiff --git a/Documentation/gitk.txt b/Documentation/gitk.txt\nindex 05ac1c7..fde793a 100644\n--- a/Documentation/gitk.txt\n+++ b/Documentation/gitk.txt\n@@ -69,7 +69,7 @@ frequently used options.\n \tthe form \"'<from>'..'<to>'\" to show all revisions between '<from>' and\n \tback to '<to>'. Note, more advanced revision selection can be applied.\n \tFor a more complete list of ways to spell object names, see\n-\tlinkgit:gitrevisions[1].\n+\tlinkgit:git-revisions[7].\n \n <path>...::\n \ndiff --git a/Documentation/pt_BR/gittutorial.txt b/Documentation/pt_BR/gittutorial.txt\nindex beba065..5ae4b2a 100644\n--- a/Documentation/pt_BR/gittutorial.txt\n+++ b/Documentation/pt_BR/gittutorial.txt\n@@ -457,7 +457,7 @@ http; veja linkgit:git-pull[1] para detalhes.\n \n Git pode também ser usado em um modo parecido com CVS, com um\n repositório central para o qual vários usuários empurram modificações;\n-veja linkgit:git-push[1] e linkgit:gitcvs-migration[7].\n+veja linkgit:git-push[1] e linkgit:git-cvs-migration[7].\n \n Explorando história\n -----------------\n@@ -639,7 +639,7 @@ idéias simples nas quais ele se baseia:\n \n A parte dois deste tutorial explica a base de objetos, o arquivo de\n índice, e algumas outras coisinhas que você vai precisar pra usar o\n-máximo do git. Você pode encontrá-la em linkgit:gittutorial-2[7].\n+máximo do git. Você pode encontrá-la em linkgit:git-tutorial-2[7].\n \n Se você não quiser continuar com o tutorial agora nesse momento, algumas\n outras digressões que podem ser interessantes neste ponto são:\n@@ -658,14 +658,14 @@ outras digressões que podem ser interessantes neste ponto são:\n \n   * link:everyday.html[GIT diariamente com 20 e tantos comandos]\n \n-  * linkgit:gitcvs-migration[7]: Git para usuários de CVS.\n+  * linkgit:git-cvs-migration[7]: Git para usuários de CVS.\n \n VEJA TAMBÉM\n --------\n-linkgit:gittutorial-2[7],\n-linkgit:gitcvs-migration[7],\n-linkgit:gitcore-tutorial[7],\n-linkgit:gitglossary[7],\n+linkgit:git-tutorial-2[7],\n+linkgit:git-cvs-migration[7],\n+linkgit:git-core-tutorial[7],\n+linkgit:git-glossary[7],\n linkgit:git-help[1],\n link:everyday.html[git diariamente],\n link:user-manual.html[O Manual do Usuário git]\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex 22aee34..54f02e7 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -397,7 +397,7 @@ is usually a shortcut for the HEAD branch in the repository \"origin\".\n For the complete list of paths which git checks for references, and\n the order it uses to decide which to choose when there are multiple\n references with the same shorthand name, see the \"SPECIFYING\n-REVISIONS\" section of linkgit:gitrevisions[1].\n+REVISIONS\" section of linkgit:git-revisions[1].\n \n [[Updating-a-repository-With-git-fetch]]\n Updating a repository with git fetch\n@@ -568,7 +568,7 @@ We have seen several ways of naming commits already:\n \t- HEAD: refers to the head of the current branch\n \n There are many more; see the \"SPECIFYING REVISIONS\" section of the\n-linkgit:gitrevisions[1] man page for the complete list of ways to\n+linkgit:git-revisions[7] man page for the complete list of ways to\n name revisions.  Some examples:\n \n -------------------------------------------------\n@@ -909,7 +909,7 @@ commits reachable from some head but not from any tag in the repository:\n $ gitk $( git show-ref --heads ) --not  $( git show-ref --tags )\n -------------------------------------------------\n \n-(See linkgit:gitrevisions[1] for explanations of commit-selecting\n+(See linkgit:git-revisions[7] for explanations of commit-selecting\n syntax such as `--not`.)\n \n [[making-a-release]]\n@@ -1635,7 +1635,7 @@ you've checked out.\n The reflogs are kept by default for 30 days, after which they may be\n pruned.  See linkgit:git-reflog[1] and linkgit:git-gc[1] to learn\n how to control this pruning, and see the \"SPECIFYING REVISIONS\"\n-section of linkgit:gitrevisions[1] for details.\n+section of linkgit:git-revisions[7] for details.\n \n Note that the reflog history is very different from normal git history.\n While normal history is shared by every repository that works on the\n@@ -1920,7 +1920,7 @@ $ mv hooks/post-update.sample hooks/post-update\n -------------------------------------------------\n \n (For an explanation of the last two lines, see\n-linkgit:git-update-server-info[1] and linkgit:githooks[5].)\n+linkgit:git-update-server-info[1] and linkgit:git-hooks[5].)\n \n Advertise the URL of proj.git.  Anybody else should then be able to\n clone or pull from that URL, for example with a command line like:\n@@ -2032,7 +2032,7 @@ the right to push to the same repository.  In that case, the correct\n solution is to retry the push after first updating your work: either by a\n pull, or by a fetch followed by a rebase; see the\n <<setting-up-a-shared-repository,next section>> and\n-linkgit:gitcvs-migration[7] for more.\n+linkgit:git-cvs-migration[7] for more.\n \n [[setting-up-a-shared-repository]]\n Setting up a shared repository\n@@ -2041,7 +2041,7 @@ Setting up a shared repository\n Another way to collaborate is by using a model similar to that\n commonly used in CVS, where several developers with special rights\n all push to and pull from a single shared repository.  See\n-linkgit:gitcvs-migration[7] for instructions on how to\n+linkgit:git-cvs-migration[7] for instructions on how to\n set this up.\n \n However, while there is nothing wrong with git's support for shared\ndiff --git a/Makefile b/Makefile\nindex b4745a5..f3c369f 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -2256,20 +2256,20 @@ check-docs::\n \t\tdocumented,gitattributes | \\\n \t\tdocumented,gitignore | \\\n \t\tdocumented,gitmodules | \\\n-\t\tdocumented,gitcli | \\\n+\t\tdocumented,git-cli | \\\n \t\tdocumented,git-tools | \\\n-\t\tdocumented,gitcore-tutorial | \\\n-\t\tdocumented,gitcvs-migration | \\\n-\t\tdocumented,gitdiffcore | \\\n-\t\tdocumented,gitglossary | \\\n-\t\tdocumented,githooks | \\\n-\t\tdocumented,gitrepository-layout | \\\n-\t\tdocumented,gitrevisions | \\\n-\t\tdocumented,gittutorial | \\\n-\t\tdocumented,gittutorial-2 | \\\n+\t\tdocumented,git-core-tutorial | \\\n+\t\tdocumented,git-cvs-migration | \\\n+\t\tdocumented,git-diffcore | \\\n+\t\tdocumented,git-glossary | \\\n+\t\tdocumented,git-hooks | \\\n+\t\tdocumented,git-repository-layout | \\\n+\t\tdocumented,git-revisions | \\\n+\t\tdocumented,git-tutorial | \\\n+\t\tdocumented,git-tutorial-2 | \\\n \t\tdocumented,git-bisect-lk2009 | \\\n \t\tdocumented,git-remote-helpers | \\\n-\t\tdocumented,gitworkflows | \\\n+\t\tdocumented,git-workflows | \\\n \t\tsentinel,not,matching,is,ok ) continue ;; \\\n \t\tesac; \\\n \t\tcase \" $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git gitk \" in \\\ndiff --git a/builtin/help.c b/builtin/help.c\nindex 61ff798..d1f6736 100644\n--- a/builtin/help.c\n+++ b/builtin/help.c\n@@ -310,10 +310,8 @@ static const char *cmd_to_page(const char *git_cmd)\n \t\treturn \"git\";\n \telse if (!prefixcmp(git_cmd, \"git\"))\n \t\treturn git_cmd;\n-\telse if (is_git_command(git_cmd))\n-\t\treturn prepend(\"git-\", git_cmd);\n \telse\n-\t\treturn prepend(\"git\", git_cmd);\n+\t\treturn prepend(\"git-\", git_cmd);\n }\n \n static void setup_man_path(void)\n-- \n"},{"id":"149625","messageId":"4C7F6354.70108@drmicha.warpmail.net","threadId":"24937","inReplyTo":"20100902081646.GK29713@burratino","subject":"Re: [RFC PATCH] git-help: find library man pages again","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-09-02T08:41:56Z","receivedAt":"2010-09-02T08:41:56Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Jonathan Nieder venit, vidit, dixit 02.09.2010 10:16:\n> Michael J Gruber wrote:\n> \n>> 46bac90 (Do not install shell libraries executable, 2010-01-31) changed\n>> the executable bits of shell variables in order to avoid false reports\n>> from valgrind. As a side effect, this inhibits \"git help\" from finding\n>> the corresponding man pages because list_command_in_dir() (called by\n>> load_command_list()) checks that bit.\n> \n> Hmm.  Thanks for noticing.\n> \n> Isn't the main purpose of that check to populate the list of commands\n> produced by \"git help -a\"?\n> \n>> make\n>> list_command_in_dir() ignore the executable bit when looking in the exec\n>> dir, so that the following man pages are found again by \"git-help\":\n>>\n>> git-mergetool--lib\n>> git-parse-remote\n>> git-sh-setup\n> [...]\n>>     This does not help with the man page for git-remote-helpers which is installed\n>>     but not found by git-help either. That is a different issue, though.\n> \n> Therefore this seems wrong to me (except as a backward-compatibility\n> measure).\n\n[I don't seem to be very lucky with my patches lately; but that seems to\ncome from the common strive for the best solution, which is good, of\ncourse :| ]\n\n>  i.e. I think that is the same issue after all and that\n> builtin/help.c ought to learn another heuristic than is_git_command().\n\nOne heuristic, which I would have left for a later patch because of its\nradicality (and I think we're in some phase of some rc something), is to\nsimply not do any checks when calling the viewers. This requires that\neverything is prepended with \"git-\", which I see you have done in\nbuiltin/help.c. Still, none-command help pages will not show up with\n\"git help -a\". So it's not a complete solution.\n\nAlternatively, load_command_list() etc. could simply fill up a third\nlist \"other_pages\" (with non-executables) so that \"git help -a\" could\nlist \"other help pages\" in addition to the commands. I don't think this\nwould require any renaming nor Documentation updates.\n\n> How about something like this?\n> \n> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>\n> ---\n>  Documentation/Makefile                   |   10 +++++-----\n>  Documentation/diff-options.txt           |    6 +++---\n>  Documentation/git-add.txt                |    2 +-\n>  Documentation/git-cat-file.txt           |    2 +-\n>  Documentation/git-check-ref-format.txt   |    2 +-\n>  Documentation/git-cherry-pick.txt        |    2 +-\n>  Documentation/git-cli.txt                |    6 +++---\n\n??? I guess this patch makes sense only after a patch which renames all\ngitfoo.txt to git-foo.txt.\n\n>  Documentation/git-commit.txt             |    4 ++--\n>  Documentation/git-core-tutorial.txt      |   20 ++++++++++----------\n>  Documentation/git-cvs-migration.txt      |   22 +++++++++++-----------\n>  Documentation/git-cvsimport.txt          |    2 +-\n>  Documentation/git-cvsserver.txt          |    2 +-\n>  Documentation/git-diff.txt               |    4 ++--\n>  Documentation/git-diffcore.txt           |    8 ++++----\n>  Documentation/git-fast-import.txt        |    2 +-\n>  Documentation/git-format-patch.txt       |    2 +-\n>  Documentation/git-gc.txt                 |    2 +-\n>  Documentation/git-glossary.txt           |   12 ++++++------\n>  Documentation/git-hooks.txt              |    6 +++---\n>  Documentation/git-log.txt                |    2 +-\n>  Documentation/git-push.txt               |    2 +-\n>  Documentation/git-rebase.txt             |    2 +-\n>  Documentation/git-reflog.txt             |    2 +-\n>  Documentation/git-repository-layout.txt  |   10 +++++-----\n>  Documentation/git-rev-parse.txt          |    2 +-\n>  Documentation/git-revert.txt             |    2 +-\n>  Documentation/git-revisions.txt          |    6 +++---\n>  Documentation/git-show-branch.txt        |    2 +-\n>  Documentation/git-show-ref.txt           |    2 +-\n>  Documentation/git-show.txt               |    2 +-\n>  Documentation/git-tutorial-2.txt         |   24 ++++++++++++------------\n>  Documentation/git-tutorial.txt           |   24 ++++++++++++------------\n>  Documentation/git-update-server-info.txt |    2 +-\n>  Documentation/git-workflows.txt          |    8 ++++----\n>  Documentation/git.txt                    |   28 ++++++++++++++--------------\n>  Documentation/gitk.txt                   |    2 +-\n>  Documentation/pt_BR/gittutorial.txt      |   14 +++++++-------\n>  Documentation/user-manual.txt            |   14 +++++++-------\n>  Makefile                                 |   22 +++++++++++-----------\n>  builtin/help.c                           |    4 +---\n>  40 files changed, 145 insertions(+), 147 deletions(-)\n> \n\n[trivial gitfoo -> git-foo diffs skipped]\n\n> diff --git a/Makefile b/Makefile\n> index b4745a5..f3c369f 100644\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -2256,20 +2256,20 @@ check-docs::\n>  \t\tdocumented,gitattributes | \\\n>  \t\tdocumented,gitignore | \\\n>  \t\tdocumented,gitmodules | \\\n> -\t\tdocumented,gitcli | \\\n> +\t\tdocumented,git-cli | \\\n>  \t\tdocumented,git-tools | \\\n> -\t\tdocumented,gitcore-tutorial | \\\n> -\t\tdocumented,gitcvs-migration | \\\n> -\t\tdocumented,gitdiffcore | \\\n> -\t\tdocumented,gitglossary | \\\n> -\t\tdocumented,githooks | \\\n> -\t\tdocumented,gitrepository-layout | \\\n> -\t\tdocumented,gitrevisions | \\\n> -\t\tdocumented,gittutorial | \\\n> -\t\tdocumented,gittutorial-2 | \\\n> +\t\tdocumented,git-core-tutorial | \\\n> +\t\tdocumented,git-cvs-migration | \\\n> +\t\tdocumented,git-diffcore | \\\n> +\t\tdocumented,git-glossary | \\\n> +\t\tdocumented,git-hooks | \\\n> +\t\tdocumented,git-repository-layout | \\\n> +\t\tdocumented,git-revisions | \\\n> +\t\tdocumented,git-tutorial | \\\n> +\t\tdocumented,git-tutorial-2 | \\\n>  \t\tdocumented,git-bisect-lk2009 | \\\n>  \t\tdocumented,git-remote-helpers | \\\n> -\t\tdocumented,gitworkflows | \\\n> +\t\tdocumented,git-workflows | \\\n>  \t\tsentinel,not,matching,is,ok ) continue ;; \\\n>  \t\tesac; \\\n>  \t\tcase \" $(ALL_PROGRAMS) $(SCRIPT_LIB) $(BUILT_INS) git gitk \" in \\\n> diff --git a/builtin/help.c b/builtin/help.c\n> index 61ff798..d1f6736 100644\n> --- a/builtin/help.c\n> +++ b/builtin/help.c\n> @@ -310,10 +310,8 @@ static const char *cmd_to_page(const char *git_cmd)\n>  \t\treturn \"git\";\n>  \telse if (!prefixcmp(git_cmd, \"git\"))\n>  \t\treturn git_cmd;\n> -\telse if (is_git_command(git_cmd))\n> -\t\treturn prepend(\"git-\", git_cmd);\n>  \telse\n> -\t\treturn prepend(\"git\", git_cmd);\n> +\t\treturn prepend(\"git-\", git_cmd);\n>  }\n>  \n>  static void setup_man_path(void)\n"},{"id":"149628","messageId":"20100902085533.GL29713@burratino","threadId":"24937","inReplyTo":"4C7F6354.70108@drmicha.warpmail.net","subject":"Re: [RFC PATCH] git-help: find library man pages again","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2010-09-02T08:55:33Z","receivedAt":"2010-09-02T08:55:33Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Michael J Gruber wrote:\n> Jonathan Nieder venit, vidit, dixit 02.09.2010 10:16:\n\n>> Therefore this seems wrong to me (except as a backward-compatibility\n>> measure).\n[...]\n> One heuristic, which I would have left for a later patch because of its\n> radicality (and I think we're in some phase of some rc something), is to\n> simply not do any checks when calling the viewers. This requires that\n> everything is prepended with \"git-\", which I see you have done in\n> builtin/help.c.\n\nYep, I agree with you in all respects, including the need to do\nsomething else (like the patch you sent) for v1.7.3.\n\n> Still, none-command help pages will not show up with\n> \"git help -a\". So it's not a complete solution.\n\nI think of \"git --help -a\" as a more complete version of the list\nfrom \"git --help\" --- that is, it is explaining what subcommands are\navailable for git.\n\nOn the other hand, on platforms where \"man -k git\" is not available,\nas you mention it is the index to the manual.  Maybe \"git help\" should\ncheck GIT_HTML_PATH to provide a more complete index on such platforms.\n\nJust musing.\n\n> Alternatively, load_command_list() etc. could simply fill up a third\n> list \"other_pages\" (with non-executables) so that \"git help -a\" could\n> list \"other help pages\" in addition to the commands. I don't think this\n> would require any renaming nor Documentation updates.\n\nLooks like you had a similar thought.\n\n> ??? I guess this patch makes sense only after a patch which renames all\n> gitfoo.txt to git-foo.txt.\n\nWell, there were ulterior motives to that patch: I keep on mistyping\nhalf-hyphenated manpage names like gitcvs-migration.\n\nI should have included some appropriate Makefile magic for\ncompatibility symlinks for the old names.  Hopefully at least the idea\nwas clear.\n"},{"id":"149632","messageId":"4C7F69D7.9030304@drmicha.warpmail.net","threadId":"24937","inReplyTo":"20100902085533.GL29713@burratino","subject":"Re: [RFC PATCH] git-help: find library man pages again","fromName":"Michael J Gruber","fromEmail":"git@drmicha.warpmail.net","sentAt":"2010-09-02T09:09:43Z","receivedAt":"2010-09-02T09:09:43Z","isPatch":true,"sender":{"key":"git@grubix.eu","avatar":"https://avatars.githubusercontent.com/u/233215?v=4"},"body":"Jonathan Nieder venit, vidit, dixit 02.09.2010 10:55:\n> Michael J Gruber wrote:\n>> Jonathan Nieder venit, vidit, dixit 02.09.2010 10:16:\n> \n>>> Therefore this seems wrong to me (except as a backward-compatibility\n>>> measure).\n> [...]\n>> One heuristic, which I would have left for a later patch because of its\n>> radicality (and I think we're in some phase of some rc something), is to\n>> simply not do any checks when calling the viewers. This requires that\n>> everything is prepended with \"git-\", which I see you have done in\n>> builtin/help.c.\n> \n> Yep, I agree with you in all respects, including the need to do\n> something else (like the patch you sent) for v1.7.3.\n> \n>> Still, none-command help pages will not show up with\n>> \"git help -a\". So it's not a complete solution.\n> \n> I think of \"git --help -a\" as a more complete version of the list\n> from \"git --help\" --- that is, it is explaining what subcommands are\n> available for git.\n> \n> On the other hand, on platforms where \"man -k git\" is not available,\n> as you mention it is the index to the manual.  Maybe \"git help\" should\n> check GIT_HTML_PATH to provide a more complete index on such platforms.\n> \n> Just musing.\n> \n>> Alternatively, load_command_list() etc. could simply fill up a third\n>> list \"other_pages\" (with non-executables) so that \"git help -a\" could\n>> list \"other help pages\" in addition to the commands. I don't think this\n>> would require any renaming nor Documentation updates.\n> \n> Looks like you had a similar thought.\n> \n>> ??? I guess this patch makes sense only after a patch which renames all\n>> gitfoo.txt to git-foo.txt.\n> \n> Well, there were ulterior motives to that patch: I keep on mistyping\n> half-hyphenated manpage names like gitcvs-migration.\n\nThat's exactly why I use \"git help foo\" rather than \"man git[-]?foo\" and\nwant it to Just Work (TM);)\n\n> I should have included some appropriate Makefile magic for\n> compatibility symlinks for the old names.  Hopefully at least the idea\n> was clear.\n\nI was just wondering what this patch applies to - you must have\nall-dashed documentation to begin with. And I actually think this would\nbe fine, unless we want to differentiate between command man pages and\nother man pages by that. It's just that the shell libraries are half way\nin between, and \"git-remote-helpers.txt\" is misnamed by that convention.\n\nMichael\n"},{"id":"150407","messageId":"20100909195808.GD1146@sigill.intra.peff.net","threadId":"24937","inReplyTo":"4C7F6354.70108@drmicha.warpmail.net","subject":"Re: [RFC PATCH] git-help: find library man pages again","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-09-09T19:58:08Z","receivedAt":"2010-09-09T19:58:08Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Sep 02, 2010 at 10:41:56AM +0200, Michael J Gruber wrote:\n\n> >  i.e. I think that is the same issue after all and that\n> > builtin/help.c ought to learn another heuristic than is_git_command().\n> \n> One heuristic, which I would have left for a later patch because of its\n> radicality (and I think we're in some phase of some rc something), is to\n> simply not do any checks when calling the viewers. This requires that\n> everything is prepended with \"git-\", which I see you have done in\n> builtin/help.c. Still, none-command help pages will not show up with\n> \"git help -a\". So it's not a complete solution.\n\nThat was my first thought upon reading your patch, too. And something\nlike \"s/gitworkflows/git-workflows/\" is reasonable. But you can do \"git\nhelp attributes\" and \"git help ignore\" now, and those should almost\ncertainly remain \"gitattributes\" and \"gitignore\" (at the very least, we\nshould still allow \"git help gitattributes\", which works now, but which\nyour proposal would break).\n\nSo maybe we could get by with \"prepend git- unless it starts with git\".\n\nI dunno. The current behavior seems hack-ish, but I am loathe to change\nnames if people really prefer the existing ones. FWIW, I would actually\nsay \"git help git-sh-setup\", which in fact works (leading me to get\npuzzled by your patch at first). So who knows what people are typing in\npractice.\n\n-Peff\n"}]}