git-push: Update description of refspecs and add examples
[gitweb.git] / remote.c
index 30abdbb4d9fdeeb39241a88754a7e511cc2e94eb..754d5130e3895acc59e43eb1d46338a835ad72ef 100644 (file)
--- a/remote.c
+++ b/remote.c
@@ -333,7 +333,6 @@ static int count_refspec_match(const char *pattern,
        for (weak_match = match = 0; refs; refs = refs->next) {
                char *name = refs->name;
                int namelen = strlen(name);
-               int weak_match;
 
                if (namelen < patlen ||
                    memcmp(name + namelen - patlen, pattern, patlen))
@@ -456,7 +455,7 @@ static int match_explicit(struct ref *src, struct ref *dst,
                errs = 1;
 
        if (dst_value == NULL)
-               dst_value = rs->src;
+               dst_value = matched_src->name;
 
        switch (count_refspec_match(dst_value, dst, &matched_dst)) {
        case 1:
@@ -464,11 +463,6 @@ static int match_explicit(struct ref *src, struct ref *dst,
        case 0:
                if (!memcmp(dst_value, "refs/", 5))
                        matched_dst = make_dst(dst_value, dst_tail);
-               else if (!strcmp(rs->src, dst_value) && matched_src)
-                       /* pushing "master:master" when
-                        * remote does not have master yet.
-                        */
-                       matched_dst = make_dst(matched_src->name, dst_tail);
                else
                        error("dst refspec %s does not match any "
                              "existing ref on the remote and does "