projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
git-clone: exit early if repo isn't specified
[git.git]
/
git-parse-remote.sh
diff --git
a/git-parse-remote.sh
b/git-parse-remote.sh
index
5e75e15
..
63f2281
100755
(executable)
--- a/
git-parse-remote.sh
+++ b/
git-parse-remote.sh
@@
-1,6
+1,8
@@
#!/bin/sh
#!/bin/sh
-. 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
get_data_source () {
case "$1" in
@@
-84,16
+86,22
@@
canon_refs_list_for_fetch () {
local=$(expr "$ref" : '[^:]*:\(.*\)')
case "$remote" in
'') remote=HEAD ;;
local=$(expr "$ref" : '[^:]*:\(.*\)')
case "$remote" in
'') remote=HEAD ;;
- refs/heads/* | refs/tags/*) ;;
- heads/* | tags/* ) remote="refs/$remote" ;;
+ refs/heads/* | refs/tags/*
| refs/remotes/*
) ;;
+ heads/* | tags/*
| remotes/*
) remote="refs/$remote" ;;
*) remote="refs/heads/$remote" ;;
esac
case "$local" in
'') local= ;;
*) remote="refs/heads/$remote" ;;
esac
case "$local" in
'') local= ;;
- refs/heads/* | refs/tags/*) ;;
- heads/* | tags/* ) local="refs/$local" ;;
+ refs/heads/* | refs/tags/*
| refs/remotes/*
) ;;
+ heads/* | tags/*
| remotes/*
) local="refs/$local" ;;
*) local="refs/heads/$local" ;;
esac
*) local="refs/heads/$local" ;;
esac
+
+ if local_ref_name=$(expr "$local" : 'refs/\(.*\)')
+ then
+ git-check-ref-format "$local_ref_name" ||
+ die "* refusing to create funny ref '$local_ref_name' locally"
+ fi
echo "${dot_prefix}${force}${remote}:${local}"
dot_prefix=.
done
echo "${dot_prefix}${force}${remote}:${local}"
dot_prefix=.
done