parse-remote: remove unused functions
Signed-off-by: Santi Béjar <santi@agolina.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e9460a66e0
commit
62d955fd43
@ -17,26 +17,6 @@ routines to parse files under $GIT_DIR/remotes/ and
|
|||||||
$GIT_DIR/branches/ and configuration variables that are related
|
$GIT_DIR/branches/ and configuration variables that are related
|
||||||
to fetching, pulling and pushing.
|
to fetching, pulling and pushing.
|
||||||
|
|
||||||
The primary entry points are:
|
|
||||||
|
|
||||||
get_remote_refs_for_fetch::
|
|
||||||
Given the list of user-supplied `<repo> <refspec>...`,
|
|
||||||
return the list of refs to fetch after canonicalizing
|
|
||||||
them into `$GIT_DIR` relative paths
|
|
||||||
(e.g. `refs/heads/foo`). When `<refspec>...` is empty
|
|
||||||
the returned list of refs consists of the defaults
|
|
||||||
for the given `<repo>`, if specified in
|
|
||||||
`$GIT_DIR/remotes/`, `$GIT_DIR/branches/`, or `remote.*.fetch`
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
get_remote_refs_for_push::
|
|
||||||
Given the list of user-supplied `<repo> <refspec>...`,
|
|
||||||
return the list of refs to push in a form suitable to be
|
|
||||||
fed to the 'git-send-pack' command. When `<refspec>...`
|
|
||||||
is empty the returned list of refs consists of the
|
|
||||||
defaults for the given `<repo>`, if specified in
|
|
||||||
`$GIT_DIR/remotes/`.
|
|
||||||
|
|
||||||
Author
|
Author
|
||||||
------
|
------
|
||||||
Written by Junio C Hamano.
|
Written by Junio C Hamano.
|
||||||
|
@ -60,175 +60,6 @@ get_default_remote () {
|
|||||||
echo ${origin:-origin}
|
echo ${origin:-origin}
|
||||||
}
|
}
|
||||||
|
|
||||||
get_remote_default_refs_for_push () {
|
|
||||||
data_source=$(get_data_source "$1")
|
|
||||||
case "$data_source" in
|
|
||||||
'' | branches | self)
|
|
||||||
;; # no default push mapping, just send matching refs.
|
|
||||||
config)
|
|
||||||
git config --get-all "remote.$1.push" ;;
|
|
||||||
remotes)
|
|
||||||
sed -ne '/^Push: */{
|
|
||||||
s///p
|
|
||||||
}' "$GIT_DIR/remotes/$1" ;;
|
|
||||||
*)
|
|
||||||
die "internal error: get-remote-default-ref-for-push $1" ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
# Called from canon_refs_list_for_fetch -d "$remote", which
|
|
||||||
# is called from get_remote_default_refs_for_fetch to grok
|
|
||||||
# refspecs that are retrieved from the configuration, but not
|
|
||||||
# from get_remote_refs_for_fetch when it deals with refspecs
|
|
||||||
# supplied on the command line. $ls_remote_result has the list
|
|
||||||
# of refs available at remote.
|
|
||||||
#
|
|
||||||
# The first token returned is either "explicit" or "glob"; this
|
|
||||||
# is to help prevent randomly "globbed" ref from being chosen as
|
|
||||||
# a merge candidate
|
|
||||||
expand_refs_wildcard () {
|
|
||||||
echo "$ls_remote_result" |
|
|
||||||
git fetch--tool expand-refs-wildcard "-" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Subroutine to canonicalize remote:local notation.
|
|
||||||
canon_refs_list_for_fetch () {
|
|
||||||
# If called from get_remote_default_refs_for_fetch
|
|
||||||
# leave the branches in branch.${curr_branch}.merge alone,
|
|
||||||
# or the first one otherwise; add prefix . to the rest
|
|
||||||
# to prevent the secondary branches to be merged by default.
|
|
||||||
merge_branches=
|
|
||||||
curr_branch=
|
|
||||||
if test "$1" = "-d"
|
|
||||||
then
|
|
||||||
shift ; remote="$1" ; shift
|
|
||||||
set $(expand_refs_wildcard "$remote" "$@")
|
|
||||||
is_explicit="$1"
|
|
||||||
shift
|
|
||||||
if test "$remote" = "$(get_default_remote)"
|
|
||||||
then
|
|
||||||
curr_branch=$(git symbolic-ref -q HEAD | \
|
|
||||||
sed -e 's|^refs/heads/||')
|
|
||||||
merge_branches=$(git config \
|
|
||||||
--get-all "branch.${curr_branch}.merge")
|
|
||||||
fi
|
|
||||||
if test -z "$merge_branches" && test $is_explicit != explicit
|
|
||||||
then
|
|
||||||
merge_branches=..this.will.never.match.any.ref..
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
for ref
|
|
||||||
do
|
|
||||||
force=
|
|
||||||
case "$ref" in
|
|
||||||
+*)
|
|
||||||
ref=$(expr "z$ref" : 'z+\(.*\)')
|
|
||||||
force=+
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
expr "z$ref" : 'z.*:' >/dev/null || ref="${ref}:"
|
|
||||||
remote=$(expr "z$ref" : 'z\([^:]*\):')
|
|
||||||
local=$(expr "z$ref" : 'z[^:]*:\(.*\)')
|
|
||||||
dot_prefix=.
|
|
||||||
if test -z "$merge_branches"
|
|
||||||
then
|
|
||||||
merge_branches=$remote
|
|
||||||
dot_prefix=
|
|
||||||
else
|
|
||||||
for merge_branch in $merge_branches
|
|
||||||
do
|
|
||||||
[ "$remote" = "$merge_branch" ] &&
|
|
||||||
dot_prefix= && break
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
case "$remote" in
|
|
||||||
'' | HEAD ) remote=HEAD ;;
|
|
||||||
refs/*) ;;
|
|
||||||
heads/* | tags/* | remotes/* ) remote="refs/$remote" ;;
|
|
||||||
*) remote="refs/heads/$remote" ;;
|
|
||||||
esac
|
|
||||||
case "$local" in
|
|
||||||
'') local= ;;
|
|
||||||
refs/*) ;;
|
|
||||||
heads/* | tags/* | remotes/* ) local="refs/$local" ;;
|
|
||||||
*) local="refs/heads/$local" ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if local_ref_name=$(expr "z$local" : 'zrefs/\(.*\)')
|
|
||||||
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}"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Returns list of src: (no store), or src:dst (store)
|
|
||||||
get_remote_default_refs_for_fetch () {
|
|
||||||
data_source=$(get_data_source "$1")
|
|
||||||
case "$data_source" in
|
|
||||||
'')
|
|
||||||
echo "HEAD:" ;;
|
|
||||||
self)
|
|
||||||
canon_refs_list_for_fetch -d "$1" \
|
|
||||||
$(git for-each-ref --format='%(refname):')
|
|
||||||
;;
|
|
||||||
config)
|
|
||||||
canon_refs_list_for_fetch -d "$1" \
|
|
||||||
$(git config --get-all "remote.$1.fetch") ;;
|
|
||||||
branches)
|
|
||||||
remote_branch=$(sed -ne '/#/s/.*#//p' "$GIT_DIR/branches/$1")
|
|
||||||
case "$remote_branch" in '') remote_branch=master ;; esac
|
|
||||||
echo "refs/heads/${remote_branch}:refs/heads/$1"
|
|
||||||
;;
|
|
||||||
remotes)
|
|
||||||
canon_refs_list_for_fetch -d "$1" $(sed -ne '/^Pull: */{
|
|
||||||
s///p
|
|
||||||
}' "$GIT_DIR/remotes/$1")
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
die "internal error: get-remote-default-ref-for-fetch $1" ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
get_remote_refs_for_push () {
|
|
||||||
case "$#" in
|
|
||||||
0) die "internal error: get-remote-refs-for-push." ;;
|
|
||||||
1) get_remote_default_refs_for_push "$@" ;;
|
|
||||||
*) shift; echo "$@" ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
get_remote_refs_for_fetch () {
|
|
||||||
case "$#" in
|
|
||||||
0)
|
|
||||||
die "internal error: get-remote-refs-for-fetch." ;;
|
|
||||||
1)
|
|
||||||
get_remote_default_refs_for_fetch "$@" ;;
|
|
||||||
*)
|
|
||||||
shift
|
|
||||||
tag_just_seen=
|
|
||||||
for ref
|
|
||||||
do
|
|
||||||
if test "$tag_just_seen"
|
|
||||||
then
|
|
||||||
echo "refs/tags/${ref}:refs/tags/${ref}"
|
|
||||||
tag_just_seen=
|
|
||||||
continue
|
|
||||||
else
|
|
||||||
case "$ref" in
|
|
||||||
tag)
|
|
||||||
tag_just_seen=yes
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
canon_refs_list_for_fetch "$ref"
|
|
||||||
done
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
get_remote_merge_branch () {
|
get_remote_merge_branch () {
|
||||||
case "$#" in
|
case "$#" in
|
||||||
0|1)
|
0|1)
|
||||||
@ -262,38 +93,3 @@ get_remote_merge_branch () {
|
|||||||
[ -n "$remote" ] && echo "refs/remotes/$repo/$remote"
|
[ -n "$remote" ] && echo "refs/remotes/$repo/$remote"
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve_alternates () {
|
|
||||||
# original URL (xxx.git)
|
|
||||||
top_=`expr "z$1" : 'z\([^:]*:/*[^/]*\)/'`
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
get_uploadpack () {
|
|
||||||
data_source=$(get_data_source "$1")
|
|
||||||
case "$data_source" in
|
|
||||||
config)
|
|
||||||
uplp=$(git config --get "remote.$1.uploadpack")
|
|
||||||
echo ${uplp:-git-upload-pack}
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "git-upload-pack"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user