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

[PATCH] Add a test for git-commit being confused by relative GIT_DIR

From
David Kastrup <dak@gnu.org>
Date
Aug 11, 2007, 22:02 UTC
Message-ID
<85tzr5spaj.fsf@lola.goethe.zz>
In-Reply-To
<7vbqddn8zj.fsf@assigned-by-dhcp.cox.net>
Signed-off-by: David Kastrup <dak@gnu.org>
---
It takes an inordinarily large amount of time to create these tests, I
am afraid.  There is little sense in making a more extensive audit,
cranking out more cases which fail with relative paths, when the fix,
namely making GIT_DIR absolute, is so simple.
 t/t2050-git-dir-relative.sh |   54 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)
 create mode 100755 t/t2050-git-dir-relative.sh
diff --git a/t/t2050-git-dir-relative.sh b/t/t2050-git-dir-relative.sh
new file mode 100755
index 0000000..54a3512
--- /dev/null
+++ b/t/t2050-git-dir-relative.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+test_description='check problems with relative GIT_DIR
+
+This test creates a working tree state with a file and subdir:
+
+  top (committed several times)
+  subdir (a subdirectory)
+
+It creates a commit-hook and tests it, then moves .git
+into the subdir while keeping the worktree location, 
+and tries commits from the top and the subdir, checking
+that the commit-hook still gets called.'
+
+. ./test-lib.sh
+
+test_expect_success 'Setting up post-commit hook' '
+mkdir -p .git/hooks &&
+cat <<EOF >.git/hooks/post-commit &&
+#!/bin/sh
+touch $(pwd)/output
+echo "Post commit hook was called."
+EOF
+chmod +x .git/hooks/post-commit'
+
+test_expect_success 'post-commit hook used ordinarily' '
+echo initial >top &&
+git-add top
+git-commit -m initial &&
+test -r output
+'
+
+rm -rf output
+mkdir subdir
+mv .git subdir
+
+test_expect_success 'post-commit-hook created and used from top dir' '
+echo changed >top &&
+git --git-dir subdir/.git add top &&
+git --git-dir subdir/.git commit -m topcommit &&
+test -r output
+'
+
+rm -rf output
+
+test_expect_success 'post-commit-hook from sub dir' '
+echo changed again >top
+cd subdir &&
+git --git-dir .git --work-tree .. add ../top &&
+git --git-dir .git --work-tree .. commit -m subcommit &&
+test -r ../output
+'
+
+test_done
-- 
1.5.3.rc2.187.g9a1d2-dirty
Previous: David KastrupNext: Junio C Hamano
Message 9 of 15 in “git-filter-branch.sh: Fix broken setting of GIT_DIR”
  1. git-filter-branch.sh: Fix broken setting of GIT_DIRDavid Kastrup, Aug 10, 2007
  2. git-filter-branch.sh: Fix broken setting of GIT_DIRDavid Kastrup, Aug 10, 2007
  3. Junio C HamanoAug 11, 2007
  4. David KastrupAug 11, 2007
  5. David KastrupAug 11, 2007
  6. David KastrupAug 11, 2007
  7. Junio C HamanoAug 11, 2007
  8. David KastrupAug 11, 2007
  9. Add a test for git-commit being confused by relative GIT_DIRDavid Kastrup, Aug 11, 2007
  10. Junio C HamanoAug 12, 2007
  11. David KastrupAug 12, 2007
  12. Junio C HamanoAug 12, 2007
  13. David KastrupAug 12, 2007
  14. Steven GrimmAug 11, 2007
  15. Junio C HamanoAug 11, 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.