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

[PATCH 8/9] Fix t1501 for updated work-tree logic

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 29, 2007, 23:26 UTC
Message-ID
<Pine.LNX.4.64.0707300026030.14781@racer.site>
In-Reply-To
<Pine.LNX.4.64.0707300016470.14781@racer.site>

t1501 is still a PITA to debug. But I decided not to change it, so that it is easier to see what the differences in the logic are.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 t/t1501-worktree.sh |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/t/t1501-worktree.sh b/t/t1501-worktree.sh
index aadeeab..7322161 100755
--- a/t/t1501-worktree.sh
+++ b/t/t1501-worktree.sh
@@ -33,17 +33,17 @@ mv .git repo.git || exit 1
 
 say "core.worktree = relative path"
 export GIT_DIR=repo.git
-export GIT_CONFIG=$GIT_DIR/config
+export GIT_CONFIG="$(pwd)"/$GIT_DIR/config
 unset GIT_WORK_TREE
 git config core.worktree ../work
 test_rev_parse 'outside'      false false false
 cd work || exit 1
 export GIT_DIR=../repo.git
-export GIT_CONFIG=$GIT_DIR/config
+export GIT_CONFIG="$(pwd)"/$GIT_DIR/config
 test_rev_parse 'inside'       false false true ''
 cd sub/dir || exit 1
 export GIT_DIR=../../../repo.git
-export GIT_CONFIG=$GIT_DIR/config
+export GIT_CONFIG="$(pwd)"/$GIT_DIR/config
 test_rev_parse 'subdirectory' false false true sub/dir/
 cd ../../.. || exit 1
 
@@ -84,9 +84,23 @@ test_rev_parse 'in repo.git'              false true  false
 cd objects || exit 1
 test_rev_parse 'in repo.git/objects'      false true  false
 cd ../work || exit 1
-test_rev_parse 'in repo.git/work'         false false true ''
+test_rev_parse 'in repo.git/work'         false true true ''
 cd sub/dir || exit 1
-test_rev_parse 'in repo.git/sub/dir' false false true sub/dir/
+test_rev_parse 'in repo.git/sub/dir' false true true sub/dir/
 cd ../../../.. || exit 1
 
+test_expect_success 'repo finds its work tree' '
+	(cd repo.git &&
+	 : > work/sub/dir/untracked &&
+	 test sub/dir/untracked = "$(git ls-files --others)")
+'
+
+test_expect_success 'repo finds its work tree from work tree, too' '
+	(cd repo.git/work/sub/dir &&
+	 : > tracked &&
+	 git --git-dir=../../.. add tracked &&
+	 cd ../../.. &&
+	 test sub/dir/tracked = "$(git ls-files)")
+'
+
 test_done
-- 
1.5.3.rc3.28.g1406
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 9 of 30 in “work-tree clean ups”
  1. 0/9 work-tree clean upsJohannes Schindelin, Jul 29, 2007
  2. 1/9 Add is_absolute_path() and make_absolute_path()Johannes Schindelin, Jul 29, 2007
  3. 2/9 Add functions get_relative_cwd() and is_inside_dir()Johannes Schindelin, Jul 29, 2007
  4. 3/9 white space fixes in setup.cJohannes Schindelin, Jul 29, 2007
  5. 4/9 Clean up work-tree handlingJohannes Schindelin, Jul 29, 2007
  6. 5/9 Add set_git_dir() functionJohannes Schindelin, Jul 29, 2007
  7. 6/9 work-trees are allowed inside a git-dirJohannes Schindelin, Jul 29, 2007
  8. 7/9 init: use get_git_work_tree() instead of rolling our ownJohannes Schindelin, Jul 29, 2007
  9. 8/9 Fix t1501 for updated work-tree logicJohannes Schindelin, Jul 29, 2007
  10. 9/9 Fix t1500 for sane work-tree behaviorJohannes Schindelin, Jul 29, 2007
  11. Die if core.bare = true and core.worktree is setJohannes Schindelin, Jul 29, 2007
  12. Johannes SchindelinAug 1, 2007
  13. 1/4 Add is_absolute_path() and make_absolute_path()Johannes Schindelin, Aug 1, 2007
  14. 2/4 Add functions get_relative_cwd() and is_inside_dir()Johannes Schindelin, Aug 1, 2007
  15. Junio C HamanoAug 1, 2007
  16. Junio C HamanoAug 1, 2007
  17. Johannes SchindelinAug 1, 2007
  18. Make get_relative_cwd() not accept NULL for a directoryJohannes Schindelin, Aug 1, 2007
  19. Junio C HamanoAug 1, 2007
  20. get_relative_cwd(): clarify why it handles dir == NULLJohannes Schindelin, Aug 1, 2007
  21. 3/4 Add set_git_dir() functionJohannes Schindelin, Aug 1, 2007
  22. 4/4 Clean up work-tree handlingJohannes Schindelin, Aug 1, 2007
  23. Junio C HamanoAug 1, 2007
  24. Johannes SchindelinAug 1, 2007
  25. Junio C HamanoAug 2, 2007
  26. Junio C HamanoAug 1, 2007
  27. Johannes SchindelinAug 1, 2007
  28. Junio C HamanoAug 1, 2007
  29. Johannes SchindelinAug 1, 2007
  30. Johannes SchindelinAug 1, 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.