mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
git-fetch: allow forcing glob pattern in refspec
Building on top of the earlier refspec glob pattern enhancement, this allows a glob pattern to say the updates should be forced by prefixing it with '+' as usual, like this: Pull: +refs/heads/*:refs/remotes/origin/* Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
cadd8a7d4d
commit
d945d4be20
|
@ -99,13 +99,17 @@ get_remote_default_refs_for_push () {
|
|||
expand_refs_wildcard () {
|
||||
for ref
|
||||
do
|
||||
lref=${ref#'+'}
|
||||
# a non glob pattern is given back as-is.
|
||||
expr "z$ref" : 'zrefs/.*/\*:refs/.*/\*$' >/dev/null || {
|
||||
expr "z$lref" : 'zrefs/.*/\*:refs/.*/\*$' >/dev/null || {
|
||||
echo "$ref"
|
||||
continue
|
||||
}
|
||||
from=`expr "z$ref" : 'z\(refs/.*/\)\*:refs/.*/\*$'`
|
||||
to=`expr "z$ref" : 'zrefs/.*/\*:\(refs/.*/\)\*$'`
|
||||
|
||||
from=`expr "z$lref" : 'z\(refs/.*/\)\*:refs/.*/\*$'`
|
||||
to=`expr "z$lref" : 'zrefs/.*/\*:\(refs/.*/\)\*$'`
|
||||
local_force=
|
||||
test "z$lref" = "z$ref" || local_force='+'
|
||||
echo "$ls_remote_result" |
|
||||
(
|
||||
IFS=' '
|
||||
|
@ -117,7 +121,7 @@ expand_refs_wildcard () {
|
|||
then
|
||||
continue
|
||||
fi
|
||||
echo "${name}:${to}${mapped}"
|
||||
echo "${local_force}${name}:${to}${mapped}"
|
||||
done
|
||||
)
|
||||
done
|
||||
|
|
Loading…
Reference in a new issue