diff options
Diffstat (limited to 'git-parse-remote.sh')
-rwxr-xr-x | git-parse-remote.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/git-parse-remote.sh b/git-parse-remote.sh index 3c5d94b34..a9db0cd82 100755 --- a/git-parse-remote.sh +++ b/git-parse-remote.sh @@ -153,3 +153,24 @@ get_remote_refs_for_fetch () { ;; esac } + +resolve_alternates () { + # original URL (xxx.git) + top_=`expr "$1" : '\([^:]*:/*[^/]*\)/'` + while read path + do + case "$path" in + \#* | '') + continue ;; + /*) + echo "$top_$path/" ;; + ../*) + # relative -- ugly but seems to work. + echo "$1/objects/$path/" ;; + *) + # exit code may not be caught by the reader. + echo "bad alternate: $path" + exit 1 ;; + esac + done +} |