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

Re: [BUG] git-diff-tree or git-commit: wrong diff(stat)

From
Junio C Hamano <junkio@cox.net>
Date
Mar 5, 2007, 20:22 UTC
Message-ID
<7v3b4jzbha.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070305200751.GA13655@moooo.ath.cx>
Matthias Lederhofer <matled@gmx.net> writes:
Show 5 quoted lines
> git-commit.sh uses git-diff-tree [options] HEAD --.  The '--' was
> added in 521f9c4d to prevent problems when HEAD exists as a file but
> git-diff-tree shows only differences below the current directory when
> '--' is used.  Hence git-commit in a subdirectory shows only stats for
> the subdirectory.

A cd_to_toplevel before that diff-tree should fix that, shouldn't it?

For that matter, I think the commit hook should be run from a known environment without getting affected by the user running git-commit from a random subdirectory, and so should rerere. So how about....

 git-commit.sh |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/git-commit.sh b/git-commit.sh
index be3677c..b8c00b8 100755
--- a/git-commit.sh
+++ b/git-commit.sh
@@ -622,6 +622,9 @@ else
 fi
 ret="$?"
 rm -f "$GIT_DIR/COMMIT_MSG" "$GIT_DIR/COMMIT_EDITMSG" "$GIT_DIR/SQUASH_MSG"
+
+cd_to_toplevel
+
 if test -d "$GIT_DIR/rr-cache"
 then
 	git-rerere
Previous: Matthias LederhoferNext: Matthias Lederhofer
Message 2 of 3 in “[BUG] git-diff-tree or git-commit: wrong diff(stat)”
  1. Matthias LederhoferMar 5, 2007
  2. Junio C HamanoMar 5, 2007
  3. Matthias LederhoferMar 5, 2007

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.