From: Ted Pavlic <ted@tedpavlic.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: spearce <spearce@spearce.org>, git <git@vger.kernel.org>
Subject: Re: [PATCH 3/3] completion: Prevents GIT_PS1_DIRTYSTATE from breaking when CWD is .git
Date: Wed, 11 Feb 2009 12:20:26 -0500 [thread overview]
Message-ID: <499308DA.9090208@tedpavlic.com> (raw)
In-Reply-To: <7vprhogbfa.fsf@gitster.siamese.dyndns.org>
>> This patch uses "git rev-parse --is-inside-work-tree" to determine
>> whether a "--work-tree=.." should be added to the "git diff".
>
> Why ".."? What prevents you from "cd .git/refs/heads"?
It was my impression that --work-tree=.. was relative to the GIT_DIR. My
tests seem to confirm that. Within the git work tree I do:
echo "test">>COPYING
then
cd .git/refs/heads
git --work=tree=.. diff
and that produces a diff of COPYING showing the new line.
("man git" confused me about how WORK_TREE was supposed to work)
> Your "is-inside-work-tree" might be a good change, but if you were to
> spend a letter to notify the users, "Warning: You are inside GIT_DIR! This
> is something unusual, proceed with caution." is a lot more important
> notice to give them than "You seem to have unstaged changes" notice.
Ok, so if "is-inside-git-dir" then send a special "!" flag (and no
dirtyState flags)? Does that seem reasonable?
Additionally, is it a good idea to echo the branch name when inside the
git dir? That is, what does it "mean" to be on "master" when you're
inside .git?
> You have at least three possible states:
> * You are not in git repository at all;
> * You are somewhere in $GIT_DIR, perhaps in a bare repository, perhaps a
> repository with a work tree.
> * You are inside a work tree.
It seems like (psuedocode)...
if git rev-parse --is-inside-git-dir; then
use '!' flag to indicate caution
elif git rev-parse --is-inside-work-tree; then
proceed as before (with '*' and '+' flags)
else
do nothing
I think that handles those cases. No?
Thanks --
--Ted
--
Ted Pavlic <ted@tedpavlic.com>
Please visit my ALS association page:
http://web.alsa.org/goto/tedpavlic
My family appreciates your support in the fight to defeat ALS.
next prev parent reply other threads:[~2009-02-11 17:22 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-11 15:37 [PATCH 0/3] completion: Convention updates and DIRTYSTATE fix Ted Pavlic
2009-02-11 15:37 ` [PATCH 1/3] completion: For consistency, changed "git rev-parse" to __gitdir calls Ted Pavlic
2009-02-11 15:37 ` [PATCH 2/3] completion: Change "if [...]" to "if test ..." to match git convention Ted Pavlic
2009-02-11 15:37 ` [PATCH 3/3] completion: Prevents GIT_PS1_DIRTYSTATE from breaking when CWD is .git Ted Pavlic
2009-02-11 16:18 ` [PATCH 4/3] completion: More fixes to prevent unbound variable errors Ted Pavlic
2009-02-11 16:28 ` Shawn O. Pearce
2009-02-11 16:26 ` [PATCH 3/3] completion: Prevents GIT_PS1_DIRTYSTATE from breaking when CWD is .git Shawn O. Pearce
2009-02-11 16:53 ` Ted Pavlic
2009-02-11 16:56 ` Junio C Hamano
2009-02-11 17:20 ` Ted Pavlic [this message]
2009-02-11 18:01 ` Shawn O. Pearce
2009-02-11 16:24 ` [PATCH 2/3] completion: Change "if [...]" to "if test ..." to match git convention Shawn O. Pearce
2009-02-11 16:36 ` Ted Pavlic
2009-02-11 17:14 ` Junio C Hamano
2009-02-11 16:46 ` Junio C Hamano
2009-02-11 16:22 ` [PATCH 1/3] completion: For consistency, changed "git rev-parse" to __gitdir calls Shawn O. Pearce
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=499308DA.9090208@tedpavlic.com \
--to=ted@tedpavlic.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=spearce@spearce.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.