From: "Heba Waly via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Heba Waly <heba.waly@gmail.com>, Heba Waly <heba.waly@gmail.com>
Subject: [PATCH v4] git: update documentation for --git-dir
Date: Thu, 30 Jan 2020 01:14:01 +0000 [thread overview]
Message-ID: <pull.537.v4.git.1580346841614.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.537.v3.git.1580185440512.gitgitgadget@gmail.com>
From: Heba Waly <heba.waly@gmail.com>
git --git-dir <path> is a bit confusing and sometimes doesn't work as
the user would expect it to.
For example, if the user runs `git --git-dir=<path> status`, git
will skip the repository discovery algorithm and will assign the
work tree to the user's current work directory unless otherwise
specified. When this assignment is wrong, the output will not match
the user's expectations.
This patch updates the documentation to make it clearer.
Signed-off-by: Heba Waly <heba.waly@gmail.com>
Helped-by: Junio C Hamano <gitster@pobox.com>
---
[Outreachy] git: update documentation for --git-dir
git --git-dir is a bit confusing and sometimes doesn't work as the user
would expect it to.
For example, if the user runs git --git-dir=<path> status, git will skip
the repository discovery algorithm and will assign the work tree to the
user's current work directory unless otherwise specified. When this
assignment is wrong, the output will not match the user's expectations.
This patch updates the documentation to make it clearer.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-537%2FHebaWaly%2Fgit_dir_doc-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-537/HebaWaly/git_dir_doc-v4
Pull-Request: https://github.com/gitgitgadget/git/pull/537
Range-diff vs v3:
1: 2a1404f1b3 ! 1: e27f150c4b git: update documentation for --git-dir
@@ -31,18 +31,18 @@
+ an absolute path or relative path to current working directory.
++
+Specifying the location of the ".git" directory using this
-+option (or GIT_DIR environment variable) turns off the
++option (or `GIT_DIR` environment variable) turns off the
+repository discovery that tries to find a directory with
+".git" subdirectory (which is how the repository and the
+top-level of the working tree are discovered), and tells Git
+that you are at the top level of the working tree. If you
+are not at the top-level directory of the working tree, you
+should tell Git where the top-level of the working tree is,
-+with the --work-tree=<path> option (or GIT_WORK_TREE
++with the `--work-tree=<path>` option (or `GIT_WORK_TREE`
+environment variable)
++
-+If you just want to run git as if it was started in <path> then use
-+git -C.
++If you just want to run git as if it was started in `<path>` then use
++`git -C <path>`.
--work-tree=<path>::
Set the path to the working tree. It can be an absolute path
Documentation/git.txt | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/Documentation/git.txt b/Documentation/git.txt
index b1597ac002..41374f24fa 100644
--- a/Documentation/git.txt
+++ b/Documentation/git.txt
@@ -110,9 +110,23 @@ foo.bar= ...`) sets `foo.bar` to the empty string which `git config
Do not pipe Git output into a pager.
--git-dir=<path>::
- Set the path to the repository. This can also be controlled by
- setting the `GIT_DIR` environment variable. It can be an absolute
- path or relative path to current working directory.
+ Set the path to the repository (".git" directory). This can also be
+ controlled by setting the `GIT_DIR` environment variable. It can be
+ an absolute path or relative path to current working directory.
++
+Specifying the location of the ".git" directory using this
+option (or `GIT_DIR` environment variable) turns off the
+repository discovery that tries to find a directory with
+".git" subdirectory (which is how the repository and the
+top-level of the working tree are discovered), and tells Git
+that you are at the top level of the working tree. If you
+are not at the top-level directory of the working tree, you
+should tell Git where the top-level of the working tree is,
+with the `--work-tree=<path>` option (or `GIT_WORK_TREE`
+environment variable)
++
+If you just want to run git as if it was started in `<path>` then use
+`git -C <path>`.
--work-tree=<path>::
Set the path to the working tree. It can be an absolute path
base-commit: 232378479ee6c66206d47a9be175e3a39682aea6
--
gitgitgadget
next prev parent reply other threads:[~2020-01-30 1:14 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-23 2:16 [PATCH] git: update documentation for --git-dir Heba Waly via GitGitGadget
2020-01-23 2:35 ` Heba Waly
2020-01-23 2:55 ` Emily Shaffer
2020-01-23 6:44 ` Junio C Hamano
2020-01-23 6:21 ` Junio C Hamano
2020-01-23 6:41 ` Junio C Hamano
2020-01-27 2:22 ` Heba Waly
2020-01-27 2:24 ` [PATCH v2] " Heba Waly via GitGitGadget
2020-01-27 6:28 ` Johannes Sixt
2020-01-28 4:17 ` Heba Waly
2020-01-28 7:33 ` Jeff King
2020-01-28 10:40 ` Heba Waly
2020-01-28 4:24 ` [PATCH v3] " Heba Waly via GitGitGadget
2020-01-28 19:22 ` Junio C Hamano
2020-01-29 12:10 ` Heba Waly
2020-01-30 1:14 ` Heba Waly via GitGitGadget [this message]
2020-01-30 18:26 ` [PATCH v4] " Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.537.v4.git.1580346841614.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=heba.waly@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).