{"thread":{"id":"7281","subject":"[PATCH] test GIT_WORK_DIR","startedAt":"2007-03-17T01:33:53Z","lastAt":"2007-03-17T01:33:53Z","messageCount":1,"participants":["Matthias Lederhofer"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"37294","messageId":"20070317013353.GA19305@moooo.ath.cx","threadId":"7281","inReplyTo":null,"subject":"[PATCH] test GIT_WORK_DIR","fromName":"Matthias Lederhofer","fromEmail":"matled@gmx.net","sentAt":"2007-03-17T01:33:53Z","receivedAt":"2007-03-17T01:33:53Z","isPatch":true,"sender":{"key":"matled@gmx.net","avatar":null},"body":"Signed-off-by: Matthias Lederhofer <matled@gmx.net>\n---\nThe test number has to be changed here too.\n---\n t/t9998-workdir.sh |   91 ++++++++++++++++++++++++++++++++++++++++++++++++++++\n t/test-lib.sh      |    1 +\n 2 files changed, 92 insertions(+), 0 deletions(-)\n create mode 100755 t/t9998-workdir.sh\n\ndiff --git a/t/t9998-workdir.sh b/t/t9998-workdir.sh\nnew file mode 100755\nindex 0000000..57a2235\n--- /dev/null\n+++ b/t/t9998-workdir.sh\n@@ -0,0 +1,91 @@\n+#!/bin/sh\n+\n+test_description='test GIT_WORK_DIR'\n+. ./test-lib.sh\n+\n+export GIT_DIR=$(pwd)/repository\n+export GIT_CONFIG=\"$GIT_DIR/config\"\n+top=$(pwd) || exit 1\n+mv .git \"$GIT_DIR\" || exit 1\n+mkdir -p working/directory || exit 1\n+\n+# test setup code and precedence of core.workdir, GIT_WORK_DIR and --work-dir\n+test_expect_failure 'GIT_WORK_DIR=non-existent' \\\n+\t'env GIT_WORK_DIR=non-existent git rev-parse'\n+test_expect_success 'GIT_WORK_DIR=working/directory' \\\n+\t'env GIT_WORK_DIR=working/directory git rev-parse'\n+test_expect_success 'GIT_WORK_DIR=`pwd`/working/directory' \\\n+\t'env GIT_WORK_DIR=\"$(pwd)\"/working/directory git rev-parse'\n+\n+test_expect_success '--work-dir' \\\n+\t'git --work-dir working/directory rev-parse'\n+test_expect_success '--work-dir overrides GIT_WORK_DIR' \\\n+\t'env GIT_WORK_DIR=non-existent git --work-dir working/directory rev-parse'\n+\n+test_expect_success 'core.workdir = non-existent' \\\n+\t'git config core.workdir non-existent'\n+test_expect_failure 'core.workdir' \\\n+\t'git rev-parse'\n+test_expect_success 'GIT_WORK_DIR overrides core.workdir' \\\n+\t'env GIT_WORK_DIR=working/directory git rev-parse'\n+test_expect_success '--work-dir overrides core.workdir' \\\n+\t'git --work-dir working/directory rev-parse'\n+\n+test_expect_success 'core.workdir = `pwd`/working/directory' \\\n+\t'git --work-dir . config core.workdir \"$(pwd)\"/working/directory'\n+test_expect_success 'core.workdir' \\\n+\t'git rev-parse'\n+test_expect_success 'core.workdir = ../working/directory' \\\n+\t'git --work-dir . config core.workdir ../working/directory'\n+test_expect_success 'core.workdir' \\\n+\t'git rev-parse'\n+\n+# outside of working directory\n+test_expect_success 'outside: --is-bare-repository' \\\n+\t'test \"true\" = \"$(git rev-parse --is-bare-repository)\"'\n+\n+# in toplevel working directory\n+cd working/directory || exit 1\n+test_expect_success 'inside: --is-bare-repository' \\\n+\t'test \"false\" = \"$(git rev-parse --is-bare-repository)\"'\n+test_expect_success 'inside: --is-inside-git-dir' \\\n+\t'test \"false\" = \"$(git rev-parse --is-inside-git-dir)\"'\n+test_expect_success 'inside: --show-prefix' \\\n+\t'test \"\" = \"$(git rev-parse --show-prefix)\"'\n+test_expect_success 'inside: --show-cdup' \\\n+\t'test \"\" = \"$(git rev-parse --show-cdup)\"'\n+\n+# in subdirectory\n+mkdir -p a/b || exit 1\n+cd a/b || exit 1\n+test_expect_success 'subdirectory: --is-bare-repository' \\\n+\t'test \"false\" = \"$(git rev-parse --is-bare-repository)\"'\n+test_expect_success 'subdirectory: --is-inside-git-dir' \\\n+\t'test \"false\" = \"$(git rev-parse --is-inside-git-dir)\"'\n+test_expect_success 'subdirectory: --show-prefix' \\\n+\t'test \"a/b/\" = \"$(git rev-parse --show-prefix)\"'\n+test_expect_success 'subdirectory: --show-cdup' \\\n+\t'test \"../../\" = \"$(git rev-parse --show-cdup)\"'\n+\n+# in repository directory\n+cd \"$top/repository\" || exit 1\n+test_expect_success 'repository: --is-bare-repository' \\\n+\t'test \"true\" = \"$(git rev-parse --is-bare-repository)\"'\n+test_expect_success 'repository: --is-inside-git-dir' \\\n+\t'test \"true\" = \"$(git rev-parse --is-inside-git-dir)\"'\n+cd objects || exit 1\n+test_expect_success 'repository/objects: --is-inside-git-dir' \\\n+\t'test \"true\" = \"$(git rev-parse --is-inside-git-dir)\"'\n+cd .. || exit 1\n+\n+# workdir is subdirectory of repository\n+mkdir workdir || exit 1\n+cd workdir || exit 1\n+test_expect_success 'core.workdir = workdir' \\\n+\t'git config core.workdir workdir'\n+test_expect_success 'repository/workdir: --is-bare-repository' \\\n+\t'test \"false\" = \"$(git rev-parse --is-bare-repository)\"'\n+test_expect_success 'repository/workdir: --is-inside-git-dir' \\\n+\t'test \"false\" = \"$(git rev-parse --is-inside-git-dir)\"'\n+\n+test_done\ndiff --git a/t/test-lib.sh b/t/test-lib.sh\nindex c075474..f73cb2d 100755\n--- a/t/test-lib.sh\n+++ b/t/test-lib.sh\n@@ -25,6 +25,7 @@ GIT_COMMITTER_EMAIL=committer@example.com\n GIT_COMMITTER_NAME='C O Mitter'\n unset GIT_DIFF_OPTS\n unset GIT_DIR\n+unset GIT_WORK_DIR\n unset GIT_EXTERNAL_DIFF\n unset GIT_INDEX_FILE\n unset GIT_OBJECT_DIRECTORY\n-- \n1.5.0.4.408.g563e1\n"}]}