diff options
| author | Junio C Hamano <gitster@pobox.com> | 2011-11-23 13:28:53 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2011-11-23 13:28:53 -0800 |
| commit | 3686aa1caf907d22fe318c28efe93f0e7870ba50 (patch) | |
| tree | f99a303bd14c7343be7ccc5b9df5382f1bf79246 /t/t1500-rev-parse.sh | |
| parent | aa2577a9c3bd5559bd580feca6edec4d70254adc (diff) | |
| parent | 1e501a7c47ad5ada53d3b1acfb9f131f76e969ec (diff) | |
| download | git-tj/maint-imap-send-remove-unused.tar.gz | |
Merge branch 'maint' into tj/imap-send-remove-unusedtj/maint-imap-send-remove-unused
* maint: (18123 commits)
documentation fix: git difftool uses diff tools, not merge tools.
Git 1.7.7.4
Makefile: add missing header file dependencies
notes merge: eliminate OUTPUT macro
mailmap: xcalloc mailmap_info
name-rev --all: do not even attempt to describe non-commit object
Git 1.7.7.3
docs: Update install-doc-quick
docs: don't mention --quiet or --exit-code in git-log(1)
Git 1.7.7.2
t7511: avoid use of reserved filename on Windows.
clone: Quote user supplied path in a single quote pair
read-cache.c: fix index memory allocation
make the sample pre-commit hook script reject names with newlines, too
Reindent closing bracket using tab instead of spaces
Git 1.7.7.1
RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting
gitweb: fix regression when filtering out forks
Almost ready for 1.7.7.1
pack-objects: don't traverse objects unnecessarily
...
Conflicts:
imap-send.c
Diffstat (limited to 't/t1500-rev-parse.sh')
| -rwxr-xr-x | t/t1500-rev-parse.sh | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/t/t1500-rev-parse.sh b/t/t1500-rev-parse.sh new file mode 100755 index 0000000000..48ee07779d --- /dev/null +++ b/t/t1500-rev-parse.sh @@ -0,0 +1,87 @@ +#!/bin/sh + +test_description='test git rev-parse' +. ./test-lib.sh + +test_rev_parse() { + name=$1 + shift + + test_expect_success "$name: is-bare-repository" \ + "test '$1' = \"\$(git rev-parse --is-bare-repository)\"" + shift + [ $# -eq 0 ] && return + + test_expect_success "$name: is-inside-git-dir" \ + "test '$1' = \"\$(git rev-parse --is-inside-git-dir)\"" + shift + [ $# -eq 0 ] && return + + test_expect_success "$name: is-inside-work-tree" \ + "test '$1' = \"\$(git rev-parse --is-inside-work-tree)\"" + shift + [ $# -eq 0 ] && return + + test_expect_success "$name: prefix" \ + "test '$1' = \"\$(git rev-parse --show-prefix)\"" + shift + [ $# -eq 0 ] && return + + test_expect_success "$name: git-dir" \ + "test '$1' = \"\$(git rev-parse --git-dir)\"" + shift + [ $# -eq 0 ] && return +} + +# label is-bare is-inside-git is-inside-work prefix git-dir + +ROOT=$(pwd) + +test_rev_parse toplevel false false true '' .git + +cd .git || exit 1 +test_rev_parse .git/ false true false '' . +cd objects || exit 1 +test_rev_parse .git/objects/ false true false '' "$ROOT/.git" +cd ../.. || exit 1 + +mkdir -p sub/dir || exit 1 +cd sub/dir || exit 1 +test_rev_parse subdirectory false false true sub/dir/ "$ROOT/.git" +cd ../.. || exit 1 + +git config core.bare true +test_rev_parse 'core.bare = true' true false false + +git config --unset core.bare +test_rev_parse 'core.bare undefined' false false true + +mkdir work || exit 1 +cd work || exit 1 +GIT_DIR=../.git +GIT_CONFIG="$(pwd)"/../.git/config +export GIT_DIR GIT_CONFIG + +git config core.bare false +test_rev_parse 'GIT_DIR=../.git, core.bare = false' false false true '' + +git config core.bare true +test_rev_parse 'GIT_DIR=../.git, core.bare = true' true false false '' + +git config --unset core.bare +test_rev_parse 'GIT_DIR=../.git, core.bare undefined' false false true '' + +mv ../.git ../repo.git || exit 1 +GIT_DIR=../repo.git +GIT_CONFIG="$(pwd)"/../repo.git/config + +git config core.bare false +test_rev_parse 'GIT_DIR=../repo.git, core.bare = false' false false true '' + +git config core.bare true +test_rev_parse 'GIT_DIR=../repo.git, core.bare = true' true false false '' + +git config --unset core.bare +test_rev_parse 'GIT_DIR=../repo.git, core.bare undefined' false false true '' + +test_done |
