From: John Keeping <john@keeping.me.uk>
To: Elliott Cable <me@ell.io>
Cc: git@vger.kernel.org
Subject: Re: `git rev-parse --is-inside-work-tree` and $GIT_WORK_TREE
Date: Tue, 29 Mar 2016 13:33:07 +0100 [thread overview]
Message-ID: <20160329123306.GD1578@serenity.lan> (raw)
In-Reply-To: <CAPZ477PD7SkRg7T_Y_n27Hjw5TeW6Sh0-vtoP6-4xUDraC7OiA@mail.gmail.com>
On Tue, Mar 29, 2016 at 06:53:35AM -0500, Elliott Cable wrote:
> On Tue, Mar 29, 2016 at 6:42 AM, Elliott Cable <me@ell.io> wrote:
> > So, I find this behaviour a little strange; I can't determine if it's
> > a subtle bug, or intentionally undefined/‘fuzzy’ behaviour ...
>
> Oh lord, it gets worse ...
>
> $ cd a-repo
> $ git rev-parse --is-inside-work-tree; git rev-parse --is-inside-git-dir
> true
> false
> $ cd .git
> $ git rev-parse --is-inside-work-tree; git rev-parse --is-inside-git-dir
> false
> true
I believe these are working correctly, the .git directory is not part of
the working tree.
> $ export GIT_WORK_TREE="$(git rev-parse --show-toplevel)" # !!!
Did you check the value of GIT_WORK_TREE here? When I try it's the
empty string.
If I set the core.worktree config variable to ".." then rev-parse does
find the working tree correctly. I recall some previous discussion
about this but I can't find it in the list archives from a quick search.
> $ git rev-parse --is-inside-work-tree; git rev-parse --is-inside-git-dir
> true
> false
> $ # !!?!?
>
> So, basically, if `$GIT_WORK_TREE` is set at all, it appears that the
> `rev-parse --is-inside...` flags don't function reliably at all.
If you set GIT_WORK_TREE you're telling Git to override all of the
normal detection logic. What version of Git are you using? When I try
this it says:
fatal: The empty string is not a valid path
If I set GIT_WORK_TREE to the correct value for this repository then it
behaves the same as with the auto-detection logic.
next prev parent reply other threads:[~2016-03-29 12:33 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-29 11:42 `git rev-parse --is-inside-work-tree` and $GIT_WORK_TREE Elliott Cable
2016-03-29 11:53 ` Elliott Cable
2016-03-29 12:33 ` John Keeping [this message]
2016-03-29 15:08 ` Junio C Hamano
2016-03-29 19:41 ` Jeff King
2016-03-29 19:56 ` Junio C Hamano
2016-03-29 20:26 ` Jeff King
2016-03-29 20:34 ` Jeff King
2016-03-29 20:52 ` John Keeping
2016-03-29 21:21 ` Jeff King
2016-03-29 22:00 ` John Keeping
2016-03-29 22:14 ` John Keeping
2016-03-29 22:16 ` Jeff King
2016-03-29 22:35 ` Junio C Hamano
2016-03-30 0:53 ` Duy Nguyen
2016-04-01 0:49 ` Elliott Cable
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=20160329123306.GD1578@serenity.lan \
--to=john@keeping.me.uk \
--cc=git@vger.kernel.org \
--cc=me@ell.io \
/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).