{"thread":{"id":"34828","subject":"[PATCH v2 2/7] glossary: define committish (a.k.a. commit-ish)","startedAt":"2013-09-02T05:34:19Z","lastAt":"2013-09-04T22:27:26Z","messageCount":18,"participants":["Richard Hansen","Junio C Hamano"],"isPatch":true,"patchVersion":2,"patchTotal":7},"messages":[{"id":"226499","messageId":"1378100066-31889-1-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":null,"subject":"[PATCH v2 0/7] documentation cleanups for <rev>^{<type>}","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:19Z","receivedAt":"2013-09-02T05:34:19Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"The documentation for the <rev>^{<type>} syntax (e.g., v1.8.4^{tree})\nneeded some fixing, and the fixes motivated some other documentation\ncleanups.\n\nChanges since v1 (2013-06-18, see\n<http://thread.gmane.org/gmane.comp.version-control.git/228325>):\n  * standardize on 'treeish' (don't use 'tree-ish')\n  * standardize on 'committish' (don't use 'commit-ish')\n  * don't base the definition of 'committish' on the broken definition\n    of 'ref'\n  * fix the definition of 'treeish' so that it is not based on the\n    broken definition of 'ref'\n  * fix the definiton of 'ref'\n\nRichard Hansen (7):\n  glossary: mention 'treeish' as an alternative to 'tree-ish'\n  glossary: define committish (a.k.a. commit-ish)\n  use 'treeish' instead of 'tree-ish'\n  use 'committish' instead of 'commit-ish'\n  glossary: more precise definition of treeish (a.k.a. tree-ish)\n  revisions.txt: fix and clarify <rev>^{<type>}\n  glossary: fix and clarify the definition of 'ref'\n\n Documentation/RelNotes/1.6.0.5.txt       |  2 +-\n Documentation/RelNotes/1.6.2.4.txt       |  2 +-\n Documentation/RelNotes/1.8.1.2.txt       |  2 +-\n Documentation/RelNotes/1.8.2.txt         |  2 +-\n Documentation/diff-format.txt            | 10 +++----\n Documentation/diff-generate-patch.txt    |  2 +-\n Documentation/git-archive.txt            |  4 +--\n Documentation/git-checkout.txt           | 16 +++++------\n Documentation/git-diff-index.txt         |  4 +--\n Documentation/git-diff-tree.txt          | 14 +++++-----\n Documentation/git-ls-files.txt           |  6 ++--\n Documentation/git-ls-tree.txt            |  6 ++--\n Documentation/git-read-tree.txt          | 10 +++----\n Documentation/git-rebase.txt             |  2 +-\n Documentation/git-reset.txt              | 16 +++++------\n Documentation/git-rev-parse.txt          |  2 +-\n Documentation/git-svn.txt                |  6 ++--\n Documentation/git-tar-tree.txt           |  4 +--\n Documentation/git.txt                    |  8 +++---\n Documentation/gitcli.txt                 |  2 +-\n Documentation/gittutorial-2.txt          |  2 +-\n Documentation/glossary-content.txt       | 47 ++++++++++++++++++++++++++------\n Documentation/revisions.txt              | 14 ++++++----\n archive.c                                |  6 ++--\n builtin/checkout.c                       |  6 ++--\n builtin/diff-index.c                     |  2 +-\n builtin/diff-tree.c                      |  2 +-\n builtin/diff.c                           |  2 +-\n builtin/ls-files.c                       |  8 +++---\n builtin/ls-tree.c                        |  2 +-\n builtin/read-tree.c                      |  2 +-\n builtin/reset.c                          |  4 +--\n builtin/revert.c                         |  4 +--\n builtin/tar-tree.c                       | 12 ++++----\n contrib/examples/git-checkout.sh         | 10 +++----\n contrib/examples/git-reset.sh            |  2 +-\n contrib/examples/git-revert.sh           |  4 +--\n fast-import.c                            |  2 +-\n git-svn.perl                             |  6 ++--\n gitweb/gitweb.perl                       |  4 +--\n po/de.po                                 | 20 +++++++-------\n po/fr.po                                 | 20 +++++++-------\n po/git.pot                               | 20 +++++++-------\n po/sv.po                                 | 20 +++++++-------\n po/vi.po                                 | 41 ++++++++++++++--------------\n po/zh_CN.po                              | 20 +++++++-------\n remote.c                                 |  2 +-\n t/t1512-rev-parse-disambiguation.sh      | 26 +++++++++---------\n t/t2010-checkout-ambiguous.sh            |  2 +-\n t/t4100/t-apply-3.patch                  |  8 +++---\n t/t4100/t-apply-7.patch                  |  8 +++---\n t/t9300-fast-import.sh                   |  2 +-\n t/t9500-gitweb-standalone-no-errors.sh   |  2 +-\n t/t9501-gitweb-standalone-http-status.sh |  8 +++---\n 54 files changed, 247 insertions(+), 213 deletions(-)\n\n-- \n1.8.4\n"},{"id":"226496","messageId":"1378100066-31889-2-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378100066-31889-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v2 1/7] glossary: mention 'treeish' as an alternative to 'tree-ish'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:20Z","receivedAt":"2013-09-02T05:34:20Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"The documentation contains a mix of the two spellings, so include both\nin the glossary so that a search for either will lead to the\ndefinition.\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex dba5062..0273095 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -486,7 +486,7 @@ should not be combined with other pathspec.\n \twith refs to the associated blob and/or tree objects. A\n \t<<def_tree,tree>> is equivalent to a <<def_directory,directory>>.\n \n-[[def_tree-ish]]tree-ish::\n+[[def_tree-ish]]tree-ish (also treeish)::\n \tA <<def_ref,ref>> pointing to either a <<def_commit_object,commit\n \tobject>>, a <<def_tree_object,tree object>>, or a <<def_tag_object,tag\n \tobject>> pointing to a tag or commit or tree object.\n-- \n1.8.4\n"},{"id":"226495","messageId":"1378100066-31889-3-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378100066-31889-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v2 2/7] glossary: define committish (a.k.a. commit-ish)","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:21Z","receivedAt":"2013-09-02T05:34:21Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Signed-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 12 ++++++++++++\n 1 file changed, 12 insertions(+)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 0273095..b1993e0 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -82,6 +82,18 @@ to point at the new commit.\n \tto the top <<def_directory,directory>> of the stored\n \trevision.\n \n+[[def_committish]]committish (also commit-ish)::\n+\tA <<def_commit_object,commit object>> or an\n+\t<<def_object,object>> that can be recursively dereferenced to\n+\ta commit object.\n+\tThe following are all committishes:\n+\ta commit object,\n+\ta <<def_tag_object,tag object>> that points to a commit\n+\tobject,\n+\ta tag object that points to a tag object that points to a\n+\tcommit object,\n+\tetc.\n+\n [[def_core_git]]core Git::\n \tFundamental data structures and utilities of Git. Exposes only limited\n \tsource code management tools.\n-- \n1.8.4\n"},{"id":"226500","messageId":"1378100066-31889-4-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378100066-31889-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v2 3/7] use 'treeish' instead of 'tree-ish'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:22Z","receivedAt":"2013-09-02T05:34:22Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Replace all instances of 'tree-ish' with 'treeish':\n  * to standardize on a single spelling (the documentation contained a\n    mix of 'treeish' and 'tree-ish')\n  * to be consistent with variable names (hyphens are not usually\n    allowed in variable names)\n  * to be consistent with 'committish'\n  * some search engines don't handle hyphens gracefully\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/RelNotes/1.6.0.5.txt       |  2 +-\n Documentation/RelNotes/1.6.2.4.txt       |  2 +-\n Documentation/RelNotes/1.8.1.2.txt       |  2 +-\n Documentation/RelNotes/1.8.2.txt         |  2 +-\n Documentation/diff-format.txt            | 10 +++++-----\n Documentation/diff-generate-patch.txt    |  2 +-\n Documentation/git-archive.txt            |  4 ++--\n Documentation/git-checkout.txt           | 16 ++++++++--------\n Documentation/git-diff-index.txt         |  4 ++--\n Documentation/git-diff-tree.txt          | 14 +++++++-------\n Documentation/git-ls-files.txt           |  6 +++---\n Documentation/git-ls-tree.txt            |  6 +++---\n Documentation/git-read-tree.txt          | 10 +++++-----\n Documentation/git-reset.txt              | 16 ++++++++--------\n Documentation/git-svn.txt                |  6 +++---\n Documentation/git-tar-tree.txt           |  4 ++--\n Documentation/git.txt                    |  4 ++--\n Documentation/gitcli.txt                 |  2 +-\n Documentation/gittutorial-2.txt          |  2 +-\n Documentation/glossary-content.txt       |  2 +-\n Documentation/revisions.txt              |  2 +-\n archive.c                                |  6 +++---\n builtin/checkout.c                       |  6 +++---\n builtin/diff-index.c                     |  2 +-\n builtin/diff-tree.c                      |  2 +-\n builtin/diff.c                           |  2 +-\n builtin/ls-files.c                       |  8 ++++----\n builtin/ls-tree.c                        |  2 +-\n builtin/read-tree.c                      |  2 +-\n builtin/reset.c                          |  4 ++--\n builtin/tar-tree.c                       | 12 ++++++------\n contrib/examples/git-checkout.sh         | 10 +++++-----\n fast-import.c                            |  2 +-\n git-svn.perl                             |  6 +++---\n gitweb/gitweb.perl                       |  4 ++--\n po/de.po                                 | 16 ++++++++--------\n po/fr.po                                 | 16 ++++++++--------\n po/git.pot                               | 16 ++++++++--------\n po/sv.po                                 | 16 ++++++++--------\n po/vi.po                                 | 33 ++++++++++++++++----------------\n po/zh_CN.po                              | 16 ++++++++--------\n t/t1512-rev-parse-disambiguation.sh      | 10 +++++-----\n t/t2010-checkout-ambiguous.sh            |  2 +-\n t/t4100/t-apply-3.patch                  |  8 ++++----\n t/t4100/t-apply-7.patch                  |  8 ++++----\n t/t9300-fast-import.sh                   |  2 +-\n t/t9500-gitweb-standalone-no-errors.sh   |  2 +-\n t/t9501-gitweb-standalone-http-status.sh |  8 ++++----\n 48 files changed, 169 insertions(+), 170 deletions(-)\n\ndiff --git a/Documentation/RelNotes/1.6.0.5.txt b/Documentation/RelNotes/1.6.0.5.txt\nindex a08bb96..d47386b 100644\n--- a/Documentation/RelNotes/1.6.0.5.txt\n+++ b/Documentation/RelNotes/1.6.0.5.txt\n@@ -13,7 +13,7 @@ Fixes since v1.6.0.4\n * \"git diff\" always allowed GIT_EXTERNAL_DIFF and --no-ext-diff was no-op for\n   the command.\n \n-* Giving 3 or more tree-ish to \"git diff\" is supposed to show the combined\n+* Giving 3 or more treeish to \"git diff\" is supposed to show the combined\n   diff from second and subsequent trees to the first one, but the order was\n   screwed up.\n \ndiff --git a/Documentation/RelNotes/1.6.2.4.txt b/Documentation/RelNotes/1.6.2.4.txt\nindex f4bf1d0..f75086d 100644\n--- a/Documentation/RelNotes/1.6.2.4.txt\n+++ b/Documentation/RelNotes/1.6.2.4.txt\n@@ -13,7 +13,7 @@ Fixes since v1.6.2.3\n * \"git-add -p\" lacked a way to say \"q\"uit to refuse staging any hunks for\n   the remaining paths.  You had to say \"d\" and then ^C.\n \n-* \"git-checkout <tree-ish> <submodule>\" did not update the index entry at\n+* \"git-checkout <treeish> <submodule>\" did not update the index entry at\n   the named path; it now does.\n \n * \"git-fast-export\" choked when seeing a tag that does not point at commit.\ndiff --git a/Documentation/RelNotes/1.8.1.2.txt b/Documentation/RelNotes/1.8.1.2.txt\nindex 5ab7b18..0cdb2f9 100644\n--- a/Documentation/RelNotes/1.8.1.2.txt\n+++ b/Documentation/RelNotes/1.8.1.2.txt\n@@ -12,7 +12,7 @@ Fixes since v1.8.1.1\n    after completing a single directory name.\n \n  * Command line completion leaked an unnecessary error message while\n-   looking for possible matches with paths in <tree-ish>.\n+   looking for possible matches with paths in <treeish>.\n \n  * \"git archive\" did not record uncompressed size in the header when\n    streaming a zip archive, which confused some implementations of unzip.\ndiff --git a/Documentation/RelNotes/1.8.2.txt b/Documentation/RelNotes/1.8.2.txt\nindex fc606ae..70fda04 100644\n--- a/Documentation/RelNotes/1.8.2.txt\n+++ b/Documentation/RelNotes/1.8.2.txt\n@@ -421,7 +421,7 @@ details).\n    to add a newline after such a line.\n \n  * Command line completion leaked an unnecessary error message while\n-   looking for possible matches with paths in <tree-ish>.\n+   looking for possible matches with paths in <treeish>.\n \n  * Command line completion for \"tcsh\" emitted an unwanted space\n    after completing a single directory name.\ndiff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt\nindex 15c7e79..28cef30 100644\n--- a/Documentation/diff-format.txt\n+++ b/Documentation/diff-format.txt\n@@ -7,13 +7,13 @@ The raw output format from \"git-diff-index\", \"git-diff-tree\",\n These commands all compare two sets of things; what is\n compared differs:\n \n-git-diff-index <tree-ish>::\n-        compares the <tree-ish> and the files on the filesystem.\n+git-diff-index <treeish>::\n+        compares the <treeish> and the files on the filesystem.\n \n-git-diff-index --cached <tree-ish>::\n-        compares the <tree-ish> and the index.\n+git-diff-index --cached <treeish>::\n+        compares the <treeish> and the index.\n \n-git-diff-tree [-r] <tree-ish-1> <tree-ish-2> [<pattern>...]::\n+git-diff-tree [-r] <treeish-1> <treeish-2> [<pattern>...]::\n         compares the trees named by the two arguments.\n \n git-diff-files [<pattern>...]::\ndiff --git a/Documentation/diff-generate-patch.txt b/Documentation/diff-generate-patch.txt\nindex 55f499a..3458c22 100644\n--- a/Documentation/diff-generate-patch.txt\n+++ b/Documentation/diff-generate-patch.txt\n@@ -134,7 +134,7 @@ The `mode <mode>,<mode>..<mode>` line appears only if at least one of\n the <mode> is different from the rest. Extended headers with\n information about detected contents movement (renames and\n copying detection) are designed to work with diff of two\n-<tree-ish> and are not used by combined diff format.\n+<treeish> and are not used by combined diff format.\n \n 3.   It is followed by two-line from-file/to-file header\n \ndiff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt\nindex b97aaab..5c6aef9 100644\n--- a/Documentation/git-archive.txt\n+++ b/Documentation/git-archive.txt\n@@ -11,7 +11,7 @@ SYNOPSIS\n [verse]\n 'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]\n \t      [-o <file> | --output=<file>] [--worktree-attributes]\n-\t      [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>\n+\t      [--remote=<repo> [--exec=<git-upload-archive>]] <treeish>\n \t      [<path>...]\n \n DESCRIPTION\n@@ -71,7 +71,7 @@ OPTIONS\n \tUsed with --remote to specify the path to the\n \t'git-upload-archive' on the remote side.\n \n-<tree-ish>::\n+<treeish>::\n \tThe tree or commit to produce an archive for.\n \n <path>::\ndiff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt\nindex ca118ac..ea12697 100644\n--- a/Documentation/git-checkout.txt\n+++ b/Documentation/git-checkout.txt\n@@ -11,8 +11,8 @@ SYNOPSIS\n 'git checkout' [-q] [-f] [-m] [<branch>]\n 'git checkout' [-q] [-f] [-m] [--detach] [<commit>]\n 'git checkout' [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>]\n-'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>...\n-'git checkout' [-p|--patch] [<tree-ish>] [--] [<paths>...]\n+'git checkout' [-f|--ours|--theirs|-m|--conflict=<style>] [<treeish>] [--] <paths>...\n+'git checkout' [-p|--patch] [<treeish>] [--] [<paths>...]\n \n DESCRIPTION\n -----------\n@@ -76,14 +76,14 @@ the option, giving a branch name to the command would check out the branch,\n instead of detaching HEAD at it), or the current commit,\n if no <branch> is specified.\n \n-'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>...::\n+'git checkout' [-p|--patch] [<treeish>] [--] <pathspec>...::\n \n \tWhen <paths> or `--patch` are given, 'git checkout' does *not*\n \tswitch branches.  It updates the named paths in the working tree\n-\tfrom the index file or from a named <tree-ish> (most often a\n+\tfrom the index file or from a named <treeish> (most often a\n \tcommit).  In this case, the `-b` and `--track` options are\n \tmeaningless and giving either of them results in an error.  The\n-\t<tree-ish> argument can be used to specify a specific tree-ish\n+\t<treeish> argument can be used to specify a specific treeish\n \t(i.e.  commit, tag or tree) to update the index for the given\n \tpaths before updating the working tree.\n +\n@@ -215,9 +215,9 @@ the conflicted merge in the specified paths.\n -p::\n --patch::\n \tInteractively select hunks in the difference between the\n-\t<tree-ish> (or the index, if unspecified) and the working\n+\t<treeish> (or the index, if unspecified) and the working\n \ttree.  The chosen hunks are then applied in reverse to the\n-\tworking tree (and if a <tree-ish> was specified, the index).\n+\tworking tree (and if a <treeish> was specified, the index).\n +\n This means that you can use `git checkout -p` to selectively discard\n edits from your current working tree. See the ``Interactive Mode''\n@@ -245,7 +245,7 @@ leave out at most one of `A` and `B`, in which case it defaults to `HEAD`.\n \tThe name of a commit at which to start the new branch; see\n \tlinkgit:git-branch[1] for details. Defaults to HEAD.\n \n-<tree-ish>::\n+<treeish>::\n \tTree to checkout from (when paths are given). If not specified,\n \tthe index will be used.\n \ndiff --git a/Documentation/git-diff-index.txt b/Documentation/git-diff-index.txt\nindex a86cf62..23bff68 100644\n--- a/Documentation/git-diff-index.txt\n+++ b/Documentation/git-diff-index.txt\n@@ -9,7 +9,7 @@ git-diff-index - Compare a tree to the working tree or index\n SYNOPSIS\n --------\n [verse]\n-'git diff-index' [-m] [--cached] [<common diff options>] <tree-ish> [<path>...]\n+'git diff-index' [-m] [--cached] [<common diff options>] <treeish> [<path>...]\n \n DESCRIPTION\n -----------\n@@ -23,7 +23,7 @@ OPTIONS\n -------\n include::diff-options.txt[]\n \n-<tree-ish>::\n+<treeish>::\n \tThe id of a tree object to diff against.\n \n --cached::\ndiff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt\nindex 1439486..523d9e4 100644\n--- a/Documentation/git-diff-tree.txt\n+++ b/Documentation/git-diff-tree.txt\n@@ -11,13 +11,13 @@ SYNOPSIS\n [verse]\n 'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]\n \t      [-t] [-r] [-c | --cc] [--root] [<common diff options>]\n-\t      <tree-ish> [<tree-ish>] [<path>...]\n+\t      <treeish> [<treeish>] [<path>...]\n \n DESCRIPTION\n -----------\n Compares the content and mode of the blobs found via two tree objects.\n \n-If there is only one <tree-ish> given, the commit is compared with its parents\n+If there is only one <treeish> given, the commit is compared with its parents\n (see --stdin below).\n \n Note that 'git diff-tree' can use the tree encapsulated in a commit object.\n@@ -26,7 +26,7 @@ OPTIONS\n -------\n include::diff-options.txt[]\n \n-<tree-ish>::\n+<treeish>::\n \tThe id of a tree object.\n \n <path>...::\n@@ -48,7 +48,7 @@ include::diff-options.txt[]\n \n --stdin::\n \tWhen '--stdin' is specified, the command does not take\n-\t<tree-ish> arguments from the command line.  Instead, it\n+\t<treeish> arguments from the command line.  Instead, it\n \treads lines containing either two <tree>, one <commit>, or a\n \tlist of <commit> from its standard input.  (Use a single space\n \tas separator.)\n@@ -91,7 +91,7 @@ include::pretty-options.txt[]\n -c::\n \tThis flag changes the way a merge commit is displayed\n \t(which means it is useful only when the command is given\n-\tone <tree-ish>, or '--stdin').  It shows the differences\n+\tone <treeish>, or '--stdin').  It shows the differences\n \tfrom each of the parents to the merge result simultaneously\n \tinstead of showing pairwise diff between a parent and the\n \tresult one at a time (which is what the '-m' option does).\n@@ -121,13 +121,13 @@ Limiting Output\n If you're only interested in differences in a subset of files, for\n example some architecture-specific files, you might do:\n \n-\tgit diff-tree -r <tree-ish> <tree-ish> arch/ia64 include/asm-ia64\n+\tgit diff-tree -r <treeish> <treeish> arch/ia64 include/asm-ia64\n \n and it will only show you what changed in those two directories.\n \n Or if you are searching for what changed in just `kernel/sched.c`, just do\n \n-\tgit diff-tree -r <tree-ish> <tree-ish> kernel/sched.c\n+\tgit diff-tree -r <treeish> <treeish> kernel/sched.c\n \n and it will ignore all differences to other files.\n \ndiff --git a/Documentation/git-ls-files.txt b/Documentation/git-ls-files.txt\nindex c0856a6..13f37dc 100644\n--- a/Documentation/git-ls-files.txt\n+++ b/Documentation/git-ls-files.txt\n@@ -16,7 +16,7 @@ SYNOPSIS\n \t\t[-X <file>|--exclude-from=<file>]\n \t\t[--exclude-per-directory=<file>]\n \t\t[--exclude-standard]\n-\t\t[--error-unmatch] [--with-tree=<tree-ish>]\n+\t\t[--error-unmatch] [--with-tree=<treeish>]\n \t\t[--full-name] [--abbrev] [--] [<file>...]\n \n DESCRIPTION\n@@ -99,11 +99,11 @@ OPTIONS\n \tIf any <file> does not appear in the index, treat this as an\n \terror (return 1).\n \n---with-tree=<tree-ish>::\n+--with-tree=<treeish>::\n \tWhen using --error-unmatch to expand the user supplied\n \t<file> (i.e. path pattern) arguments to paths, pretend\n \tthat paths which were removed in the index since the\n-\tnamed <tree-ish> are still present.  Using this option\n+\tnamed <treeish> are still present.  Using this option\n \twith `-s` or `-u` options does not make any sense.\n \n -t::\ndiff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt\nindex 16e87fd..8c99cda 100644\n--- a/Documentation/git-ls-tree.txt\n+++ b/Documentation/git-ls-tree.txt\n@@ -11,7 +11,7 @@ SYNOPSIS\n [verse]\n 'git ls-tree' [-d] [-r] [-t] [-l] [-z]\n \t    [--name-only] [--name-status] [--full-name] [--full-tree] [--abbrev[=<n>]]\n-\t    <tree-ish> [<path>...]\n+\t    <treeish> [<path>...]\n \n DESCRIPTION\n -----------\n@@ -35,8 +35,8 @@ in the current working directory.  Note that:\n \n OPTIONS\n -------\n-<tree-ish>::\n-\tId of a tree-ish.\n+<treeish>::\n+\tId of a treeish.\n \n -d::\n \tShow only the named tree entry itself, not its children.\ndiff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt\nindex c4bde65..98ba1f6 100644\n--- a/Documentation/git-read-tree.txt\n+++ b/Documentation/git-read-tree.txt\n@@ -12,12 +12,12 @@ SYNOPSIS\n 'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>]\n \t\t[-u [--exclude-per-directory=<gitignore>] | -i]]\n \t\t[--index-output=<file>] [--no-sparse-checkout]\n-\t\t(--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\n+\t\t(--empty | <treeish1> [<treeish2> [<treeish3>]])\n \n \n DESCRIPTION\n -----------\n-Reads the tree information given by <tree-ish> into the index,\n+Reads the tree information given by <treeish> into the index,\n but does not actually *update* any of the files it \"caches\". (see:\n linkgit:git-checkout-index[1])\n \n@@ -83,7 +83,7 @@ OPTIONS\n \n --prefix=<prefix>/::\n \tKeep the current index contents, and read the contents\n-\tof the named tree-ish under the directory at `<prefix>`.\n+\tof the named treeish under the directory at `<prefix>`.\n \tThe command will refuse to overwrite entries that already\n \texisted in the original index file. Note that the `<prefix>/`\n \tvalue must end with a slash.\n@@ -123,7 +123,7 @@ OPTIONS\n \tInstead of reading tree object(s) into the index, just empty\n \tit.\n \n-<tree-ish#>::\n+<treeish#>::\n \tThe id of the tree object(s) to be read/merged.\n \n \n@@ -283,7 +283,7 @@ merge. The different stages represent the \"result tree\" (stage 0, aka\n you are trying to merge (stage 2 and 3 respectively).\n \n The order of stages 1, 2 and 3 (hence the order of three\n-<tree-ish> command line arguments) are significant when you\n+<treeish> command line arguments) are significant when you\n start a 3-way merge with an index file that is already\n populated.  Here is an outline of how the algorithm works:\n \ndiff --git a/Documentation/git-reset.txt b/Documentation/git-reset.txt\nindex f445cb3..058f578 100644\n--- a/Documentation/git-reset.txt\n+++ b/Documentation/git-reset.txt\n@@ -8,20 +8,20 @@ git-reset - Reset current HEAD to the specified state\n SYNOPSIS\n --------\n [verse]\n-'git reset' [-q] [<tree-ish>] [--] <paths>...\n-'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]\n+'git reset' [-q] [<treeish>] [--] <paths>...\n+'git reset' (--patch | -p) [<treeish>] [--] [<paths>...]\n 'git reset' [--soft | --mixed | --hard | --merge | --keep] [-q] [<commit>]\n \n DESCRIPTION\n -----------\n-In the first and second form, copy entries from <tree-ish> to the index.\n+In the first and second form, copy entries from <treeish> to the index.\n In the third form, set the current branch head (HEAD) to <commit>, optionally\n-modifying index and working tree to match.  The <tree-ish>/<commit> defaults\n+modifying index and working tree to match.  The <treeish>/<commit> defaults\n to HEAD in all forms.\n \n-'git reset' [-q] [<tree-ish>] [--] <paths>...::\n+'git reset' [-q] [<treeish>] [--] <paths>...::\n \tThis form resets the index entries for all <paths> to their\n-\tstate at <tree-ish>.  (It does not affect the working tree, nor\n+\tstate at <treeish>.  (It does not affect the working tree, nor\n \tthe current branch.)\n +\n This means that `git reset <paths>` is the opposite of `git add\n@@ -34,9 +34,9 @@ Alternatively, using linkgit:git-checkout[1] and specifying a commit, you\n can copy the contents of a path out of a commit to the index and to the\n working tree in one go.\n \n-'git reset' (--patch | -p) [<tree-ish>] [--] [<paths>...]::\n+'git reset' (--patch | -p) [<treeish>] [--] [<paths>...]::\n \tInteractively select hunks in the difference between the index\n-\tand <tree-ish> (defaults to HEAD).  The chosen hunks are applied\n+\tand <treeish> (defaults to HEAD).  The chosen hunks are applied\n \tin reverse to the index.\n +\n This means that `git reset -p` is the opposite of `git add -p`, i.e.\ndiff --git a/Documentation/git-svn.txt b/Documentation/git-svn.txt\nindex 4dd3bcb..e6cb24a 100644\n--- a/Documentation/git-svn.txt\n+++ b/Documentation/git-svn.txt\n@@ -363,8 +363,8 @@ Any other arguments are passed directly to 'git log'\n 'find-rev'::\n \tWhen given an SVN revision number of the form 'rN', returns the\n \tcorresponding Git commit hash (this can optionally be followed by a\n-\ttree-ish to specify which branch should be searched).  When given a\n-\ttree-ish, returns the corresponding SVN revision number.\n+\ttreeish to specify which branch should be searched).  When given a\n+\ttreeish, returns the corresponding SVN revision number.\n +\n --before;;\n \tDon't require an exact match if given an SVN revision, instead find\n@@ -406,7 +406,7 @@ Any other arguments are passed directly to 'git log'\n \tmore information.)\n \n 'commit-diff'::\n-\tCommits the diff of two tree-ish arguments from the\n+\tCommits the diff of two treeish arguments from the\n \tcommand-line.  This command does not rely on being inside an `git svn\n \tinit`-ed repository.  This command takes three arguments, (a) the\n \toriginal tree to diff against, (b) the new tree result, (c) the\ndiff --git a/Documentation/git-tar-tree.txt b/Documentation/git-tar-tree.txt\nindex f7362dc..75417c6 100644\n--- a/Documentation/git-tar-tree.txt\n+++ b/Documentation/git-tar-tree.txt\n@@ -9,7 +9,7 @@ git-tar-tree - Create a tar archive of the files in the named tree object\n SYNOPSIS\n --------\n [verse]\n-'git tar-tree' [--remote=<repo>] <tree-ish> [ <base> ]\n+'git tar-tree' [--remote=<repo>] <treeish> [ <base> ]\n \n DESCRIPTION\n -----------\n@@ -30,7 +30,7 @@ It can be extracted using 'git get-tar-commit-id'.\n OPTIONS\n -------\n \n-<tree-ish>::\n+<treeish>::\n \tThe tree or commit to produce tar archive for.  If it is\n \tthe object name of a commit object.\n \ndiff --git a/Documentation/git.txt b/Documentation/git.txt\nindex 83edf30..c07915b 100644\n--- a/Documentation/git.txt\n+++ b/Documentation/git.txt\n@@ -600,9 +600,9 @@ Identifier Terminology\n <commit>::\n \tIndicates a commit object name.\n \n-<tree-ish>::\n+<treeish>::\n \tIndicates a tree, commit or tag object name.  A\n-\tcommand that takes a <tree-ish> argument ultimately wants to\n+\tcommand that takes a <treeish> argument ultimately wants to\n \toperate on a <tree> object but automatically dereferences\n \t<commit> and <tag> objects that point at a <tree>.\n \ndiff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt\nindex 9ac5088..4f8d4a0 100644\n--- a/Documentation/gitcli.txt\n+++ b/Documentation/gitcli.txt\n@@ -16,7 +16,7 @@ DESCRIPTION\n This manual describes the convention used throughout Git CLI.\n \n Many commands take revisions (most often \"commits\", but sometimes\n-\"tree-ish\", depending on the context and command) and paths as their\n+\"treeish\", depending on the context and command) and paths as their\n arguments.  Here are the rules:\n \n  * Revisions come first and then paths.\ndiff --git a/Documentation/gittutorial-2.txt b/Documentation/gittutorial-2.txt\nindex 3109ea8..c5f9903 100644\n--- a/Documentation/gittutorial-2.txt\n+++ b/Documentation/gittutorial-2.txt\n@@ -212,7 +212,7 @@ ways--by the SHA-1 name for that tree, by the name of a commit that\n refers to the tree, by the name of a branch whose head refers to that\n tree, etc.--and most such commands can accept any of these names.\n \n-In command synopses, the word \"tree-ish\" is sometimes used to\n+In command synopses, the word \"treeish\" is sometimes used to\n designate such an argument.\n \n The index file\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex b1993e0..257a7fe 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -498,7 +498,7 @@ should not be combined with other pathspec.\n \twith refs to the associated blob and/or tree objects. A\n \t<<def_tree,tree>> is equivalent to a <<def_directory,directory>>.\n \n-[[def_tree-ish]]tree-ish (also treeish)::\n+[[def_treeish]]treeish (also tree-ish)::\n \tA <<def_ref,ref>> pointing to either a <<def_commit_object,commit\n \tobject>>, a <<def_tree_object,tree object>>, or a <<def_tag_object,tag\n \tobject>> pointing to a tag or commit or tree object.\ndiff --git a/Documentation/revisions.txt b/Documentation/revisions.txt\nindex d477b3f..569b563 100644\n--- a/Documentation/revisions.txt\n+++ b/Documentation/revisions.txt\n@@ -147,7 +147,7 @@ it does not have to be dereferenced even once to get to an object.\n \n '<rev>:<path>', e.g. 'HEAD:README', ':README', 'master:./README'::\n   A suffix ':' followed by a path names the blob or tree\n-  at the given path in the tree-ish object named by the part\n+  at the given path in the treeish object named by the part\n   before the colon.\n   ':path' (with an empty part before the colon)\n   is a special case of the syntax described next: content\ndiff --git a/archive.c b/archive.c\nindex d254fa5..a76c068 100644\n--- a/archive.c\n+++ b/archive.c\n@@ -7,9 +7,9 @@\n #include \"unpack-trees.h\"\n \n static char const * const archive_usage[] = {\n-\tN_(\"git archive [options] <tree-ish> [<path>...]\"),\n+\tN_(\"git archive [options] <treeish> [<path>...]\"),\n \tN_(\"git archive --list\"),\n-\tN_(\"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]\"),\n+\tN_(\"git archive --remote <repo> [--exec <cmd>] [options] <treeish> [<path>...]\"),\n \tN_(\"git archive --remote <repo> [--exec <cmd>] --list\"),\n \tNULL\n };\n@@ -373,7 +373,7 @@ static int parse_archive_args(int argc, const char **argv,\n \tif (!format)\n \t\tformat = \"tar\";\n \n-\t/* We need at least one parameter -- tree-ish */\n+\t/* We need at least one parameter -- treeish */\n \tif (argc < 1)\n \t\tusage_with_options(archive_usage, opts);\n \t*ar = lookup_archiver(format);\ndiff --git a/builtin/checkout.c b/builtin/checkout.c\nindex 7025938..3b375e4 100644\n--- a/builtin/checkout.c\n+++ b/builtin/checkout.c\n@@ -283,7 +283,7 @@ static int checkout_paths(const struct checkout_opts *opts,\n \t\t\tcontinue;\n \t\tif (opts->source_tree && !(ce->ce_flags & CE_UPDATE))\n \t\t\t/*\n-\t\t\t * \"git checkout tree-ish -- path\", but this entry\n+\t\t\t * \"git checkout treeish -- path\", but this entry\n \t\t\t * is in the original index; it will not be checked\n \t\t\t * out to the working tree and it does not matter\n \t\t\t * if pathspec matched this entry.  We will not do\n@@ -291,11 +291,11 @@ static int checkout_paths(const struct checkout_opts *opts,\n \t\t\t */\n \t\t\tcontinue;\n \t\t/*\n-\t\t * Either this entry came from the tree-ish we are\n+\t\t * Either this entry came from the treeish we are\n \t\t * checking the paths out of, or we are checking out\n \t\t * of the index.\n \t\t *\n-\t\t * If it comes from the tree-ish, we already know it\n+\t\t * If it comes from the treeish, we already know it\n \t\t * matches the pathspec and could just stamp\n \t\t * CE_MATCHED to it from update_some(). But we still\n \t\t * need ps_matched and read_tree_recursive (and\ndiff --git a/builtin/diff-index.c b/builtin/diff-index.c\nindex 1c737f7..d931078 100644\n--- a/builtin/diff-index.c\n+++ b/builtin/diff-index.c\n@@ -7,7 +7,7 @@\n \n static const char diff_cache_usage[] =\n \"git diff-index [-m] [--cached] \"\n-\"[<common diff options>] <tree-ish> [<path>...]\"\n+\"[<common diff options>] <treeish> [<path>...]\"\n COMMON_DIFF_OPTIONS_HELP;\n \n int cmd_diff_index(int argc, const char **argv, const char *prefix)\ndiff --git a/builtin/diff-tree.c b/builtin/diff-tree.c\nindex be6417d..757b2e8 100644\n--- a/builtin/diff-tree.c\n+++ b/builtin/diff-tree.c\n@@ -88,7 +88,7 @@ static int diff_tree_stdin(char *line)\n \n static const char diff_tree_usage[] =\n \"git diff-tree [--stdin] [-m] [-c] [--cc] [-s] [-v] [--pretty] [-t] [-r] [--root] \"\n-\"[<common diff options>] <tree-ish> [<tree-ish>] [<path>...]\\n\"\n+\"[<common diff options>] <treeish> [<treeish>] [<path>...]\\n\"\n \"  -r            diff recursively\\n\"\n \"  --root        include the initial commit as diff against /dev/null\\n\"\n COMMON_DIFF_OPTIONS_HELP;\ndiff --git a/builtin/diff.c b/builtin/diff.c\nindex 9fc273d..05de306 100644\n--- a/builtin/diff.c\n+++ b/builtin/diff.c\n@@ -261,7 +261,7 @@ int cmd_diff(int argc, const char **argv, const char *prefix)\n \tint result = 0;\n \n \t/*\n-\t * We could get N tree-ish in the rev.pending_objects list.\n+\t * We could get N treeish in the rev.pending_objects list.\n \t * Also there could be M blobs there, and P pathspecs.\n \t *\n \t * N=0, M=0:\ndiff --git a/builtin/ls-files.c b/builtin/ls-files.c\nindex 5cf3e31..d57232a 100644\n--- a/builtin/ls-files.c\n+++ b/builtin/ls-files.c\n@@ -319,10 +319,10 @@ void overlay_tree_on_cache(const char *tree_name, const char *prefix)\n \tint i;\n \n \tif (get_sha1(tree_name, sha1))\n-\t\tdie(\"tree-ish %s not found.\", tree_name);\n+\t\tdie(\"treeish %s not found.\", tree_name);\n \ttree = parse_tree_indirect(sha1);\n \tif (!tree)\n-\t\tdie(\"bad tree-ish %s\", tree_name);\n+\t\tdie(\"bad treeish %s\", tree_name);\n \n \t/* Hoist the unmerged entries up to stage #3 to make room */\n \tfor (i = 0; i < active_nr; i++) {\n@@ -506,8 +506,8 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)\n \t\t\tPARSE_OPT_NOARG | PARSE_OPT_NONEG, NULL },\n \t\tOPT_BOOLEAN(0, \"error-unmatch\", &error_unmatch,\n \t\t\tN_(\"if any <file> is not in the index, treat this as an error\")),\n-\t\tOPT_STRING(0, \"with-tree\", &with_tree, N_(\"tree-ish\"),\n-\t\t\tN_(\"pretend that paths removed since <tree-ish> are still present\")),\n+\t\tOPT_STRING(0, \"with-tree\", &with_tree, N_(\"treeish\"),\n+\t\t\tN_(\"pretend that paths removed since <treeish> are still present\")),\n \t\tOPT__ABBREV(&abbrev),\n \t\tOPT_BOOLEAN(0, \"debug\", &debug_mode, N_(\"show debugging data\")),\n \t\tOPT_END()\ndiff --git a/builtin/ls-tree.c b/builtin/ls-tree.c\nindex fb76e38..948116a 100644\n--- a/builtin/ls-tree.c\n+++ b/builtin/ls-tree.c\n@@ -24,7 +24,7 @@ static int chomp_prefix;\n static const char *ls_tree_prefix;\n \n static const  char * const ls_tree_usage[] = {\n-\tN_(\"git ls-tree [<options>] <tree-ish> [<path>...]\"),\n+\tN_(\"git ls-tree [<options>] <treeish> [<path>...]\"),\n \tNULL\n };\n \ndiff --git a/builtin/read-tree.c b/builtin/read-tree.c\nindex 0f5d7fe..14a6367 100644\n--- a/builtin/read-tree.c\n+++ b/builtin/read-tree.c\n@@ -33,7 +33,7 @@ static int list_tree(unsigned char *sha1)\n }\n \n static const char * const read_tree_usage[] = {\n-\tN_(\"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\"),\n+\tN_(\"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<file>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"),\n \tNULL\n };\n \ndiff --git a/builtin/reset.c b/builtin/reset.c\nindex afa6e02..ecc47d9 100644\n--- a/builtin/reset.c\n+++ b/builtin/reset.c\n@@ -23,8 +23,8 @@\n \n static const char * const git_reset_usage[] = {\n \tN_(\"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]\"),\n-\tN_(\"git reset [-q] <tree-ish> [--] <paths>...\"),\n-\tN_(\"git reset --patch [<tree-ish>] [--] [<paths>...]\"),\n+\tN_(\"git reset [-q] <treeish> [--] <paths>...\"),\n+\tN_(\"git reset --patch [<treeish>] [--] [<paths>...]\"),\n \tNULL\n };\n \ndiff --git a/builtin/tar-tree.c b/builtin/tar-tree.c\nindex 3f1e701..8d751a2 100644\n--- a/builtin/tar-tree.c\n+++ b/builtin/tar-tree.c\n@@ -8,7 +8,7 @@\n #include \"quote.h\"\n \n static const char tar_tree_usage[] =\n-\"git tar-tree [--remote=<repo>] <tree-ish> [basedir]\\n\"\n+\"git tar-tree [--remote=<repo>] <treeish> [basedir]\\n\"\n \"*** Note that this command is now deprecated; use \\\"git archive\\\" instead.\";\n \n static const char builtin_get_tar_commit_id_usage[] =\n@@ -21,10 +21,10 @@ int cmd_tar_tree(int argc, const char **argv, const char *prefix)\n \t *\n \t * $0 --remote=<repo> arg... ==>\n \t *\tgit archive --format=tar --remote=<repo> arg...\n-\t * $0 tree-ish ==>\n-\t *\tgit archive --format=tar tree-ish\n-\t * $0 tree-ish basedir ==>\n-\t * \tgit archive --format-tar --prefix=basedir tree-ish\n+\t * $0 treeish ==>\n+\t *\tgit archive --format=tar treeish\n+\t * $0 treeish basedir ==>\n+\t * \tgit archive --format-tar --prefix=basedir treeish\n \t */\n \tint i;\n \tconst char **nargv = xcalloc(sizeof(*nargv), argc + 3);\n@@ -57,7 +57,7 @@ int cmd_tar_tree(int argc, const char **argv, const char *prefix)\n \t\tnargv[nargc++] = basedir_arg;\n \t\t/* fallthru */\n \tcase 2:\n-\t\t/* tree-ish */\n+\t\t/* treeish */\n \t\tnargv[nargc++] = argv[1];\n \t}\n \tnargv[nargc] = NULL;\ndiff --git a/contrib/examples/git-checkout.sh b/contrib/examples/git-checkout.sh\nindex 1a7689a..9c6a1a9 100755\n--- a/contrib/examples/git-checkout.sh\n+++ b/contrib/examples/git-checkout.sh\n@@ -85,7 +85,7 @@ then\n \tshift\n elif rev=$(git rev-parse --verify \"$rev^{tree}\" 2>/dev/null)\n then\n-\t# checking out selected paths from a tree-ish.\n+\t# checking out selected paths from a treeish.\n \tnew=\"$rev\"\n \tnew_name=\"$rev^{tree}\"\n \tshift\n@@ -110,7 +110,7 @@ esac\n #\n # With paths, we are _never_ switching branch, but checking out\n # the named paths from either index (when no rev is given),\n-# or the named tree-ish (when rev is given).\n+# or the named treeish (when rev is given).\n \n if test \"$#\" -ge 1\n then\n@@ -126,9 +126,9 @@ Did you intend to checkout '$@' which can not be resolved as commit?\"\n \tfi\n \tif test '' != \"$new\"\n \tthen\n-\t\t# from a specific tree-ish; note that this is for\n+\t\t# from a specific treeish; note that this is for\n \t\t# rescuing paths and is never meant to remove what\n-\t\t# is not in the named tree-ish.\n+\t\t# is not in the named treeish.\n \t\tgit ls-tree --full-name -r \"$new\" \"$@\" |\n \t\tgit update-index --index-info || exit $?\n \tfi\n@@ -147,7 +147,7 @@ Did you intend to checkout '$@' which can not be resolved as commit?\"\n \texit $?\n else\n \t# Make sure we did not fall back on $arg^{tree} codepath\n-\t# since we are not checking out from an arbitrary tree-ish,\n+\t# since we are not checking out from an arbitrary treeish,\n \t# but switching branches.\n \tif test '' != \"$new\"\n \tthen\ndiff --git a/fast-import.c b/fast-import.c\nindex 23f625f..b86576b 100644\n--- a/fast-import.c\n+++ b/fast-import.c\n@@ -3053,7 +3053,7 @@ static void parse_ls(struct branch *b)\n \t\thashcpy(root->versions[1].sha1, e->idx.sha1);\n \t\tload_tree(root);\n \t\tif (*p++ != ' ')\n-\t\t\tdie(\"Missing space after tree-ish: %s\", command_buf.buf);\n+\t\t\tdie(\"Missing space after treeish: %s\", command_buf.buf);\n \t}\n \tif (*p == '\"') {\n \t\tstatic struct strbuf uq = STRBUF_INIT;\ndiff --git a/git-svn.perl b/git-svn.perl\nindex ff1ce3d..f9de11e 100755\n--- a/git-svn.perl\n+++ b/git-svn.perl\n@@ -216,7 +216,7 @@ my %cmd = (\n \t           'username=s' => \\$Git::SVN::Prompt::_username,\n \t           'commit-url=s' => \\$_commit_url } ],\n \t'set-tree' => [ \\&cmd_set_tree,\n-\t                \"Set an SVN repository to a git tree-ish\",\n+\t                \"Set an SVN repository to a git treeish\",\n \t\t\t{ 'stdin' => \\$_stdin, %cmt_opts, %fc_opts, } ],\n \t'create-ignore' => [ \\&cmd_create_ignore,\n \t\t\t     'Create a .gitignore per svn:ignore',\n@@ -259,7 +259,7 @@ my %cmd = (\n \t\t\t  'pager=s' => \\$Git::SVN::Log::pager\n \t\t\t} ],\n \t'find-rev' => [ \\&cmd_find_rev,\n-\t                \"Translate between SVN revision numbers and tree-ish\",\n+\t                \"Translate between SVN revision numbers and treeish\",\n \t\t\t{ 'before' => \\$_before,\n \t\t\t  'after' => \\$_after } ],\n \t'rebase' => [ \\&cmd_rebase, \"Fetch and rebase your working directory\",\n@@ -1431,7 +1431,7 @@ sub cmd_multi_fetch {\n sub cmd_commit_diff {\n \tmy ($ta, $tb, $url) = @_;\n \tmy $usage = \"usage: $0 commit-diff -r<revision> \".\n-\t            \"<tree-ish> <tree-ish> [<URL>]\";\n+\t            \"<treeish> <treeish> [<URL>]\";\n \tfatal($usage) if (!defined $ta || !defined $tb);\n \tmy $svn_path = '';\n \tif (!defined $url) {\ndiff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl\nindex f429f75..3f4c8ae 100755\n--- a/gitweb/gitweb.perl\n+++ b/gitweb/gitweb.perl\n@@ -2765,7 +2765,7 @@ sub git_get_hash_by_path {\n \treturn $3;\n }\n \n-# get path of entry with given hash at given tree-ish (ref)\n+# get path of entry with given hash at given treeish (ref)\n # used to get 'from' filename for combined diff (merge commit) for renames\n sub git_get_path_by_hash {\n \tmy $base = shift || return;\n@@ -7235,7 +7235,7 @@ sub git_snapshot {\n \tif (!$type) {\n \t\tdie_error(404, 'Object does not exist');\n \t}  elsif ($type eq 'blob') {\n-\t\tdie_error(400, 'Object is not a tree-ish');\n+\t\tdie_error(400, 'Object is not a treeish');\n \t}\n \n \tmy ($name, $prefix) = snapshot_name($project, $hash);\ndiff --git a/po/de.po b/po/de.po\nindex 11dde11..00519b2 100644\n--- a/po/de.po\n+++ b/po/de.po\n@@ -39,7 +39,7 @@ msgstr \"\"\n \"oder benutzen Sie 'git commit -a'.\"\n \n #: archive.c:10\n-msgid \"git archive [options] <tree-ish> [<path>...]\"\n+msgid \"git archive [options] <treeish> [<path>...]\"\n msgstr \"git archive [Optionen] <Commit-Referenz> [<Pfad>...]\"\n \n #: archive.c:11\n@@ -48,7 +48,7 @@ msgstr \"git archive --list\"\n \n #: archive.c:12\n msgid \"\"\n-\"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]\"\n+\"git archive --remote <repo> [--exec <cmd>] [options] <treeish> [<path>...]\"\n msgstr \"\"\n \"git archive --remote <Repository> [--exec <Programm>] [Optionen] <Commit-\"\n \"Referenz> [Pfad...]\"\n@@ -6494,11 +6494,11 @@ msgstr \"\"\n \"befindet\"\n \n #: builtin/ls-files.c:509\n-msgid \"tree-ish\"\n+msgid \"treeish\"\n msgstr \"Commit-Referenz\"\n \n #: builtin/ls-files.c:510\n-msgid \"pretend that paths removed since <tree-ish> are still present\"\n+msgid \"pretend that paths removed since <treeish> are still present\"\n msgstr \"\"\n \"gibt vor, dass Pfade, die seit <Commit-Referenz> gelöscht wurden, immer noch \"\n \"vorhanden sind\"\n@@ -6508,7 +6508,7 @@ msgid \"show debugging data\"\n msgstr \"zeigt Ausgaben zur Fehlersuche an\"\n \n #: builtin/ls-tree.c:27\n-msgid \"git ls-tree [<options>] <tree-ish> [<path>...]\"\n+msgid \"git ls-tree [<options>] <treeish> [<path>...]\"\n msgstr \"git ls-tree [<Optionen>] <Commit-Referenz> [<Pfad>...]\"\n \n #: builtin/ls-tree.c:125\n@@ -7969,7 +7969,7 @@ msgstr \"Die Option --delete kann nur mit Referenzen verwendet werden.\"\n msgid \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n-\"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\"\n+\"index-output=<file>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"\n msgstr \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<Prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n@@ -8596,11 +8596,11 @@ msgstr \"\"\n \"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<Commit>]\"\n \n #: builtin/reset.c:26\n-msgid \"git reset [-q] <tree-ish> [--] <paths>...\"\n+msgid \"git reset [-q] <treeish> [--] <paths>...\"\n msgstr \"git reset [-q] <Commit-Referenz> [--] <Pfade>...\"\n \n #: builtin/reset.c:27\n-msgid \"git reset --patch [<tree-ish>] [--] [<paths>...]\"\n+msgid \"git reset --patch [<treeish>] [--] [<paths>...]\"\n msgstr \"git reset --patch [<Commit-Referenz>] [--] [<Pfade>...]\"\n \n #: builtin/reset.c:33\ndiff --git a/po/fr.po b/po/fr.po\nindex fa98cfe..8d74171 100644\n--- a/po/fr.po\n+++ b/po/fr.po\n@@ -37,7 +37,7 @@ msgstr \"Corrigez-les dans l'espace de travail,\\n\"\n \"ou utilisez 'git commit -a'.\"\n \n #: archive.c:10\n-msgid \"git archive [options] <tree-ish> [<path>...]\"\n+msgid \"git archive [options] <treeish> [<path>...]\"\n msgstr \"git archive [options] <arbre> [<chemin>...]\"\n \n #: archive.c:11\n@@ -46,7 +46,7 @@ msgstr \"git archive --list\"\n \n #: archive.c:12\n msgid \"\"\n-\"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]\"\n+\"git archive --remote <repo> [--exec <cmd>] [options] <treeish> [<path>...]\"\n msgstr \"git archive --remote <dépot> [--exec <commande>] [options] <arbre> [<chemin>...]\"\n \n #: archive.c:13\n@@ -5959,11 +5959,11 @@ msgid \"if any <file> is not in the index, treat this as an error\"\n msgstr \"\"\n \n #: builtin/ls-files.c:503\n-msgid \"tree-ish\"\n+msgid \"treeish\"\n msgstr \"\"\n \n #: builtin/ls-files.c:504\n-msgid \"pretend that paths removed since <tree-ish> are still present\"\n+msgid \"pretend that paths removed since <treeish> are still present\"\n msgstr \"\"\n \n #: builtin/ls-files.c:506\n@@ -5971,7 +5971,7 @@ msgid \"show debugging data\"\n msgstr \"\"\n \n #: builtin/ls-tree.c:27\n-msgid \"git ls-tree [<options>] <tree-ish> [<path>...]\"\n+msgid \"git ls-tree [<options>] <treeish> [<path>...]\"\n msgstr \"\"\n \n #: builtin/ls-tree.c:125\n@@ -7307,7 +7307,7 @@ msgstr \"\"\n msgid \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n-\"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\"\n+\"index-output=<file>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"\n msgstr \"\"\n \n #: builtin/read-tree.c:108\n@@ -7894,11 +7894,11 @@ msgid \"\"\n msgstr \"\"\n \n #: builtin/reset.c:26\n-msgid \"git reset [-q] <tree-ish> [--] <paths>...\"\n+msgid \"git reset [-q] <treeish> [--] <paths>...\"\n msgstr \"\"\n \n #: builtin/reset.c:27\n-msgid \"git reset --patch [<tree-ish>] [--] [<paths>...]\"\n+msgid \"git reset --patch [<treeish>] [--] [<paths>...]\"\n msgstr \"\"\n \n #: builtin/reset.c:33\ndiff --git a/po/git.pot b/po/git.pot\nindex cf1e446..928268f 100644\n--- a/po/git.pot\n+++ b/po/git.pot\n@@ -36,7 +36,7 @@ msgid \"\"\n msgstr \"\"\n \n #: archive.c:10\n-msgid \"git archive [options] <tree-ish> [<path>...]\"\n+msgid \"git archive [options] <treeish> [<path>...]\"\n msgstr \"\"\n \n #: archive.c:11\n@@ -45,7 +45,7 @@ msgstr \"\"\n \n #: archive.c:12\n msgid \"\"\n-\"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]\"\n+\"git archive --remote <repo> [--exec <cmd>] [options] <treeish> [<path>...]\"\n msgstr \"\"\n \n #: archive.c:13\n@@ -6084,11 +6084,11 @@ msgid \"if any <file> is not in the index, treat this as an error\"\n msgstr \"\"\n \n #: builtin/ls-files.c:509\n-msgid \"tree-ish\"\n+msgid \"treeish\"\n msgstr \"\"\n \n #: builtin/ls-files.c:510\n-msgid \"pretend that paths removed since <tree-ish> are still present\"\n+msgid \"pretend that paths removed since <treeish> are still present\"\n msgstr \"\"\n \n #: builtin/ls-files.c:512\n@@ -6096,7 +6096,7 @@ msgid \"show debugging data\"\n msgstr \"\"\n \n #: builtin/ls-tree.c:27\n-msgid \"git ls-tree [<options>] <tree-ish> [<path>...]\"\n+msgid \"git ls-tree [<options>] <treeish> [<path>...]\"\n msgstr \"\"\n \n #: builtin/ls-tree.c:125\n@@ -7411,7 +7411,7 @@ msgstr \"\"\n msgid \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n-\"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\"\n+\"index-output=<file>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"\n msgstr \"\"\n \n #: builtin/read-tree.c:109\n@@ -8008,11 +8008,11 @@ msgid \"\"\n msgstr \"\"\n \n #: builtin/reset.c:26\n-msgid \"git reset [-q] <tree-ish> [--] <paths>...\"\n+msgid \"git reset [-q] <treeish> [--] <paths>...\"\n msgstr \"\"\n \n #: builtin/reset.c:27\n-msgid \"git reset --patch [<tree-ish>] [--] [<paths>...]\"\n+msgid \"git reset --patch [<treeish>] [--] [<paths>...]\"\n msgstr \"\"\n \n #: builtin/reset.c:33\ndiff --git a/po/sv.po b/po/sv.po\nindex 12dfca9..cdee340 100644\n--- a/po/sv.po\n+++ b/po/sv.po\n@@ -39,7 +39,7 @@ msgstr \"\"\n \"eller använd \\\"git commit -a\\\".\"\n \n #: archive.c:10\n-msgid \"git archive [options] <tree-ish> [<path>...]\"\n+msgid \"git archive [options] <treeish> [<path>...]\"\n msgstr \"git archive [flaggor] <träd-igt> [<sökväg>...]\"\n \n #: archive.c:11\n@@ -48,7 +48,7 @@ msgstr \"git archive --list\"\n \n #: archive.c:12\n msgid \"\"\n-\"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]\"\n+\"git archive --remote <repo> [--exec <cmd>] [options] <treeish> [<path>...]\"\n msgstr \"\"\n \"git archive --remote <arkiv> [--exec <kmd>] [flaggor] <träd-igt> \"\n \"[<sökväg>...]\"\n@@ -6334,11 +6334,11 @@ msgid \"if any <file> is not in the index, treat this as an error\"\n msgstr \"om en <fil> inte är indexet, betrakta det som ett fel\"\n \n #: builtin/ls-files.c:509\n-msgid \"tree-ish\"\n+msgid \"treeish\"\n msgstr \"träd-igt\"\n \n #: builtin/ls-files.c:510\n-msgid \"pretend that paths removed since <tree-ish> are still present\"\n+msgid \"pretend that paths removed since <treeish> are still present\"\n msgstr \"låtsas att sökvägar borttagna sedan <träd-igt> fortfarande finns\"\n \n #: builtin/ls-files.c:512\n@@ -6346,7 +6346,7 @@ msgid \"show debugging data\"\n msgstr \"visa felsökningsutdata\"\n \n #: builtin/ls-tree.c:27\n-msgid \"git ls-tree [<options>] <tree-ish> [<path>...]\"\n+msgid \"git ls-tree [<options>] <treeish> [<path>...]\"\n msgstr \"git ls-tree [<flaggor>] <träd-igt> [<sökväg>...]\"\n \n #: builtin/ls-tree.c:125\n@@ -7770,7 +7770,7 @@ msgstr \"--delete kan inte användas utan referenser\"\n msgid \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n-\"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\"\n+\"index-output=<file>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"\n msgstr \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n@@ -8383,11 +8383,11 @@ msgstr \"\"\n \"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<incheckning>]\"\n \n #: builtin/reset.c:26\n-msgid \"git reset [-q] <tree-ish> [--] <paths>...\"\n+msgid \"git reset [-q] <treeish> [--] <paths>...\"\n msgstr \"git reset [-q] <träd-igt> [--] <sökvägar>...\"\n \n #: builtin/reset.c:27\n-msgid \"git reset --patch [<tree-ish>] [--] [<paths>...]\"\n+msgid \"git reset --patch [<treeish>] [--] [<paths>...]\"\n msgstr \"git reset --patch [<träd-igt>] [--] [<sökvägar>...]\"\n \n #: builtin/reset.c:33\ndiff --git a/po/vi.po b/po/vi.po\nindex dd2d2a7..ebc079c 100644\n--- a/po/vi.po\n+++ b/po/vi.po\n@@ -43,8 +43,8 @@ msgstr \"\"\n \"hoặc là dùng lệnh \\\"git commit -a\\\".\"\n \n #: archive.c:10\n-msgid \"git archive [options] <tree-ish> [<path>...]\"\n-msgstr \"git archive [các-tùy-chọn] <tree-ish> [<đường-dẫn>...]\"\n+msgid \"git archive [options] <treeish> [<path>...]\"\n+msgstr \"git archive [các-tùy-chọn] <treeish> [<đường-dẫn>...]\"\n \n #: archive.c:11\n msgid \"git archive --list\"\n@@ -52,9 +52,9 @@ msgstr \"git archive --list\"\n \n #: archive.c:12\n msgid \"\"\n-\"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]\"\n+\"git archive --remote <repo> [--exec <cmd>] [options] <treeish> [<path>...]\"\n msgstr \"\"\n-\"git archive --remote <kho> [--exec <lệnh>] [các-tùy-chọn] <tree-ish> [<đường-\"\n+\"git archive --remote <kho> [--exec <lệnh>] [các-tùy-chọn] <treeish> [<đường-\"\n \"dẫn>...]\"\n \n #: archive.c:13\n@@ -6450,21 +6450,21 @@ msgid \"if any <file> is not in the index, treat this as an error\"\n msgstr \"nếu <tập tin> bất kỳ không ở trong bảng mục lục, xử lý nó như một lỗi\"\n \n #: builtin/ls-files.c:509\n-msgid \"tree-ish\"\n-msgstr \"tree-ish\"\n+msgid \"treeish\"\n+msgstr \"treeish\"\n \n #: builtin/ls-files.c:510\n-msgid \"pretend that paths removed since <tree-ish> are still present\"\n+msgid \"pretend that paths removed since <treeish> are still present\"\n msgstr \"\"\n-\"giả định rằng các đường dẫn đã bị gỡ bỏ kể từ <tree-ish> nay vẫn hiện diện\"\n+\"giả định rằng các đường dẫn đã bị gỡ bỏ kể từ <treeish> nay vẫn hiện diện\"\n \n #: builtin/ls-files.c:512\n msgid \"show debugging data\"\n msgstr \"hiển thị dữ liệu gỡ lỗi\"\n \n #: builtin/ls-tree.c:27\n-msgid \"git ls-tree [<options>] <tree-ish> [<path>...]\"\n-msgstr \"git ls-tree [<các-tùy-chọn>] <tree-ish> [<đường-dẫn>...]\"\n+msgid \"git ls-tree [<options>] <treeish> [<path>...]\"\n+msgstr \"git ls-tree [<các-tùy-chọn>] <treeish> [<đường-dẫn>...]\"\n \n #: builtin/ls-tree.c:125\n msgid \"only show trees\"\n@@ -7912,12 +7912,11 @@ msgstr \"--delete không hợp lý nếu không có bất kỳ tham chiếu (refs\n msgid \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n-\"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\"\n+\"index-output=<file>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"\n msgstr \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<tiền-\"\n \"tố>] [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] \"\n-\"[--index-output=<tập-tin>] (--empty | <tree-ish1> [<tree-ish2> [<tree-\"\n-\"ish3>]])\"\n+\"[--index-output=<tập-tin>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"\n \n #: builtin/read-tree.c:109\n msgid \"write resulting index to <file>\"\n@@ -8529,12 +8528,12 @@ msgstr \"\"\n \"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<commit>]\"\n \n #: builtin/reset.c:26\n-msgid \"git reset [-q] <tree-ish> [--] <paths>...\"\n-msgstr \"git reset [-q] <tree-ish> [--] <đường-dẫn>...\"\n+msgid \"git reset [-q] <treeish> [--] <paths>...\"\n+msgstr \"git reset [-q] <treeish> [--] <đường-dẫn>...\"\n \n #: builtin/reset.c:27\n-msgid \"git reset --patch [<tree-ish>] [--] [<paths>...]\"\n-msgstr \"git reset --patch [<tree-ish>] [--] [<các-đường-dẫn>...]\"\n+msgid \"git reset --patch [<treeish>] [--] [<paths>...]\"\n+msgstr \"git reset --patch [<treeish>] [--] [<các-đường-dẫn>...]\"\n \n #: builtin/reset.c:33\n msgid \"mixed\"\ndiff --git a/po/zh_CN.po b/po/zh_CN.po\nindex b7b46f1..497d847 100644\n--- a/po/zh_CN.po\n+++ b/po/zh_CN.po\n@@ -43,7 +43,7 @@ msgstr \"\"\n \"或使用 'git commit -a'。\"\n \n #: archive.c:10\n-msgid \"git archive [options] <tree-ish> [<path>...]\"\n+msgid \"git archive [options] <treeish> [<path>...]\"\n msgstr \"git archive [选项] <树或提交> [<路径>...]\"\n \n #: archive.c:11\n@@ -52,7 +52,7 @@ msgstr \"git archive --list\"\n \n #: archive.c:12\n msgid \"\"\n-\"git archive --remote <repo> [--exec <cmd>] [options] <tree-ish> [<path>...]\"\n+\"git archive --remote <repo> [--exec <cmd>] [options] <treeish> [<path>...]\"\n msgstr \"\"\n \"git archive --remote <版本库> [--exec <命令>] [选项] <树或提交> [<路径>...]\"\n \n@@ -6338,11 +6338,11 @@ msgid \"if any <file> is not in the index, treat this as an error\"\n msgstr \"如果任何 <文件> 都不在索引区，视为错误\"\n \n #: builtin/ls-files.c:509\n-msgid \"tree-ish\"\n+msgid \"treeish\"\n msgstr \"树或提交\"\n \n #: builtin/ls-files.c:510\n-msgid \"pretend that paths removed since <tree-ish> are still present\"\n+msgid \"pretend that paths removed since <treeish> are still present\"\n msgstr \"假装自从 <树或提交> 之后删除的路径仍然存在\"\n \n #: builtin/ls-files.c:512\n@@ -6350,7 +6350,7 @@ msgid \"show debugging data\"\n msgstr \"显示调试数据\"\n \n #: builtin/ls-tree.c:27\n-msgid \"git ls-tree [<options>] <tree-ish> [<path>...]\"\n+msgid \"git ls-tree [<options>] <treeish> [<path>...]\"\n msgstr \"git ls-tree [<选项>] <树或提交> [<路径>...]\"\n \n #: builtin/ls-tree.c:125\n@@ -7740,7 +7740,7 @@ msgstr \"--delete 未接任何引用没有意义\"\n msgid \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] \"\n \"[-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n-\"index-output=<file>] (--empty | <tree-ish1> [<tree-ish2> [<tree-ish3>]])\"\n+\"index-output=<file>] (--empty | <treeish1> [<treeish2> [<treeish3>]])\"\n msgstr \"\"\n \"git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<前缀>] [-\"\n \"u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--\"\n@@ -8350,11 +8350,11 @@ msgid \"\"\n msgstr \"git reset [--mixed | --soft | --hard | --merge | --keep] [-q] [<提交>]\"\n \n #: builtin/reset.c:26\n-msgid \"git reset [-q] <tree-ish> [--] <paths>...\"\n+msgid \"git reset [-q] <treeish> [--] <paths>...\"\n msgstr \"git reset [-q] <树或提交> [--] <路径>...\"\n \n #: builtin/reset.c:27\n-msgid \"git reset --patch [<tree-ish>] [--] [<paths>...]\"\n+msgid \"git reset --patch [<treeish>] [--] [<paths>...]\"\n msgstr \"git reset --patch [<树或提交>] [--] [<路径>...]\"\n \n #: builtin/reset.c:33\ndiff --git a/t/t1512-rev-parse-disambiguation.sh b/t/t1512-rev-parse-disambiguation.sh\nindex 4a155c8..840bb6e 100755\n--- a/t/t1512-rev-parse-disambiguation.sh\n+++ b/t/t1512-rev-parse-disambiguation.sh\n@@ -45,12 +45,12 @@ test_expect_success 'warn ambiguity when no candidate matches type hint' '\n \tgrep \"short SHA1 000000000 is ambiguous\" actual\n '\n \n-test_expect_success 'disambiguate tree-ish' '\n-\t# feed tree-ish in an unambiguous way\n+test_expect_success 'disambiguate treeish' '\n+\t# feed treeish in an unambiguous way\n \tgit rev-parse --verify 0000000000cdc:a0blgqsjc &&\n \n \t# ambiguous at the object name level, but there is only one\n-\t# such tree-ish (the other is a blob)\n+\t# such treeish (the other is a blob)\n \tgit rev-parse --verify 000000000:a0blgqsjc\n '\n \n@@ -159,8 +159,8 @@ test_expect_failure 'two semi-ambiguous commit-ish' '\n \tgit log 0000000000...\n '\n \n-test_expect_failure 'three semi-ambiguous tree-ish' '\n-\t# Likewise for tree-ish.  HEAD, v1.0.0 and HEAD^{tree} share\n+test_expect_failure 'three semi-ambiguous treeish' '\n+\t# Likewise for treeish.  HEAD, v1.0.0 and HEAD^{tree} share\n \t# the prefix but peeling them to tree yields the same thing\n \tgit rev-parse --verify 0000000000^{tree}\n '\ndiff --git a/t/t2010-checkout-ambiguous.sh b/t/t2010-checkout-ambiguous.sh\nindex 7cc0a35..9a4736c 100755\n--- a/t/t2010-checkout-ambiguous.sh\n+++ b/t/t2010-checkout-ambiguous.sh\n@@ -41,7 +41,7 @@ test_expect_success 'check ambiguity' '\n \ttest_must_fail git checkout world all\n '\n \n-test_expect_success 'disambiguate checking out from a tree-ish' '\n+test_expect_success 'disambiguate checking out from a treeish' '\n \techo bye > world &&\n \tgit checkout world -- world &&\n \tgit diff --exit-code --quiet\ndiff --git a/t/t4100/t-apply-3.patch b/t/t4100/t-apply-3.patch\nindex 90cdbaa..c0242f1 100644\n--- a/t/t4100/t-apply-3.patch\n+++ b/t/t4100/t-apply-3.patch\n@@ -12,8 +12,8 @@ diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt\n  \n  SYNOPSIS\n  --------\n--'git-ls-tree' [-r] [-z] <tree-ish> [paths...]\n-+'git-ls-tree' [-d] [-r] [-z] <tree-ish> [paths...]\n+-'git-ls-tree' [-r] [-z] <treeish> [paths...]\n++'git-ls-tree' [-d] [-r] [-z] <treeish> [paths...]\n  \n  DESCRIPTION\n  -----------\n@@ -24,7 +24,7 @@ diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt\n  \n  OPTIONS\n  -------\n- <tree-ish>::\n+ <treeish>::\n  \tId of a tree.\n  \n +-d::\n@@ -485,7 +485,7 @@ dissimilarity index 82%\n +}\n +\n +static const char *ls_tree_usage =\n-+\t\"git-ls-tree [-d] [-r] [-z] <tree-ish> [path...]\";\n++\t\"git-ls-tree [-d] [-r] [-z] <treeish> [path...]\";\n +\n +int main(int argc, char **argv)\n +{\ndiff --git a/t/t4100/t-apply-7.patch b/t/t4100/t-apply-7.patch\nindex 07c6589..83ac01e 100644\n--- a/t/t4100/t-apply-7.patch\n+++ b/t/t4100/t-apply-7.patch\n@@ -11,8 +11,8 @@ diff a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt\n  \n  SYNOPSIS\n  --------\n--'git-ls-tree' [-r] [-z] <tree-ish> [paths...]\n-+'git-ls-tree' [-d] [-r] [-z] <tree-ish> [paths...]\n+-'git-ls-tree' [-r] [-z] <treeish> [paths...]\n++'git-ls-tree' [-d] [-r] [-z] <treeish> [paths...]\n  \n  DESCRIPTION\n  -----------\n@@ -23,7 +23,7 @@ diff a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt\n  \n  OPTIONS\n  -------\n- <tree-ish>::\n+ <treeish>::\n  \tId of a tree.\n  \n +-d::\n@@ -415,7 +415,7 @@ diff a/ls-tree.c b/ls-tree.c\n  \n -static const char *ls_tree_usage = \"git-ls-tree [-r] [-z] <key> [paths...]\";\n +static const char *ls_tree_usage =\n-+\t\"git-ls-tree [-d] [-r] [-z] <tree-ish> [path...]\";\n++\t\"git-ls-tree [-d] [-r] [-z] <treeish> [path...]\";\n  \n  int main(int argc, char **argv)\n  {\ndiff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh\nindex ac6f3b6..4e1f2b8 100755\n--- a/t/t9300-fast-import.sh\n+++ b/t/t9300-fast-import.sh\n@@ -2931,7 +2931,7 @@ test_expect_success 'S: ls with garbage after sha1 must fail' '\n \tls ${sha1}x hello.c\n \tEOF\n \tcat err &&\n-\ttest_i18ngrep \"space after tree-ish\" err\n+\ttest_i18ngrep \"space after treeish\" err\n '\n \n test_done\ndiff --git a/t/t9500-gitweb-standalone-no-errors.sh b/t/t9500-gitweb-standalone-no-errors.sh\nindex 6fca193..7c8cd90 100755\n--- a/t/t9500-gitweb-standalone-no-errors.sh\n+++ b/t/t9500-gitweb-standalone-no-errors.sh\n@@ -131,7 +131,7 @@ test_expect_success \\\n \n \n # ----------------------------------------------------------------------\n-# commitdiff testing (implicit, one implicit tree-ish)\n+# commitdiff testing (implicit, one implicit treeish)\n \n test_expect_success \\\n \t'commitdiff(0): root' \\\ndiff --git a/t/t9501-gitweb-standalone-http-status.sh b/t/t9501-gitweb-standalone-http-status.sh\nindex d3a5bac..54fe370 100755\n--- a/t/t9501-gitweb-standalone-http-status.sh\n+++ b/t/t9501-gitweb-standalone-http-status.sh\n@@ -84,25 +84,25 @@ test_debug 'cat gitweb.headers'\n # ----------------------------------------------------------------------\n # snapshot hash ids\n \n-test_expect_success 'snapshots: good tree-ish id' '\n+test_expect_success 'snapshots: good treeish id' '\n \tgitweb_run \"p=.git;a=snapshot;h=master;sf=tgz\" &&\n \tgrep \"Status: 200 OK\" gitweb.output\n '\n test_debug 'cat gitweb.headers'\n \n-test_expect_success 'snapshots: bad tree-ish id' '\n+test_expect_success 'snapshots: bad treeish id' '\n \tgitweb_run \"p=.git;a=snapshot;h=frizzumFrazzum;sf=tgz\" &&\n \tgrep \"404 - Object does not exist\" gitweb.output\n '\n test_debug 'cat gitweb.output'\n \n-test_expect_success 'snapshots: bad tree-ish id (tagged object)' '\n+test_expect_success 'snapshots: bad treeish id (tagged object)' '\n \techo object > tag-object &&\n \tgit add tag-object &&\n \ttest_tick && git commit -m \"Object to be tagged\" &&\n \tgit tag tagged-object `git hash-object tag-object` &&\n \tgitweb_run \"p=.git;a=snapshot;h=tagged-object;sf=tgz\" &&\n-\tgrep \"400 - Object is not a tree-ish\" gitweb.output\n+\tgrep \"400 - Object is not a treeish\" gitweb.output\n '\n test_debug 'cat gitweb.output'\n \n-- \n1.8.4\n"},{"id":"226501","messageId":"1378100066-31889-5-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378100066-31889-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v2 4/7] use 'committish' instead of 'commit-ish'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:23Z","receivedAt":"2013-09-02T05:34:23Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Replace all instances of 'commit-ish' with 'committish':\n  * to standardize on a single spelling (the documentation contained a\n    mix of 'committish' and 'commit-ish')\n  * to be consistent with variable names (hyphens are not usually\n    allowed in variable names)\n  * to be consistent with 'treeish'\n  * some search engines don't handle hyphens gracefully\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/git-rebase.txt        |  2 +-\n Documentation/git-rev-parse.txt     |  2 +-\n Documentation/git.txt               |  4 ++--\n builtin/revert.c                    |  4 ++--\n contrib/examples/git-reset.sh       |  2 +-\n contrib/examples/git-revert.sh      |  4 ++--\n po/de.po                            |  4 ++--\n po/fr.po                            |  4 ++--\n po/git.pot                          |  4 ++--\n po/sv.po                            |  4 ++--\n po/vi.po                            |  8 ++++----\n po/zh_CN.po                         |  4 ++--\n remote.c                            |  2 +-\n t/t1512-rev-parse-disambiguation.sh | 16 ++++++++--------\n 14 files changed, 32 insertions(+), 32 deletions(-)\n\ndiff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt\nindex 6b2e1c8..f8ac62d 100644\n--- a/Documentation/git-rebase.txt\n+++ b/Documentation/git-rebase.txt\n@@ -174,7 +174,7 @@ would result in the removal of commits F and G:\n \n This is useful if F and G were flawed in some way, or should not be\n part of topicA.  Note that the argument to --onto and the <upstream>\n-parameter can be any valid commit-ish.\n+parameter can be any valid committish.\n \n In case of conflict, 'git rebase' will stop at the first problematic commit\n and leave conflict markers in the tree.  You can use 'git diff' to locate\ndiff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt\nindex d068a65..56f643d 100644\n--- a/Documentation/git-rev-parse.txt\n+++ b/Documentation/git-rev-parse.txt\n@@ -100,7 +100,7 @@ If you want to make sure that the output actually names an object in\n your object database and/or can be used as a specific type of object\n you require, you can add \"^{type}\" peeling operator to the parameter.\n For example, `git rev-parse \"$VAR^{commit}\"` will make sure `$VAR`\n-names an existing object that is a commit-ish (i.e. a commit, or an\n+names an existing object that is a committish (i.e. a commit, or an\n annotated tag that points at a commit).  To make sure that `$VAR`\n names an existing object of any type, `git rev-parse \"$VAR^{object}\"`\n can be used.\ndiff --git a/Documentation/git.txt b/Documentation/git.txt\nindex c07915b..9d9ae26 100644\n--- a/Documentation/git.txt\n+++ b/Documentation/git.txt\n@@ -606,9 +606,9 @@ Identifier Terminology\n \toperate on a <tree> object but automatically dereferences\n \t<commit> and <tag> objects that point at a <tree>.\n \n-<commit-ish>::\n+<committish>::\n \tIndicates a commit or tag object name.  A\n-\tcommand that takes a <commit-ish> argument ultimately wants to\n+\tcommand that takes a <committish> argument ultimately wants to\n \toperate on a <commit> object but automatically dereferences\n \t<tag> objects that point at a <commit>.\n \ndiff --git a/builtin/revert.c b/builtin/revert.c\nindex 1d2648b..9339816 100644\n--- a/builtin/revert.c\n+++ b/builtin/revert.c\n@@ -19,13 +19,13 @@\n  */\n \n static const char * const revert_usage[] = {\n-\tN_(\"git revert [options] <commit-ish>...\"),\n+\tN_(\"git revert [options] <committish>...\"),\n \tN_(\"git revert <subcommand>\"),\n \tNULL\n };\n \n static const char * const cherry_pick_usage[] = {\n-\tN_(\"git cherry-pick [options] <commit-ish>...\"),\n+\tN_(\"git cherry-pick [options] <committish>...\"),\n \tN_(\"git cherry-pick <subcommand>\"),\n \tNULL\n };\ndiff --git a/contrib/examples/git-reset.sh b/contrib/examples/git-reset.sh\nindex bafeb52..ac06274 100755\n--- a/contrib/examples/git-reset.sh\n+++ b/contrib/examples/git-reset.sh\n@@ -2,7 +2,7 @@\n #\n # Copyright (c) 2005, 2006 Linus Torvalds and Junio C Hamano\n #\n-USAGE='[--mixed | --soft | --hard]  [<commit-ish>] [ [--] <paths>...]'\n+USAGE='[--mixed | --soft | --hard]  [<committish>] [ [--] <paths>...]'\n SUBDIRECTORY_OK=Yes\n . git-sh-setup\n set_reflog_action \"reset $*\"\ndiff --git a/contrib/examples/git-revert.sh b/contrib/examples/git-revert.sh\nindex 6bf155c..6f1dd66 100755\n--- a/contrib/examples/git-revert.sh\n+++ b/contrib/examples/git-revert.sh\n@@ -9,12 +9,12 @@ case \"$0\" in\n \ttest -t 0 && edit=-e\n \treplay=\n \tme=revert\n-\tUSAGE='[--edit | --no-edit] [-n] <commit-ish>' ;;\n+\tUSAGE='[--edit | --no-edit] [-n] <committish>' ;;\n *-cherry-pick* )\n \treplay=t\n \tedit=\n \tme=cherry-pick\n-\tUSAGE='[--edit] [-n] [-r] [-x] <commit-ish>'  ;;\n+\tUSAGE='[--edit] [-n] [-r] [-x] <committish>'  ;;\n * )\n \techo >&2 \"What are you talking about?\"\n \texit 1 ;;\ndiff --git a/po/de.po b/po/de.po\nindex 00519b2..4cdb2aa 100644\n--- a/po/de.po\n+++ b/po/de.po\n@@ -8742,7 +8742,7 @@ msgstr \"\"\n \"erster Verwendung aus.\"\n \n #: builtin/revert.c:22\n-msgid \"git revert [options] <commit-ish>...\"\n+msgid \"git revert [options] <committish>...\"\n msgstr \"git revert [Optionen] <Commit-Angabe>...\"\n \n #: builtin/revert.c:23\n@@ -8750,7 +8750,7 @@ msgid \"git revert <subcommand>\"\n msgstr \"git revert <Unterkommando>\"\n \n #: builtin/revert.c:28\n-msgid \"git cherry-pick [options] <commit-ish>...\"\n+msgid \"git cherry-pick [options] <committish>...\"\n msgstr \"git cherry-pick [Optionen] <Commit-Angabe>...\"\n \n #: builtin/revert.c:29\ndiff --git a/po/fr.po b/po/fr.po\nindex 8d74171..60046ee 100644\n--- a/po/fr.po\n+++ b/po/fr.po\n@@ -8032,7 +8032,7 @@ msgid \"\"\n msgstr \"\"\n \n #: builtin/revert.c:22\n-msgid \"git revert [options] <commit-ish>...\"\n+msgid \"git revert [options] <committish>...\"\n msgstr \"\"\n \n #: builtin/revert.c:23\n@@ -8040,7 +8040,7 @@ msgid \"git revert <subcommand>\"\n msgstr \"\"\n \n #: builtin/revert.c:28\n-msgid \"git cherry-pick [options] <commit-ish>...\"\n+msgid \"git cherry-pick [options] <committish>...\"\n msgstr \"\"\n \n #: builtin/revert.c:29\ndiff --git a/po/git.pot b/po/git.pot\nindex 928268f..d101f1b 100644\n--- a/po/git.pot\n+++ b/po/git.pot\n@@ -8146,7 +8146,7 @@ msgid \"\"\n msgstr \"\"\n \n #: builtin/revert.c:22\n-msgid \"git revert [options] <commit-ish>...\"\n+msgid \"git revert [options] <committish>...\"\n msgstr \"\"\n \n #: builtin/revert.c:23\n@@ -8154,7 +8154,7 @@ msgid \"git revert <subcommand>\"\n msgstr \"\"\n \n #: builtin/revert.c:28\n-msgid \"git cherry-pick [options] <commit-ish>...\"\n+msgid \"git cherry-pick [options] <committish>...\"\n msgstr \"\"\n \n #: builtin/revert.c:29\ndiff --git a/po/sv.po b/po/sv.po\nindex cdee340..e118303 100644\n--- a/po/sv.po\n+++ b/po/sv.po\n@@ -8528,7 +8528,7 @@ msgstr \"\"\n \"varianten.\"\n \n #: builtin/revert.c:22\n-msgid \"git revert [options] <commit-ish>...\"\n+msgid \"git revert [options] <committish>...\"\n msgstr \"git revert [flaggor] <incheckning-igt>...\"\n \n #: builtin/revert.c:23\n@@ -8536,7 +8536,7 @@ msgid \"git revert <subcommand>\"\n msgstr \"git revert <underkommando>\"\n \n #: builtin/revert.c:28\n-msgid \"git cherry-pick [options] <commit-ish>...\"\n+msgid \"git cherry-pick [options] <committish>...\"\n msgstr \"git cherry-pick [flaggor] <incheckning-igt>...\"\n \n #: builtin/revert.c:29\ndiff --git a/po/vi.po b/po/vi.po\nindex ebc079c..263873c 100644\n--- a/po/vi.po\n+++ b/po/vi.po\n@@ -8673,16 +8673,16 @@ msgstr \"\"\n \"Chạy lệnh \\\"git rev-parse --parseopt -h\\\" để có thêm thông tin về cách dùng.\"\n \n #: builtin/revert.c:22\n-msgid \"git revert [options] <commit-ish>...\"\n-msgstr \"git revert [các-tùy-chọn] <commit-ish>...\"\n+msgid \"git revert [options] <committish>...\"\n+msgstr \"git revert [các-tùy-chọn] <committish>...\"\n \n #: builtin/revert.c:23\n msgid \"git revert <subcommand>\"\n msgstr \"git revert <lệnh-con>\"\n \n #: builtin/revert.c:28\n-msgid \"git cherry-pick [options] <commit-ish>...\"\n-msgstr \"git cherry-pick [các-tùy-chọn] <commit-ish>...\"\n+msgid \"git cherry-pick [options] <committish>...\"\n+msgstr \"git cherry-pick [các-tùy-chọn] <committish>...\"\n \n #: builtin/revert.c:29\n msgid \"git cherry-pick <subcommand>\"\ndiff --git a/po/zh_CN.po b/po/zh_CN.po\nindex 497d847..66e2e60 100644\n--- a/po/zh_CN.po\n+++ b/po/zh_CN.po\n@@ -8496,7 +8496,7 @@ msgstr \"\"\n \"初次使用时执行 \\\"git rev-parse --parseopt -h\\\" 来获得更多信息。\"\n \n #: builtin/revert.c:22\n-msgid \"git revert [options] <commit-ish>...\"\n+msgid \"git revert [options] <committish>...\"\n msgstr \"git revert [选项] <提交号>...\"\n \n #: builtin/revert.c:23\n@@ -8504,7 +8504,7 @@ msgid \"git revert <subcommand>\"\n msgstr \"git revert <子命令>\"\n \n #: builtin/revert.c:28\n-msgid \"git cherry-pick [options] <commit-ish>...\"\n+msgid \"git cherry-pick [options] <committish>...\"\n msgstr \"git cherry-pick [选项] <提交号>...\"\n \n #: builtin/revert.c:29\ndiff --git a/remote.c b/remote.c\nindex efcba93..9099cb3 100644\n--- a/remote.c\n+++ b/remote.c\n@@ -1663,7 +1663,7 @@ int ref_newer(const unsigned char *new_sha1, const unsigned char *old_sha1)\n \tint found = 0;\n \n \t/*\n-\t * Both new and old must be commit-ish and new is descendant of\n+\t * Both new and old must be committish and new is descendant of\n \t * old.  Otherwise we require --force.\n \t */\n \to = deref_tag(parse_object(old_sha1), NULL, 0);\ndiff --git a/t/t1512-rev-parse-disambiguation.sh b/t/t1512-rev-parse-disambiguation.sh\nindex 840bb6e..4b311c7 100755\n--- a/t/t1512-rev-parse-disambiguation.sh\n+++ b/t/t1512-rev-parse-disambiguation.sh\n@@ -86,8 +86,8 @@ test_expect_success 'first commit' '\n \tgit commit -m a2onsxbvj\n '\n \n-test_expect_success 'disambiguate commit-ish' '\n-\t# feed commit-ish in an unambiguous way\n+test_expect_success 'disambiguate committish' '\n+\t# feed committish in an unambiguous way\n \tgit rev-parse --verify 0000000000e4f^{commit} &&\n \n \t# ambiguous at the object name level, but there is only one\n@@ -104,7 +104,7 @@ test_expect_success 'disambiguate commit' '\n \ttest $(git rev-parse $commit^) = $(git rev-parse 0000000000e4f)\n '\n \n-test_expect_success 'log name1..name2 takes only commit-ishes on both ends' '\n+test_expect_success 'log name1..name2 takes only committishes on both ends' '\n \t# These are underspecified from the prefix-length point of view\n \t# to disambiguate the commit with other objects, but there is only\n \t# one commit that has 00000* prefix at this point.\n@@ -116,19 +116,19 @@ test_expect_success 'log name1..name2 takes only commit-ishes on both ends' '\n \tgit log 000000000...\n '\n \n-test_expect_success 'rev-parse name1..name2 takes only commit-ishes on both ends' '\n+test_expect_success 'rev-parse name1..name2 takes only committishes on both ends' '\n \t# Likewise.\n \tgit rev-parse 000000000..000000000 &&\n \tgit rev-parse ..000000000 &&\n \tgit rev-parse 000000000..\n '\n \n-test_expect_success 'git log takes only commit-ish' '\n+test_expect_success 'git log takes only committish' '\n \t# Likewise.\n \tgit log 000000000\n '\n \n-test_expect_success 'git reset takes only commit-ish' '\n+test_expect_success 'git reset takes only committish' '\n \t# Likewise.\n \tgit reset 000000000\n '\n@@ -138,7 +138,7 @@ test_expect_success 'first tag' '\n \tgit tag -a -m j7cp83um v1.0.0\n '\n \n-test_expect_failure 'two semi-ambiguous commit-ish' '\n+test_expect_failure 'two semi-ambiguous committish' '\n \t# At this point, we have a tag 0000000000f8f that points\n \t# at a commit 0000000000e4f, and a tree and a blob that\n \t# share 0000000000 prefix with these tag and commit.\n@@ -249,7 +249,7 @@ test_expect_success 'parse describe name not ignoring ambiguity' '\n \ttest_must_fail git rev-parse --verify v1.0.0-1-g000000000\n '\n \n-test_expect_success 'ambiguous commit-ish' '\n+test_expect_success 'ambiguous committish' '\n \t# Now there are many commits that begin with the\n \t# common prefix, none of these should pick one at\n \t# random.  They all should result in ambiguity errors.\n-- \n1.8.4\n"},{"id":"226503","messageId":"1378100066-31889-6-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378100066-31889-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v2 5/7] glossary: more precise definition of treeish (a.k.a. tree-ish)","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:24Z","receivedAt":"2013-09-02T05:34:24Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"A treeish isn't a ref.  Also, mention dereferencing, and that a commit\ndereferences to a tree, to support gitrevisions(7) and rev-parse's\nerror messages.\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 15 ++++++++++++---\n 1 file changed, 12 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 257a7fe..a2edcc3 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -499,9 +499,18 @@ should not be combined with other pathspec.\n \t<<def_tree,tree>> is equivalent to a <<def_directory,directory>>.\n \n [[def_treeish]]treeish (also tree-ish)::\n-\tA <<def_ref,ref>> pointing to either a <<def_commit_object,commit\n-\tobject>>, a <<def_tree_object,tree object>>, or a <<def_tag_object,tag\n-\tobject>> pointing to a tag or commit or tree object.\n+\tA <<def_tree_object,tree object>> or an <<def_object,object>>\n+\tthat can be recursively dereferenced to a tree object.\n+\tDereferencing a <<def_commit_object,commit object>> yields the\n+\ttree object corresponding to the <<def_revision,revision>>'s\n+\ttop <<def_directory,directory>>.\n+\tThe following are all treeishes:\n+\ta <<def_committish,committish>>,\n+\ta tree object,\n+\ta <<def_tag_object,tag object>> that points to a tree object,\n+\ta tag object that points to a tag object that points to a tree\n+\tobject,\n+\tetc.\n \n [[def_unmerged_index]]unmerged index::\n \tAn <<def_index,index>> which contains unmerged\n-- \n1.8.4\n"},{"id":"226502","messageId":"1378100066-31889-7-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378100066-31889-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v2 6/7] revisions.txt: fix and clarify <rev>^{<type>}","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:25Z","receivedAt":"2013-09-02T05:34:25Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"If possible, <rev> will be dereferenced even if it is not a tag type\n(e.g., commit dereferenced to a tree).\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/revisions.txt | 12 ++++++++----\n 1 file changed, 8 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/revisions.txt b/Documentation/revisions.txt\nindex 569b563..1f1e79b 100644\n--- a/Documentation/revisions.txt\n+++ b/Documentation/revisions.txt\n@@ -111,10 +111,14 @@ some output processing may assume ref names in UTF-8.\n \n '<rev>{caret}\\{<type>\\}', e.g. 'v0.99.8{caret}\\{commit\\}'::\n   A suffix '{caret}' followed by an object type name enclosed in\n-  brace pair means the object\n-  could be a tag, and dereference the tag recursively until an\n-  object of that type is found or the object cannot be\n-  dereferenced anymore (in which case, barf).  '<rev>{caret}0'\n+  brace pair means dereference the object at '<rev>' recursively until\n+  an object of type '<type>' is found or the object cannot be\n+  dereferenced anymore (in which case, barf).\n+  For example, if '<rev>' is a committish, '<rev>{caret}\\{commit\\}'\n+  describes the corresponding commit object.\n+  Similarly, if '<rev>' is a treeish, '<rev>{caret}\\{tree\\}' describes\n+  the corresponding tree object.\n+  '<rev>{caret}0'\n   is a short-hand for '<rev>{caret}\\{commit\\}'.\n +\n 'rev{caret}\\{object\\}' can be used to make sure 'rev' names an\n-- \n1.8.4\n"},{"id":"226497","messageId":"1378100066-31889-8-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378100066-31889-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v2 7/7] glossary: fix and clarify the definition of 'ref'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-02T05:34:26Z","receivedAt":"2013-09-02T05:34:26Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Signed-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 18 ++++++++++++++----\n 1 file changed, 14 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex a2edcc3..44d524b 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -395,10 +395,20 @@ should not be combined with other pathspec.\n \tto the result.\n \n [[def_ref]]ref::\n-\tA 40-byte hex representation of a <<def_SHA1,SHA-1>> or a name that\n-\tdenotes a particular <<def_object,object>>. They may be stored in\n-\ta file under `$GIT_DIR/refs/` directory, or\n-\tin the `$GIT_DIR/packed-refs` file.\n+\tA name that begins with `refs/` (e.g. `refs/heads/master`)\n+\tthat points to an <<def_object_name,object name>> or another\n+\tref (the latter is called a <<def_symref,symbolic ref>>).\n+\tFor convenience, a ref can sometimes be abbreviated when used\n+\tas an argument to a Git command; see linkgit:gitrevisions[7]\n+\tfor details.\n+\tRefs are stored in the <<def_repository,repository>>.\n++\n+The ref namespace is hierarchical.\n+Different subhierarchies are used for different purposes (e.g. the\n+`refs/heads/` hierarchy is used to represent local branches).\n++\n+There are a few special-purpose refs that do not begin with `refs/`.\n+The most notable example is `HEAD`.\n \n [[def_reflog]]reflog::\n \tA reflog shows the local \"history\" of a ref.  In other words,\n-- \n1.8.4\n"},{"id":"226688","messageId":"xmqq1u55plqe.fsf@gitster.dls.corp.google.com","threadId":"34828","inReplyTo":"1378100066-31889-2-git-send-email-rhansen@bbn.com","subject":"Re: [PATCH v2 1/7] glossary: mention 'treeish' as an alternative to 'tree-ish'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-09-03T22:46:17Z","receivedAt":"2013-09-03T22:46:17Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Richard Hansen <rhansen@bbn.com> writes:\n\n> The documentation contains a mix of the two spellings, so include both\n> in the glossary so that a search for either will lead to the\n> definition.\n>\n> Signed-off-by: Richard Hansen <rhansen@bbn.com>\n> ---\n\nI hate to say this after seeing you doing a thorough job in this\nseries, but because \"tree-ish\" and \"commit-ish\" are both made-up\nwords, I have a feeling that we are better off unifying to the\ndashed form, which unfortunately is the other way around from what\nyour series does.\n\nPatches 5, 6 and 7 are good clarifications.\n\n>  Documentation/glossary-content.txt | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\n> index dba5062..0273095 100644\n> --- a/Documentation/glossary-content.txt\n> +++ b/Documentation/glossary-content.txt\n> @@ -486,7 +486,7 @@ should not be combined with other pathspec.\n>  \twith refs to the associated blob and/or tree objects. A\n>  \t<<def_tree,tree>> is equivalent to a <<def_directory,directory>>.\n>  \n> -[[def_tree-ish]]tree-ish::\n> +[[def_tree-ish]]tree-ish (also treeish)::\n>  \tA <<def_ref,ref>> pointing to either a <<def_commit_object,commit\n>  \tobject>>, a <<def_tree_object,tree object>>, or a <<def_tag_object,tag\n>  \tobject>> pointing to a tag or commit or tree object.\n"},{"id":"226749","messageId":"1378321474-7125-1-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"xmqq1u55plqe.fsf@gitster.dls.corp.google.com","subject":"[PATCH v3 0/7] documentation cleanups for <rev>^{<type>}","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:27Z","receivedAt":"2013-09-04T19:04:27Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"On 2013-09-03 18:46, Junio C Hamano wrote:\n> I hate to say this after seeing you doing a thorough job in this\n> series, but because \"tree-ish\" and \"commit-ish\" are both made-up\n> words, I have a feeling that we are better off unifying to the\n> dashed form, which unfortunately is the other way around from what\n> your series does.\n\nI thought you might say that so I held on to the commits that\nstandardize on tree-ish and commit-ish in my local repo.  :)\n\nThis series still says \"tree-ish (also treeish)\" and \"commit-ish (also\ncommittish)\" in gitglossary(7).  Would you like me to eliminate the\n\"(also ...)\"  part?\n\nI'm not 100% confident that these don't break translations, although\nit still builds and \"make test\" passes.\n\nChanges since v2:\n  * standardize on 'tree-ish' instead of 'treeish'\n  * standardize on 'commit-ish' instead of 'committish'\n\nRichard Hansen (7):\n  glossary: mention 'treeish' as an alternative to 'tree-ish'\n  glossary: define commit-ish (a.k.a. committish)\n  use 'tree-ish' instead of 'treeish'\n  use 'commit-ish' instead of 'committish'\n  glossary: more precise definition of tree-ish (a.k.a. treeish)\n  revisions.txt: fix and clarify <rev>^{<type>}\n  glossary: fix and clarify the definition of 'ref'\n\n Documentation/RelNotes/1.7.11.2.txt          |  2 +-\n Documentation/config.txt                     |  4 +--\n Documentation/git-cat-file.txt               |  2 +-\n Documentation/git-describe.txt               | 14 ++++-----\n Documentation/git-fast-import.txt            | 26 +++++++--------\n Documentation/git-merge-tree.txt             |  2 +-\n Documentation/git-name-rev.txt               |  2 +-\n Documentation/git-push.txt                   |  2 +-\n Documentation/gitcli.txt                     |  2 +-\n Documentation/glossary-content.txt           | 47 +++++++++++++++++++++++-----\n Documentation/howto/revert-branch-rebase.txt |  2 +-\n Documentation/revisions.txt                  | 12 ++++---\n builtin/describe.c                           |  4 +--\n builtin/merge.c                              |  2 +-\n contrib/examples/git-merge.sh                |  2 +-\n fast-import.c                                | 20 ++++++------\n git-cvsserver.perl                           |  2 +-\n po/da.po                                     |  2 +-\n po/de.po                                     |  6 ++--\n po/fr.po                                     |  4 +--\n po/git.pot                                   |  4 +--\n po/it.po                                     |  2 +-\n po/nl.po                                     |  2 +-\n po/pt_PT.po                                  |  2 +-\n po/sv.po                                     |  6 ++--\n po/vi.po                                     |  6 ++--\n po/zh_CN.po                                  |  4 +--\n sha1_name.c                                  |  6 ++--\n t/t9300-fast-import.sh                       |  6 ++--\n test-match-trees.c                           |  4 +--\n 30 files changed, 118 insertions(+), 83 deletions(-)\n\n-- \n1.8.4\n"},{"id":"226748","messageId":"1378321474-7125-2-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v3 1/7] glossary: mention 'treeish' as an alternative to 'tree-ish'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:28Z","receivedAt":"2013-09-04T19:04:28Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"The documentation contains a mix of the two spellings, so include both\nin the glossary so that a search for either will lead to the\ndefinition.\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex dba5062..0273095 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -486,7 +486,7 @@ should not be combined with other pathspec.\n \twith refs to the associated blob and/or tree objects. A\n \t<<def_tree,tree>> is equivalent to a <<def_directory,directory>>.\n \n-[[def_tree-ish]]tree-ish::\n+[[def_tree-ish]]tree-ish (also treeish)::\n \tA <<def_ref,ref>> pointing to either a <<def_commit_object,commit\n \tobject>>, a <<def_tree_object,tree object>>, or a <<def_tag_object,tag\n \tobject>> pointing to a tag or commit or tree object.\n-- \n1.8.4\n"},{"id":"226751","messageId":"1378321474-7125-3-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v3 2/7] glossary: define commit-ish (a.k.a. committish)","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:29Z","receivedAt":"2013-09-04T19:04:29Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Signed-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 12 ++++++++++++\n 1 file changed, 12 insertions(+)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 0273095..47e901e 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -82,6 +82,18 @@ to point at the new commit.\n \tto the top <<def_directory,directory>> of the stored\n \trevision.\n \n+[[def_commit-ish]]commit-ish (also committish)::\n+\tA <<def_commit_object,commit object>> or an\n+\t<<def_object,object>> that can be recursively dereferenced to\n+\ta commit object.\n+\tThe following are all commit-ishes:\n+\ta commit object,\n+\ta <<def_tag_object,tag object>> that points to a commit\n+\tobject,\n+\ta tag object that points to a tag object that points to a\n+\tcommit object,\n+\tetc.\n+\n [[def_core_git]]core Git::\n \tFundamental data structures and utilities of Git. Exposes only limited\n \tsource code management tools.\n-- \n1.8.4\n"},{"id":"226750","messageId":"1378321474-7125-4-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v3 3/7] use 'tree-ish' instead of 'treeish'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:30Z","receivedAt":"2013-09-04T19:04:30Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Replace 'treeish' in documentation and comments with 'tree-ish' to\nmatch gitglossary(7).\n\nThe only remaining instances of 'treeish' are:\n  * variable, function, and macro names\n  * \"(also treeish)\" in the definition of tree-ish in gitglossary(7)\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/RelNotes/1.7.11.2.txt | 2 +-\n Documentation/git-cat-file.txt      | 2 +-\n Documentation/git-merge-tree.txt    | 2 +-\n fast-import.c                       | 4 ++--\n git-cvsserver.perl                  | 2 +-\n test-match-trees.c                  | 4 ++--\n 6 files changed, 8 insertions(+), 8 deletions(-)\n\ndiff --git a/Documentation/RelNotes/1.7.11.2.txt b/Documentation/RelNotes/1.7.11.2.txt\nindex a0d24d1..f0cfd02 100644\n--- a/Documentation/RelNotes/1.7.11.2.txt\n+++ b/Documentation/RelNotes/1.7.11.2.txt\n@@ -31,7 +31,7 @@ Fixes since v1.7.11.1\n  * \"git diff --no-index\" did not work with pagers correctly.\n \n  * \"git diff COPYING HEAD:COPYING\" gave a nonsense error message that\n-   claimed that the treeish HEAD did not have COPYING in it.\n+   claimed that the tree-ish HEAD did not have COPYING in it.\n \n  * When \"git log\" gets \"--simplify-merges/by-decoration\" together with\n    \"--first-parent\", the combination of these options makes the\ndiff --git a/Documentation/git-cat-file.txt b/Documentation/git-cat-file.txt\nindex 10fbc6a..e468ceb 100644\n--- a/Documentation/git-cat-file.txt\n+++ b/Documentation/git-cat-file.txt\n@@ -54,7 +54,7 @@ OPTIONS\n \n --textconv::\n \tShow the content as transformed by a textconv filter. In this case,\n-\t<object> has be of the form <treeish>:<path>, or :<path> in order\n+\t<object> has be of the form <tree-ish>:<path>, or :<path> in order\n \tto apply the filter to the content recorded in the index at <path>.\n \n --batch::\ndiff --git a/Documentation/git-merge-tree.txt b/Documentation/git-merge-tree.txt\nindex c5f84b6..58731c1 100644\n--- a/Documentation/git-merge-tree.txt\n+++ b/Documentation/git-merge-tree.txt\n@@ -13,7 +13,7 @@ SYNOPSIS\n \n DESCRIPTION\n -----------\n-Reads three treeish, and output trivial merge results and\n+Reads three tree-ish, and output trivial merge results and\n conflicting stages to the standard output.  This is similar to\n what three-way 'git read-tree -m' does, but instead of storing the\n results in the index, the command outputs the entries to the\ndiff --git a/fast-import.c b/fast-import.c\nindex 23f625f..019be11 100644\n--- a/fast-import.c\n+++ b/fast-import.c\n@@ -2957,7 +2957,7 @@ static struct object_entry *dereference(struct object_entry *oe,\n \tcase OBJ_TAG:\n \t\tbreak;\n \tdefault:\n-\t\tdie(\"Not a treeish: %s\", command_buf.buf);\n+\t\tdie(\"Not a tree-ish: %s\", command_buf.buf);\n \t}\n \n \tif (oe->pack_id != MAX_PACK_ID) {\t/* in a pack being written */\n@@ -3041,7 +3041,7 @@ static void parse_ls(struct branch *b)\n \tstruct tree_entry *root = NULL;\n \tstruct tree_entry leaf = {NULL};\n \n-\t/* ls SP (<treeish> SP)? <path> */\n+\t/* ls SP (<tree-ish> SP)? <path> */\n \tp = command_buf.buf + strlen(\"ls \");\n \tif (*p == '\"') {\n \t\tif (!b)\ndiff --git a/git-cvsserver.perl b/git-cvsserver.perl\nindex a0d796e..a9f6f8e 100755\n--- a/git-cvsserver.perl\n+++ b/git-cvsserver.perl\n@@ -4338,7 +4338,7 @@ sub getAnyHead\n =head2 getRevisionDirMap\n \n A \"revision dir map\" contains all the plain-file filenames associated\n-with a particular revision (treeish), organized by directory:\n+with a particular revision (tree-ish), organized by directory:\n \n   $type = $out->{$dir}{$fullName}\n \ndiff --git a/test-match-trees.c b/test-match-trees.c\nindex a3c4688..2ef725e 100644\n--- a/test-match-trees.c\n+++ b/test-match-trees.c\n@@ -12,10 +12,10 @@ int main(int ac, char **av)\n \t\tdie(\"cannot parse %s as an object name\", av[2]);\n \tone = parse_tree_indirect(hash1);\n \tif (!one)\n-\t\tdie(\"not a treeish %s\", av[1]);\n+\t\tdie(\"not a tree-ish %s\", av[1]);\n \ttwo = parse_tree_indirect(hash2);\n \tif (!two)\n-\t\tdie(\"not a treeish %s\", av[2]);\n+\t\tdie(\"not a tree-ish %s\", av[2]);\n \n \tshift_tree(one->object.sha1, two->object.sha1, shifted, -1);\n \tprintf(\"shifted: %s\\n\", sha1_to_hex(shifted));\n-- \n1.8.4\n"},{"id":"226752","messageId":"1378321474-7125-5-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v3 4/7] use 'commit-ish' instead of 'committish'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:31Z","receivedAt":"2013-09-04T19:04:31Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Replace 'committish' in documentation and comments with 'commit-ish'\nto match gitglossary(7) and to be consistent with 'tree-ish'.\n\nThe only remaining instances of 'committish' are:\n  * variable, function, and macro names\n  * \"(also committish)\" in the definition of commit-ish in\n    gitglossary[7]\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/config.txt                     |  4 ++--\n Documentation/git-describe.txt               | 14 +++++++-------\n Documentation/git-fast-import.txt            | 26 +++++++++++++-------------\n Documentation/git-name-rev.txt               |  2 +-\n Documentation/git-push.txt                   |  2 +-\n Documentation/gitcli.txt                     |  2 +-\n Documentation/howto/revert-branch-rebase.txt |  2 +-\n builtin/describe.c                           |  4 ++--\n builtin/merge.c                              |  2 +-\n contrib/examples/git-merge.sh                |  2 +-\n fast-import.c                                | 16 ++++++++--------\n po/da.po                                     |  2 +-\n po/de.po                                     |  6 +++---\n po/fr.po                                     |  4 ++--\n po/git.pot                                   |  4 ++--\n po/it.po                                     |  2 +-\n po/nl.po                                     |  2 +-\n po/pt_PT.po                                  |  2 +-\n po/sv.po                                     |  6 +++---\n po/vi.po                                     |  6 +++---\n po/zh_CN.po                                  |  4 ++--\n sha1_name.c                                  |  6 +++---\n t/t9300-fast-import.sh                       |  6 +++---\n 23 files changed, 63 insertions(+), 63 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex ec57a15..1ccec22 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -170,8 +170,8 @@ advice.*::\n \tpushNeedsForce::\n \t\tShown when linkgit:git-push[1] rejects an update that\n \t\ttries to overwrite a remote ref that points at an\n-\t\tobject that is not a committish, or make the remote\n-\t\tref point at an object that is not a committish.\n+\t\tobject that is not a commit-ish, or make the remote\n+\t\tref point at an object that is not a commit-ish.\n \tstatusHints::\n \t\tShow directions on how to proceed from the current\n \t\tstate in the output of linkgit:git-status[1], in\ndiff --git a/Documentation/git-describe.txt b/Documentation/git-describe.txt\nindex 9439cd6..d20ca40 100644\n--- a/Documentation/git-describe.txt\n+++ b/Documentation/git-describe.txt\n@@ -9,7 +9,7 @@ git-describe - Show the most recent tag that is reachable from a commit\n SYNOPSIS\n --------\n [verse]\n-'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] <committish>...\n+'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] <commit-ish>...\n 'git describe' [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mark>]\n \n DESCRIPTION\n@@ -26,8 +26,8 @@ see the -a and -s options to linkgit:git-tag[1].\n \n OPTIONS\n -------\n-<committish>...::\n-\tCommittish object names to describe.\n+<commit-ish>...::\n+\tCommit-ish object names to describe.\n \n --dirty[=<mark>]::\n \tDescribe the working tree.\n@@ -57,7 +57,7 @@ OPTIONS\n \n --candidates=<n>::\n \tInstead of considering only the 10 most recent tags as\n-\tcandidates to describe the input committish consider\n+\tcandidates to describe the input commit-ish consider\n \tup to <n> candidates.  Increasing <n> above 10 will take\n \tslightly longer but may produce a more accurate result.\n \tAn <n> of 0 will cause only exact matches to be output.\n@@ -145,7 +145,7 @@ be sufficient to disambiguate these commits.\n SEARCH STRATEGY\n ---------------\n \n-For each committish supplied, 'git describe' will first look for\n+For each commit-ish supplied, 'git describe' will first look for\n a tag which tags exactly that commit.  Annotated tags will always\n be preferred over lightweight tags, and tags with newer dates will\n always be preferred over tags with older dates.  If an exact match\n@@ -154,12 +154,12 @@ is found, its name will be output and searching will stop.\n If an exact match was not found, 'git describe' will walk back\n through the commit history to locate an ancestor commit which\n has been tagged.  The ancestor's tag will be output along with an\n-abbreviation of the input committish's SHA-1. If '--first-parent' was\n+abbreviation of the input commit-ish's SHA-1. If '--first-parent' was\n specified then the walk will only consider the first parent of each\n commit.\n \n If multiple tags were found during the walk then the tag which\n-has the fewest commits different from the input committish will be\n+has the fewest commits different from the input commit-ish will be\n selected and output.  Here fewest commits different is defined as\n the number of commits which would be shown by `git log tag..input`\n will be the smallest number of commits possible.\ndiff --git a/Documentation/git-fast-import.txt b/Documentation/git-fast-import.txt\nindex bf1a02a..bba3ec9 100644\n--- a/Documentation/git-fast-import.txt\n+++ b/Documentation/git-fast-import.txt\n@@ -380,8 +380,8 @@ change to the project.\n \t('author' (SP <name>)? SP LT <email> GT SP <when> LF)?\n \t'committer' (SP <name>)? SP LT <email> GT SP <when> LF\n \tdata\n-\t('from' SP <committish> LF)?\n-\t('merge' SP <committish> LF)?\n+\t('from' SP <commit-ish> LF)?\n+\t('merge' SP <commit-ish> LF)?\n \t(filemodify | filedelete | filecopy | filerename | filedeleteall | notemodify)*\n \tLF?\n ....\n@@ -460,9 +460,9 @@ as the current commit on that branch is automatically assumed to\n be the first ancestor of the new commit.\n \n As `LF` is not valid in a Git refname or SHA-1 expression, no\n-quoting or escaping syntax is supported within `<committish>`.\n+quoting or escaping syntax is supported within `<commit-ish>`.\n \n-Here `<committish>` is any of the following:\n+Here `<commit-ish>` is any of the following:\n \n * The name of an existing branch already in fast-import's internal branch\n   table.  If fast-import doesn't know the name, it's treated as a SHA-1\n@@ -509,7 +509,7 @@ additional ancestors (forming a 16-way merge).  For this reason\n it is suggested that frontends do not use more than 15 `merge`\n commands per commit; 16, if starting a new, empty branch.\n \n-Here `<committish>` is any of the commit specification expressions\n+Here `<commit-ish>` is any of the commit specification expressions\n also accepted by `from` (see above).\n \n `filemodify`\n@@ -677,8 +677,8 @@ paths for a commit are encouraged to do so.\n `notemodify`\n ^^^^^^^^^^^^\n Included in a `commit` `<notes_ref>` command to add a new note\n-annotating a `<committish>` or change this annotation contents.\n-Internally it is similar to filemodify 100644 on `<committish>`\n+annotating a `<commit-ish>` or change this annotation contents.\n+Internally it is similar to filemodify 100644 on `<commit-ish>`\n path (maybe split into subdirectories). It's not advised to\n use any other commands to write to the `<notes_ref>` tree except\n `filedeleteall` to delete all existing notes in this tree.\n@@ -691,7 +691,7 @@ External data format::\n \tcommit that is to be annotated.\n +\n ....\n-\t'N' SP <dataref> SP <committish> LF\n+\t'N' SP <dataref> SP <commit-ish> LF\n ....\n +\n Here `<dataref>` can be either a mark reference (`:<idnum>`)\n@@ -704,13 +704,13 @@ Inline data format::\n \tcommand.\n +\n ....\n-\t'N' SP 'inline' SP <committish> LF\n+\t'N' SP 'inline' SP <commit-ish> LF\n \tdata\n ....\n +\n See below for a detailed description of the `data` command.\n \n-In both formats `<committish>` is any of the commit specification\n+In both formats `<commit-ish>` is any of the commit specification\n expressions also accepted by `from` (see above).\n \n `mark`\n@@ -741,7 +741,7 @@ lightweight (non-annotated) tags see the `reset` command below.\n \n ....\n \t'tag' SP <name> LF\n-\t'from' SP <committish> LF\n+\t'from' SP <commit-ish> LF\n \t'tagger' (SP <name>)? SP LT <email> GT SP <when> LF\n \tdata\n ....\n@@ -786,11 +786,11 @@ branch from an existing commit without creating a new commit.\n \n ....\n \t'reset' SP <ref> LF\n-\t('from' SP <committish> LF)?\n+\t('from' SP <commit-ish> LF)?\n \tLF?\n ....\n \n-For a detailed description of `<ref>` and `<committish>` see above\n+For a detailed description of `<ref>` and `<commit-ish>` see above\n under `commit` and `from`.\n \n The `LF` after the command is optional (it used to be required).\ndiff --git a/Documentation/git-name-rev.txt b/Documentation/git-name-rev.txt\nindex 15b00e0..ca28fb8 100644\n--- a/Documentation/git-name-rev.txt\n+++ b/Documentation/git-name-rev.txt\n@@ -10,7 +10,7 @@ SYNOPSIS\n --------\n [verse]\n 'git name-rev' [--tags] [--refs=<pattern>]\n-\t       ( --all | --stdin | <committish>... )\n+\t       ( --all | --stdin | <commit-ish>... )\n \n DESCRIPTION\n -----------\ndiff --git a/Documentation/git-push.txt b/Documentation/git-push.txt\nindex f7dfe48..a5c6f7d 100644\n--- a/Documentation/git-push.txt\n+++ b/Documentation/git-push.txt\n@@ -120,7 +120,7 @@ already exists on the remote side.\n --follow-tags::\n \tPush all the refs that would be pushed without this option,\n \tand also push annotated tags in `refs/tags` that are missing\n-\tfrom the remote but are pointing at committish that are\n+\tfrom the remote but are pointing at commit-ish that are\n \treachable from the refs being pushed.\n \n --receive-pack=<git-receive-pack>::\ndiff --git a/Documentation/gitcli.txt b/Documentation/gitcli.txt\nindex 9ac5088..7d54b77 100644\n--- a/Documentation/gitcli.txt\n+++ b/Documentation/gitcli.txt\n@@ -106,7 +106,7 @@ couple of magic command line options:\n +\n ---------------------------------------------\n $ git describe -h\n-usage: git describe [options] <committish>*\n+usage: git describe [options] <commit-ish>*\n    or: git describe [options] --dirty\n \n     --contains            find the tag that comes after the commit\ndiff --git a/Documentation/howto/revert-branch-rebase.txt b/Documentation/howto/revert-branch-rebase.txt\nindex 0d5419e..85f69db 100644\n--- a/Documentation/howto/revert-branch-rebase.txt\n+++ b/Documentation/howto/revert-branch-rebase.txt\n@@ -154,7 +154,7 @@ $ git pull . master\n Packing 0 objects\n Unpacking 0 objects\n \n-* committish: e3a693c...\trefs/heads/master from .\n+* commit-ish: e3a693c...\trefs/heads/master from .\n Trying to merge e3a693c... into 8c1f5f0... using 10d781b...\n Committed merge 7fb9b7262a1d1e0a47bbfdcbbcf50ce0635d3f8f\n  cache.h        |    8 ++++----\ndiff --git a/builtin/describe.c b/builtin/describe.c\nindex 7d73722..121a535 100644\n--- a/builtin/describe.c\n+++ b/builtin/describe.c\n@@ -13,7 +13,7 @@\n #define MAX_TAGS\t(FLAG_BITS - 1)\n \n static const char * const describe_usage[] = {\n-\tN_(\"git describe [options] <committish>*\"),\n+\tN_(\"git describe [options] <commit-ish>*\"),\n \tN_(\"git describe [options] --dirty\"),\n \tNULL\n };\n@@ -486,7 +486,7 @@ int cmd_describe(int argc, const char **argv, const char *prefix)\n \t\t}\n \t\tdescribe(\"HEAD\", 1);\n \t} else if (dirty) {\n-\t\tdie(_(\"--dirty is incompatible with committishes\"));\n+\t\tdie(_(\"--dirty is incompatible with commit-ishes\"));\n \t} else {\n \t\twhile (argc-- > 0) {\n \t\t\tdescribe(*argv++, argc == 0);\ndiff --git a/builtin/merge.c b/builtin/merge.c\nindex 34a6166..9a2c58a 100644\n--- a/builtin/merge.c\n+++ b/builtin/merge.c\n@@ -1193,7 +1193,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix)\n \t * This could be traditional \"merge <msg> HEAD <commit>...\"  and\n \t * the way we can tell it is to see if the second token is HEAD,\n \t * but some people might have misused the interface and used a\n-\t * committish that is the same as HEAD there instead.\n+\t * commit-ish that is the same as HEAD there instead.\n \t * Traditional format never would have \"-m\" so it is an\n \t * additional safety measure to check for it.\n \t */\ndiff --git a/contrib/examples/git-merge.sh b/contrib/examples/git-merge.sh\nindex 7b922c3..a5e42a9 100755\n--- a/contrib/examples/git-merge.sh\n+++ b/contrib/examples/git-merge.sh\n@@ -263,7 +263,7 @@ fi\n \n # This could be traditional \"merge <msg> HEAD <commit>...\"  and the\n # way we can tell it is to see if the second token is HEAD, but some\n-# people might have misused the interface and used a committish that\n+# people might have misused the interface and used a commit-ish that\n # is the same as HEAD there instead.  Traditional format never would\n # have \"-m\" so it is an additional safety measure to check for it.\n \ndiff --git a/fast-import.c b/fast-import.c\nindex 019be11..f5babae 100644\n--- a/fast-import.c\n+++ b/fast-import.c\n@@ -22,8 +22,8 @@ Format of STDIN stream:\n     ('author' (sp name)? sp '<' email '>' sp when lf)?\n     'committer' (sp name)? sp '<' email '>' sp when lf\n     commit_msg\n-    ('from' sp committish lf)?\n-    ('merge' sp committish lf)*\n+    ('from' sp commit-ish lf)?\n+    ('merge' sp commit-ish lf)*\n     (file_change | ls)*\n     lf?;\n   commit_msg ::= data;\n@@ -43,18 +43,18 @@ Format of STDIN stream:\n   file_obm ::= 'M' sp mode sp (hexsha1 | idnum) sp path_str lf;\n   file_inm ::= 'M' sp mode sp 'inline' sp path_str lf\n     data;\n-  note_obm ::= 'N' sp (hexsha1 | idnum) sp committish lf;\n-  note_inm ::= 'N' sp 'inline' sp committish lf\n+  note_obm ::= 'N' sp (hexsha1 | idnum) sp commit-ish lf;\n+  note_inm ::= 'N' sp 'inline' sp commit-ish lf\n     data;\n \n   new_tag ::= 'tag' sp tag_str lf\n-    'from' sp committish lf\n+    'from' sp commit-ish lf\n     ('tagger' (sp name)? sp '<' email '>' sp when lf)?\n     tag_msg;\n   tag_msg ::= data;\n \n   reset_branch ::= 'reset' sp ref_str lf\n-    ('from' sp committish lf)?\n+    ('from' sp commit-ish lf)?\n     lf?;\n \n   checkpoint ::= 'checkpoint' lf\n@@ -93,7 +93,7 @@ Format of STDIN stream:\n      # stream formatting is: \\, \" and LF.  Otherwise these values\n      # are UTF8.\n      #\n-  committish  ::= (ref_str | hexsha1 | sha1exp_str | idnum);\n+  commit-ish  ::= (ref_str | hexsha1 | sha1exp_str | idnum);\n   ref_str     ::= ref;\n   sha1exp_str ::= sha1exp;\n   tag_str     ::= tag;\n@@ -2478,7 +2478,7 @@ static void note_change_n(struct branch *b, unsigned char *old_fanout)\n \tassert(*p == ' ');\n \tp++;  /* skip space */\n \n-\t/* <committish> */\n+\t/* <commit-ish> */\n \ts = lookup_branch(p);\n \tif (s) {\n \t\tif (is_null_sha1(s->sha1))\ndiff --git a/po/da.po b/po/da.po\nindex 20a88ea..898b18d 100644\n--- a/po/da.po\n+++ b/po/da.po\n@@ -1674,7 +1674,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"\"\n \n #: builtin/describe.c:482\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"\"\n \n #: builtin/diff.c:77\ndiff --git a/po/de.po b/po/de.po\nindex 11dde11..da3b0f5 100644\n--- a/po/de.po\n+++ b/po/de.po\n@@ -4684,8 +4684,8 @@ msgid \"print sizes in human readable format\"\n msgstr \"gibt Größenangaben in menschenlesbaren Format aus\"\n \n #: builtin/describe.c:16\n-msgid \"git describe [options] <committish>*\"\n-msgstr \"git describe [Optionen] <committish>*\"\n+msgid \"git describe [options] <commit-ish>*\"\n+msgstr \"git describe [Optionen] <commit-ish>*\"\n \n #: builtin/describe.c:17\n msgid \"git describe [options] --dirty\"\n@@ -4822,7 +4822,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"Keine Namen gefunden, kann nichts beschreiben.\"\n \n #: builtin/describe.c:489\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"Die Option --dirty kann nicht mit Commits verwendet werden.\"\n \n #: builtin/diff.c:79\ndiff --git a/po/fr.po b/po/fr.po\nindex 2cdb6f9..49e0ec1 100644\n--- a/po/fr.po\n+++ b/po/fr.po\n@@ -4291,7 +4291,7 @@ msgid \"print sizes in human readable format\"\n msgstr \"\"\n \n #: builtin/describe.c:15\n-msgid \"git describe [options] <committish>*\"\n+msgid \"git describe [options] <commit-ish>*\"\n msgstr \"\"\n \n #: builtin/describe.c:16\n@@ -4417,7 +4417,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"\"\n \n #: builtin/describe.c:481\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"\"\n \n #: builtin/diff.c:79\ndiff --git a/po/git.pot b/po/git.pot\nindex cf1e446..c91e197 100644\n--- a/po/git.pot\n+++ b/po/git.pot\n@@ -4335,7 +4335,7 @@ msgid \"print sizes in human readable format\"\n msgstr \"\"\n \n #: builtin/describe.c:16\n-msgid \"git describe [options] <committish>*\"\n+msgid \"git describe [options] <commit-ish>*\"\n msgstr \"\"\n \n #: builtin/describe.c:17\n@@ -4465,7 +4465,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"\"\n \n #: builtin/describe.c:489\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"\"\n \n #: builtin/diff.c:79\ndiff --git a/po/it.po b/po/it.po\nindex fe61f1a..9080219 100644\n--- a/po/it.po\n+++ b/po/it.po\n@@ -2476,7 +2476,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"\"\n \n #: builtin/describe.c:482\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"\"\n \n #: builtin/diff.c:77\ndiff --git a/po/nl.po b/po/nl.po\nindex e1399e2..ad31c66 100644\n--- a/po/nl.po\n+++ b/po/nl.po\n@@ -1669,7 +1669,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"\"\n \n #: builtin/describe.c:482\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"\"\n \n #: builtin/diff.c:77\ndiff --git a/po/pt_PT.po b/po/pt_PT.po\nindex 517ec29..689ad1b 100644\n--- a/po/pt_PT.po\n+++ b/po/pt_PT.po\n@@ -2312,7 +2312,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"Nenhum nome encontrado, não descreve nada.\"\n \n #: builtin/describe.c:482\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"\"\n \n #: builtin/diff.c:77\ndiff --git a/po/sv.po b/po/sv.po\nindex 12dfca9..dcf579b 100644\n--- a/po/sv.po\n+++ b/po/sv.po\n@@ -4560,7 +4560,7 @@ msgid \"print sizes in human readable format\"\n msgstr \"skriv storlekar i människoläsbart format\"\n \n #: builtin/describe.c:16\n-msgid \"git describe [options] <committish>*\"\n+msgid \"git describe [options] <commit-ish>*\"\n msgstr \"git describe [flaggor] <incheckning-igt>*\"\n \n #: builtin/describe.c:17\n@@ -4696,8 +4696,8 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"Inga namn hittades, kan inte beskriva något.\"\n \n #: builtin/describe.c:489\n-msgid \"--dirty is incompatible with committishes\"\n-msgstr \"--dirty är inkompatibelt med \\\"committish\\\"-värden\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n+msgstr \"--dirty är inkompatibelt med \\\"commit-ish\\\"-värden\"\n \n #: builtin/diff.c:79\n #, c-format\ndiff --git a/po/vi.po b/po/vi.po\nindex dd2d2a7..11b4912 100644\n--- a/po/vi.po\n+++ b/po/vi.po\n@@ -4663,8 +4663,8 @@ msgid \"print sizes in human readable format\"\n msgstr \"hiển thị kích cỡ theo định dạng dành cho người đọc\"\n \n #: builtin/describe.c:16\n-msgid \"git describe [options] <committish>*\"\n-msgstr \"git describe [các-tùy-chọn] <committish>*\"\n+msgid \"git describe [options] <commit-ish>*\"\n+msgstr \"git describe [các-tùy-chọn] <commit-ish>*\"\n \n #: builtin/describe.c:17\n msgid \"git describe [options] --dirty\"\n@@ -4799,7 +4799,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"Không tìm thấy các tên, không thể mô tả gì cả.\"\n \n #: builtin/describe.c:489\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"--dirty là xung khắc với các tùy chọn dành cho chuyển giao (commit)\"\n \n #: builtin/diff.c:79\ndiff --git a/po/zh_CN.po b/po/zh_CN.po\nindex b7b46f1..1a042af 100644\n--- a/po/zh_CN.po\n+++ b/po/zh_CN.po\n@@ -4562,7 +4562,7 @@ msgid \"print sizes in human readable format\"\n msgstr \"以用户可读的格式显示大小\"\n \n #: builtin/describe.c:16\n-msgid \"git describe [options] <committish>*\"\n+msgid \"git describe [options] <commit-ish>*\"\n msgstr \"git describe [选项] <提交号>*\"\n \n #: builtin/describe.c:17\n@@ -4698,7 +4698,7 @@ msgid \"No names found, cannot describe anything.\"\n msgstr \"没有发现名称，无法描述任何东西。\"\n \n #: builtin/describe.c:489\n-msgid \"--dirty is incompatible with committishes\"\n+msgid \"--dirty is incompatible with commit-ishes\"\n msgstr \"--dirty 不能与提交同时使用\"\n \n #: builtin/diff.c:79\ndiff --git a/sha1_name.c b/sha1_name.c\nindex 65ad066..ad79d7b 100644\n--- a/sha1_name.c\n+++ b/sha1_name.c\n@@ -1130,13 +1130,13 @@ int get_sha1(const char *name, unsigned char *sha1)\n }\n \n /*\n- * Many callers know that the user meant to name a committish by\n+ * Many callers know that the user meant to name a commit-ish by\n  * syntactical positions where the object name appears.  Calling this\n  * function allows the machinery to disambiguate shorter-than-unique\n- * abbreviated object names between committish and others.\n+ * abbreviated object names between commit-ish and others.\n  *\n  * Note that this does NOT error out when the named object is not a\n- * committish. It is merely to give a hint to the disambiguation\n+ * commit-ish. It is merely to give a hint to the disambiguation\n  * machinery.\n  */\n int get_sha1_committish(const char *name, unsigned char *sha1)\ndiff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh\nindex ac6f3b6..a74b9cf 100755\n--- a/t/t9300-fast-import.sh\n+++ b/t/t9300-fast-import.sh\n@@ -2815,14 +2815,14 @@ test_expect_success 'S: notemodify with garbage after sha1 dataref must fail' '\n '\n \n #\n-# notemodify, mark in committish\n+# notemodify, mark in commit-ish\n #\n-test_expect_success 'S: notemodify with garbarge after mark committish must fail' '\n+test_expect_success 'S: notemodify with garbarge after mark commit-ish must fail' '\n \ttest_must_fail git fast-import --import-marks=marks <<-EOF 2>err &&\n \tcommit refs/heads/Snotes\n \tcommitter $GIT_COMMITTER_NAME <$GIT_COMMITTER_EMAIL> $GIT_COMMITTER_DATE\n \tdata <<COMMIT\n-\tcommit S note committish\n+\tcommit S note commit-ish\n \tCOMMIT\n \tN :202 :302x\n \tEOF\n-- \n1.8.4\n"},{"id":"226754","messageId":"1378321474-7125-6-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v3 5/7] glossary: more precise definition of tree-ish (a.k.a. treeish)","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:32Z","receivedAt":"2013-09-04T19:04:32Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"A tree-ish isn't a ref.  Also, mention dereferencing, and that a\ncommit dereferences to a tree, to support gitrevisions(7) and\nrev-parse's error messages.\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 15 ++++++++++++---\n 1 file changed, 12 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 47e901e..3466ce9 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -499,9 +499,18 @@ should not be combined with other pathspec.\n \t<<def_tree,tree>> is equivalent to a <<def_directory,directory>>.\n \n [[def_tree-ish]]tree-ish (also treeish)::\n-\tA <<def_ref,ref>> pointing to either a <<def_commit_object,commit\n-\tobject>>, a <<def_tree_object,tree object>>, or a <<def_tag_object,tag\n-\tobject>> pointing to a tag or commit or tree object.\n+\tA <<def_tree_object,tree object>> or an <<def_object,object>>\n+\tthat can be recursively dereferenced to a tree object.\n+\tDereferencing a <<def_commit_object,commit object>> yields the\n+\ttree object corresponding to the <<def_revision,revision>>'s\n+\ttop <<def_directory,directory>>.\n+\tThe following are all tree-ishes:\n+\ta <<def_commit-ish,commit-ish>>,\n+\ta tree object,\n+\ta <<def_tag_object,tag object>> that points to a tree object,\n+\ta tag object that points to a tag object that points to a tree\n+\tobject,\n+\tetc.\n \n [[def_unmerged_index]]unmerged index::\n \tAn <<def_index,index>> which contains unmerged\n-- \n1.8.4\n"},{"id":"226753","messageId":"1378321474-7125-7-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v3 6/7] revisions.txt: fix and clarify <rev>^{<type>}","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:33Z","receivedAt":"2013-09-04T19:04:33Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"If possible, <rev> will be dereferenced even if it is not a tag type\n(e.g., commit dereferenced to a tree).\n\nSigned-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/revisions.txt | 12 ++++++++----\n 1 file changed, 8 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/revisions.txt b/Documentation/revisions.txt\nindex d477b3f..b0f4284 100644\n--- a/Documentation/revisions.txt\n+++ b/Documentation/revisions.txt\n@@ -111,10 +111,14 @@ some output processing may assume ref names in UTF-8.\n \n '<rev>{caret}\\{<type>\\}', e.g. 'v0.99.8{caret}\\{commit\\}'::\n   A suffix '{caret}' followed by an object type name enclosed in\n-  brace pair means the object\n-  could be a tag, and dereference the tag recursively until an\n-  object of that type is found or the object cannot be\n-  dereferenced anymore (in which case, barf).  '<rev>{caret}0'\n+  brace pair means dereference the object at '<rev>' recursively until\n+  an object of type '<type>' is found or the object cannot be\n+  dereferenced anymore (in which case, barf).\n+  For example, if '<rev>' is a commit-ish, '<rev>{caret}\\{commit\\}'\n+  describes the corresponding commit object.\n+  Similarly, if '<rev>' is a tree-ish, '<rev>{caret}\\{tree\\}'\n+  describes the corresponding tree object.\n+  '<rev>{caret}0'\n   is a short-hand for '<rev>{caret}\\{commit\\}'.\n +\n 'rev{caret}\\{object\\}' can be used to make sure 'rev' names an\n-- \n1.8.4\n"},{"id":"226755","messageId":"1378321474-7125-8-git-send-email-rhansen@bbn.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"[PATCH v3 7/7] glossary: fix and clarify the definition of 'ref'","fromName":"Richard Hansen","fromEmail":"rhansen@bbn.com","sentAt":"2013-09-04T19:04:34Z","receivedAt":"2013-09-04T19:04:34Z","isPatch":true,"sender":{"key":"rhansen@rhansen.org","avatar":null},"body":"Signed-off-by: Richard Hansen <rhansen@bbn.com>\n---\n Documentation/glossary-content.txt | 18 ++++++++++++++----\n 1 file changed, 14 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/glossary-content.txt b/Documentation/glossary-content.txt\nindex 3466ce9..7ad13e1 100644\n--- a/Documentation/glossary-content.txt\n+++ b/Documentation/glossary-content.txt\n@@ -395,10 +395,20 @@ should not be combined with other pathspec.\n \tto the result.\n \n [[def_ref]]ref::\n-\tA 40-byte hex representation of a <<def_SHA1,SHA-1>> or a name that\n-\tdenotes a particular <<def_object,object>>. They may be stored in\n-\ta file under `$GIT_DIR/refs/` directory, or\n-\tin the `$GIT_DIR/packed-refs` file.\n+\tA name that begins with `refs/` (e.g. `refs/heads/master`)\n+\tthat points to an <<def_object_name,object name>> or another\n+\tref (the latter is called a <<def_symref,symbolic ref>>).\n+\tFor convenience, a ref can sometimes be abbreviated when used\n+\tas an argument to a Git command; see linkgit:gitrevisions[7]\n+\tfor details.\n+\tRefs are stored in the <<def_repository,repository>>.\n++\n+The ref namespace is hierarchical.\n+Different subhierarchies are used for different purposes (e.g. the\n+`refs/heads/` hierarchy is used to represent local branches).\n++\n+There are a few special-purpose refs that do not begin with `refs/`.\n+The most notable example is `HEAD`.\n \n [[def_reflog]]reflog::\n \tA reflog shows the local \"history\" of a ref.  In other words,\n-- \n1.8.4\n"},{"id":"226773","messageId":"xmqq8uzckysx.fsf@gitster.dls.corp.google.com","threadId":"34828","inReplyTo":"1378321474-7125-1-git-send-email-rhansen@bbn.com","subject":"Re: [PATCH v3 0/7] documentation cleanups for <rev>^{<type>}","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2013-09-04T22:27:26Z","receivedAt":"2013-09-04T22:27:26Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Richard Hansen <rhansen@bbn.com> writes:\n\n> On 2013-09-03 18:46, Junio C Hamano wrote:\n>> I hate to say this after seeing you doing a thorough job in this\n>> series, but because \"tree-ish\" and \"commit-ish\" are both made-up\n>> words, I have a feeling that we are better off unifying to the\n>> dashed form, which unfortunately is the other way around from what\n>> your series does.\n>\n> I thought you might say that so I held on to the commits that\n> standardize on tree-ish and commit-ish in my local repo.  :)\n>\n> This series still says \"tree-ish (also treeish)\" and \"commit-ish (also\n> committish)\" in gitglossary(7).  Would you like me to eliminate the\n> \"(also ...)\"  part?\n>\n> I'm not 100% confident that these don't break translations, although\n> it still builds and \"make test\" passes.\n\nWe will find out ;-)\n\n> Changes since v2:\n>   * standardize on 'tree-ish' instead of 'treeish'\n>   * standardize on 'commit-ish' instead of 'committish'\n>\n> Richard Hansen (7):\n>   glossary: mention 'treeish' as an alternative to 'tree-ish'\n>   glossary: define commit-ish (a.k.a. committish)\n>   use 'tree-ish' instead of 'treeish'\n>   use 'commit-ish' instead of 'committish'\n>   glossary: more precise definition of tree-ish (a.k.a. treeish)\n>   revisions.txt: fix and clarify <rev>^{<type>}\n>   glossary: fix and clarify the definition of 'ref'\n>\n>  Documentation/RelNotes/1.7.11.2.txt          |  2 +-\n>  Documentation/howto/revert-branch-rebase.txt |  2 +-\n\nI generally prefer not to touch historical documents but the change\nin this series is small enough that I think it is OK.\n\nThanks, will queue.\n"}]}