All of lore.kernel.org
 help / color / mirror / Atom feed
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.

  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.