Discussion on bf0231c661 (rev-parse: add --show-superproject-working-tree,
2017-03-08) pointed out we are inconsistent with the naming of "working
tree" and "worktree" even in user facing commands and documentation[1].

Introduce the new --working-tree option, which is the same as
--work-tree. As --work-tree is considered slightly incorrect[2], stop
mentioning it in the documentation.  But we need to keep its functionality
as it is plumbing.

An alternative was considered off list to rename the newly added option
'--show-superproject-working-tree' by dropping the part mentioning the
working tree to side step this discussion. However we need to make sure
that option still refers to the working tree, as a new option
'show-superproject-git-dir' might be considered useful in the future,
and we do not want to take the canonical '--show-superproject' now.

[1] 
https://public-inbox.org/git/20170317222842.gp26...@aiede.mtv.corp.google.com/
[2] https://public-inbox.org/git/xmqqo9wy4hxa....@gitster.mtv.corp.google.com/

Signed-off-by: Stefan Beller <sbel...@google.com>
---
 Documentation/git.txt | 12 ++++++------
 git.c                 |  5 +++--
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/Documentation/git.txt b/Documentation/git.txt
index df0941d456..763f3b5563 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -12,7 +12,7 @@ SYNOPSIS
 'git' [--version] [--help] [-C <path>] [-c <name>=<value>]
     [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
     [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
-    [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
+    [--git-dir=<path>] [--working-tree=<path>] [--namespace=<name>]
     [--super-prefix=<path>]
     <command> [<args>]
 
@@ -551,12 +551,12 @@ help ...`.
        <path>`.
 +
 This option affects options that expect path name like `--git-dir` and
-`--work-tree` in that their interpretations of the path names would be
+`--working-tree` in that their interpretations of the path names would be
 made relative to the working directory caused by the `-C` option. For
 example the following invocations are equivalent:
 
-    git --git-dir=a.git --work-tree=b -C c status
-    git --git-dir=c/a.git --work-tree=c/b status
+    git --git-dir=a.git --working-tree=b -C c status
+    git --git-dir=c/a.git --working-tree=c/b status
 
 -c <name>=<value>::
        Pass a configuration parameter to the command. The value
@@ -602,7 +602,7 @@ foo.bar= ...`) sets `foo.bar` to the empty string.
        setting the `GIT_DIR` environment variable. It can be an absolute
        path or relative path to current working directory.
 
---work-tree=<path>::
+--working-tree=<path>::
        Set the path to the working tree. It can be an absolute path
        or a path relative to the current working directory.
        This can also be controlled by setting the GIT_WORK_TREE
@@ -892,7 +892,7 @@ Git so take care if using a foreign front-end.
 
 `GIT_WORK_TREE`::
        Set the path to the root of the working tree.
-       This can also be controlled by the `--work-tree` command-line
+       This can also be controlled by the `--working-tree` command-line
        option and the core.worktree configuration variable.
 
 `GIT_NAMESPACE`::
diff --git a/git.c b/git.c
index 33f52acbcc..a76ff97232 100644
--- a/git.c
+++ b/git.c
@@ -149,9 +149,10 @@ static int handle_options(const char ***argv, int *argc, 
int *envchanged)
                        setenv(GIT_NAMESPACE_ENVIRONMENT, cmd, 1);
                        if (envchanged)
                                *envchanged = 1;
-               } else if (!strcmp(cmd, "--work-tree")) {
+               } else if (!strcmp(cmd, "--work-tree") ||
+                          !strcmp(cmd, "--working-tree")) {
                        if (*argc < 2) {
-                               fprintf(stderr, "No directory given for 
--work-tree.\n" );
+                               fprintf(stderr, "No directory given for %s.\n", 
cmd);
                                usage(git_usage_string);
                        }
                        setenv(GIT_WORK_TREE_ENVIRONMENT, (*argv)[1], 1);
-- 
2.12.0.306.g4a9b9b32d4.dirty

Reply via email to