Skip to content

Commit 0a2a5d8

Browse files
committed
Merge branch 'jc/require-work-tree-exists'
* jc/require-work-tree-exists: require-work-tree wants more than what its name says
2 parents 1dcfb2a + e2eb527 commit 0a2a5d8

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

Documentation/git-sh-setup.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,14 @@ cd_to_toplevel::
5858
runs chdir to the toplevel of the working tree.
5959

6060
require_work_tree::
61-
checks if the repository is a bare repository, and dies
62-
if so. Used by scripts that require working tree
63-
(e.g. `checkout`).
61+
checks if the current directory is within the working tree
62+
of the repository, and otherwise dies.
63+
64+
require_work_tree_exists::
65+
checks if the working tree associated with the repository
66+
exists, and otherwise dies. Often done before calling
67+
cd_to_toplevel, which is impossible to do if there is no
68+
working tree.
6469

6570
get_author_ident_from_commit::
6671
outputs code for use with eval to set the GIT_AUTHOR_NAME,

git-sh-setup.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,13 @@ cd_to_toplevel () {
140140
}
141141
}
142142
143+
require_work_tree_exists () {
144+
if test "z$(git rev-parse --is-bare-repository)" != zfalse
145+
then
146+
die "fatal: $0 cannot be used without a working tree."
147+
fi
148+
}
149+
143150
require_work_tree () {
144151
test "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = true ||
145152
die "fatal: $0 cannot be used without a working tree."

0 commit comments

Comments
 (0)