diff options
authorJunio C Hamano <>2005-11-24 07:46:13 (GMT)
committerJunio C Hamano <>2005-11-25 21:49:17 (GMT)
commite8cc80d03934cc607e3a4d89a05350c238dbf9c5 (patch)
parentf678dd180a037283decb76201b537dca24de848f (diff)
parse-remote and ls-remote clean-up.
There is no reason to use git-sh-setup from git-ls-remote. git-parse-remote can help the caller to use .git/remotes shortcut if it is run inside a git repository, but can still be useful outside a git repositoryas long as the caller does not use any shortcut. Use "git-rev-parse --git-dir" to figure out where the GIT_DIR is, instead of using git-sh-setup. This also makes "git-ls-remote origin" to work from inside a subdirectory of a git managed repository as a side effect. Signed-off-by: Junio C Hamano <>
2 files changed, 3 insertions, 2 deletions
diff --git a/ b/
index f0f0b07..dc6a775 100755
--- a/
+++ b/
@@ -1,6 +1,5 @@
-. git-sh-setup
usage () {
echo >&2 "usage: $0 [--heads] [--tags] <repository> <refs>..."
diff --git a/ b/
index aea7b0e..5f158c6 100755
--- a/
+++ b/
@@ -1,6 +1,8 @@
-. git-sh-setup
+# git-ls-remote could be called from outside a git managed repository;
+# this would fail in that case and would issue an error message.
+GIT_DIR=$(git-rev-parse --git-dir 2>/dev/null) || :;
get_data_source () {
case "$1" in