projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
repo-config: trim white-space before comment
[git.git]
/
git-parse-remote.sh
diff --git
a/git-parse-remote.sh
b/git-parse-remote.sh
index
aea7b0e
..
c9b899e
100755
(executable)
--- a/
git-parse-remote.sh
+++ b/
git-parse-remote.sh
@@
-1,13
+1,15
@@
#!/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
*/*)
# Not so fast. This could be the partial URL shorthand...
get_data_source () {
case "$1" in
*/*)
# Not so fast. This could be the partial URL shorthand...
- token=$(expr "
$1" : '
\([^/]*\)/')
- remainder=$(expr "
$1" : '
[^/]*/\(.*\)')
+ token=$(expr "
z$1" : 'z
\([^/]*\)/')
+ remainder=$(expr "
z$1" : 'z
[^/]*/\(.*\)')
if test -f "$GIT_DIR/branches/$token"
then
echo branches-partial
if test -f "$GIT_DIR/branches/$token"
then
echo branches-partial
@@
-41,8
+43,8
@@
get_remote_url () {
branches)
sed -e 's/#.*//' "$GIT_DIR/branches/$1" ;;
branches-partial)
branches)
sed -e 's/#.*//' "$GIT_DIR/branches/$1" ;;
branches-partial)
- token=$(expr "
$1" : '
\([^/]*\)/')
- remainder=$(expr "
$1" : '
[^/]*/\(.*\)')
+ token=$(expr "
z$1" : 'z
\([^/]*\)/')
+ remainder=$(expr "
z$1" : 'z
[^/]*/\(.*\)')
url=$(sed -e 's/#.*//' "$GIT_DIR/branches/$token")
echo "$url/$remainder"
;;
url=$(sed -e 's/#.*//' "$GIT_DIR/branches/$token")
echo "$url/$remainder"
;;
@@
-75,27
+77,27
@@
canon_refs_list_for_fetch () {
force=
case "$ref" in
+*)
force=
case "$ref" in
+*)
- ref=$(expr "
$ref" : '\
+\(.*\)')
+ ref=$(expr "
z$ref" : 'z
+\(.*\)')
force=+
;;
esac
force=+
;;
esac
- expr "
$ref" : '
.*:' >/dev/null || ref="${ref}:"
- remote=$(expr "
$ref" : '
\([^:]*\):')
- local=$(expr "
$ref" : '
[^:]*:\(.*\)')
+ expr "
z$ref" : 'z
.*:' >/dev/null || ref="${ref}:"
+ remote=$(expr "
z$ref" : 'z
\([^:]*\):')
+ local=$(expr "
z$ref" : 'z
[^:]*:\(.*\)')
case "$remote" in
'') remote=HEAD ;;
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/\(.*\)')
+ if local_ref_name=$(expr "
z$local" : 'z
refs/\(.*\)')
then
git-check-ref-format "$local_ref_name" ||
die "* refusing to create funny ref '$local_ref_name' locally"
then
git-check-ref-format "$local_ref_name" ||
die "* refusing to create funny ref '$local_ref_name' locally"
@@
-169,7
+171,7
@@
get_remote_refs_for_fetch () {
resolve_alternates () {
# original URL (xxx.git)
resolve_alternates () {
# original URL (xxx.git)
- top_=`expr "
$1" : '
\([^:]*:/*[^/]*\)/'`
+ top_=`expr "
z$1" : 'z
\([^:]*:/*[^/]*\)/'`
while read path
do
case "$path" in
while read path
do
case "$path" in