Hi, Junio! Is the following likely to get merged eventually? It was pointed out that I can work-around the limitation by using softlinks, so it's not a show-stopper for me. --- Fix git fetch for when multiple refspecs reference the same remote head. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxxxxxx> diff --git a/connect.c b/connect.c index 4422a0d..3880191 100644 --- a/connect.c +++ b/connect.c @@ -115,6 +115,7 @@ int get_ack(int fd, unsigned char *resul int path_match(const char *path, int nr, char **match) { int i; + int found = 0; int pathlen = strlen(path); for (i = 0; i < nr; i++) { @@ -128,9 +129,9 @@ int path_match(const char *path, int nr, if (pathlen > len && path[pathlen - len - 1] != '/') continue; *s = 0; - return (i + 1); + found = i + 1; } - return 0; + return found; } struct refspec { diff --git a/git-fetch.sh b/git-fetch.sh index c2eebee..328168b 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -366,33 +366,44 @@ fetch_main () { exit 1 ;; esac found= - single_force= + found_any= for ref in $refs do case "$ref" in +$remote_name:*) single_force=t not_for_merge= - found="$ref" - break ;; + found="$ref";; .+$remote_name:*) single_force=t not_for_merge=t - found="$ref" - break ;; + found="$ref";; .$remote_name:*) + single_force= not_for_merge=t - found="$ref" - break ;; + found="$ref";; $remote_name:*) + single_force= + not_for_merge= + found="$ref";; + *) + single_force= not_for_merge= - found="$ref" - break ;; + found=;; esac + if test "$found" != "" + then + found_any=1 + local_name=$(expr "z$found" : 'z[^:]*:\(.*\)') + append_fetch_head "$sha1" "$remote" "$remote_name" \ + "$remote_nick" "$local_name" "$not_for_merge" + fi done - local_name=$(expr "z$found" : 'z[^:]*:\(.*\)') - append_fetch_head "$sha1" "$remote" \ - "$remote_name" "$remote_nick" "$local_name" "$not_for_merge" + if test "$found_any" == "" + then + append_fetch_head "$sha1" "$remote" "$remote_name" \ + "$remote_nick" "" "" + fi done ) || exit ;; esac -- MST - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html