diff options
author | David Symonds <dsymonds@gmail.com> | 2007-11-09 11:36:06 +1100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-11-11 17:00:07 -0800 |
commit | 4307234a4ea64ec56d017cfa737f986f4afcbf2a (patch) | |
tree | 2ea89359460963c93e23cfb7dce0cd09aa138b6e /git-checkout.sh | |
parent | 40e2524da9f9fb2806a66a694b9aee722ea3ef0a (diff) | |
download | git-4307234a4ea64ec56d017cfa737f986f4afcbf2a.tar.gz git-4307234a4ea64ec56d017cfa737f986f4afcbf2a.tar.xz |
git-checkout: Support relative paths containing "..".
Signed-off-by: David Symonds <dsymonds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-checkout.sh')
-rwxr-xr-x | git-checkout.sh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/git-checkout.sh b/git-checkout.sh index 899392067..616d1eb8f 100755 --- a/git-checkout.sh +++ b/git-checkout.sh @@ -134,9 +134,9 @@ Did you intend to checkout '$@' which can not be resolved as commit?" fi # Make sure the request is about existing paths. - git ls-files --error-unmatch -- "$@" >/dev/null || exit - git ls-files -- "$@" | - git checkout-index -f -u --stdin + git ls-files --full-name --error-unmatch -- "$@" >/dev/null || exit + git ls-files --full-name -- "$@" | + (cd_to_toplevel && git checkout-index -f -u --stdin) # Run a post-checkout hook -- the HEAD does not change so the # current HEAD is passed in for both args |