Re: git-describe considers WC dirty incorrectly when using --git-dir

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: git-describe considers WC dirty incorrectly when using --git-dir

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:03:58

Chris Pimlott [off-list ref] writes:
It seems that git-describe always thinks that working copy is dirty if
you are not in the WC root and you explicitly specify the .git
directory location using --git-dir:

  # set up test repo
  folio:~ chris$ mkdir repo && cd repo
  folio:repo chris$ mkdir text && echo hi > text/hi.txt
  folio:repo chris$ git init . && git add . && git commit -m "text/hi.txt"
  Initialized empty Git repository in /home/chris/repo/.git/
  [master (root-commit) c0edd63] text/hi.txt
  1 file changed, 1 insertion(+)
  create mode 100644 text/hi.txt

  # git-describe from non-root directory
  folio:repo chris$ cd text
  folio:text chris$ git describe --always --dirty
  c0edd63
  folio:text chris$ git --git-dir=../.git describe --always --dirty
  c0edd63-dirty
  folio:text chris$ git --git-dir=$(git rev-parse
--show-toplevel)/.git describe --always --dirty
  c0edd63-dirty
I have a feeling that this is not limited to describe at all.  With
the --git-dir option, you are telling Git that your GIT_DIR is over
there and (by not using --work-tree together with that option) you
are telling Git that you do not want Git to guess where the working
tree is (instead, you are telling Git that you are at the top of the
working tree), no?

Re: git-describe considers WC dirty incorrectly when using --git-dir

From: Chris Pimlott <hidden>
Date: 2016-06-15 23:03:58

On Wed, Mar 4, 2015 at 11:54 AM, Junio C Hamano [off-list ref] wrote:
Chris Pimlott [off-list ref] writes:
quoted
  folio:text chris$ git --git-dir=../.git describe --always --dirty
  c0edd63-dirty
I have a feeling that this is not limited to describe at all.  With
the --git-dir option, you are telling Git that your GIT_DIR is over
there and (by not using --work-tree together with that option) you
are telling Git that you do not want Git to guess where the working
tree is (instead, you are telling Git that you are at the top of the
working tree), no?
Ah, my apologies, you are correct.  I was not aware of --work-tree and
didn't realize that specifying --git-dir would turn off the normal
working tree discovery process.  Thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help