git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/3] completion: Prevents GIT_PS1_DIRTYSTATE from breaking when CWD is .git

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 11, 2009, 16:56 UTC
Message-ID
<7vprhogbfa.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1234366634-17900-4-git-send-email-ted@tedpavlic.com>
Ted Pavlic <ted@tedpavlic.com> writes:
Show 6 quoted lines
> The GIT_PS1_DIRTYSTATE support uses a "git diff" to see if a "*" should
> be placed after the branch name. The "git diff" fails with an ugly error
> if the user has just changed directory into GIT_DIR.
>
> 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"?

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.

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.

The first should be quiet, the second should say "Proceed with caution, any 'rm -f file' or 'edit file' you do here should be to recover from unusual repository corruptoin only; you are welcome to look but don't touch.", and the last one is Ok to say "You have unstaged changes."

Previous: Ted PavlicNext: Ted Pavlic
Message 9 of 16 in “completion: Convention updates and DIRTYSTATE fix”
  1. 0/3 completion: Convention updates and DIRTYSTATE fixTed Pavlic, Feb 11, 2009
  2. 1/3 completion: For consistency, changed "git rev-parse" to __gitdir calls.Ted Pavlic, Feb 11, 2009
  3. 2/3 completion: Change "if [...]" to "if test ..." to match git conventionTed Pavlic, Feb 11, 2009
  4. 3/3 completion: Prevents GIT_PS1_DIRTYSTATE from breaking when CWD is .gitTed Pavlic, Feb 11, 2009
  5. 4/3 completion: More fixes to prevent unbound variable errors.Ted Pavlic, Feb 11, 2009
  6. Shawn O. PearceFeb 11, 2009
  7. Shawn O. PearceFeb 11, 2009
  8. Ted PavlicFeb 11, 2009
  9. Junio C HamanoFeb 11, 2009
  10. Ted PavlicFeb 11, 2009
  11. Shawn O. PearceFeb 11, 2009
  12. Shawn O. PearceFeb 11, 2009
  13. Ted PavlicFeb 11, 2009
  14. Junio C HamanoFeb 11, 2009
  15. Junio C HamanoFeb 11, 2009
  16. Shawn O. PearceFeb 11, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.