[PATCH 2/3] git-fetch: do not use "*" for fetching multiple refs
The trailing / is enough to decide if this should map everything under refs/heads/ to refs/somewhere/.
The "*" should be reserved for the use as regex operator.
Signed-off-by: Michael Loeffler <zvpunry@zvpunry.de> --- I want to use regular expressions to match remote refs, so I try to implement this. But the current globfetch syntax needs the '*'.
Maybe it is not to late to change the syntax to this: Pull: refs/heads/:refs/remotes/origin/
What do you think?
Show changes to git-parse-remote.sh +3 −3
diff --git a/git-parse-remote.sh b/git-parse-remote.sh index da064a5..38af4cb 100755 --- a/git-parse-remote.sh +++ b/git-parse-remote.sh @@ -101,13 +101,13 @@ expand_refs_wildcard () { do lref=${ref#'+'} # a non glob pattern is given back as-is. - expr "z$lref" : 'zrefs/.*/\*:refs/.*/\*$' >/dev/null || { + expr "z$lref" : 'zrefs/.*/:refs/.*/$' >/dev/null || { echo "$ref" continue } - from=`expr "z$lref" : 'z\(refs/.*/\)\*:refs/.*/\*$'` - to=`expr "z$lref" : '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" |
-- 1.4.4