builtin-push: --all and --tags _are_ explicit refspecs
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Thu, 4 May 2006 21:18:14 +0000 (23:18 +0200)
committerJunio C Hamano <junkio@cox.net>
Fri, 5 May 2006 00:28:14 +0000 (17:28 -0700)
... so do not get refspecs from remotes/* or the config if one of them
was specified.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-push.c

index 06d06ff310da61d71cc11bf0ac9245228a6cc10b..e530022824c13138925152de716beb3573714f40 100644 (file)
@@ -72,7 +72,7 @@ static int get_remotes_uri(const char *repo, const char *uri[MAX_URI])
 {
        int n = 0;
        FILE *f = fopen(git_path("remotes/%s", repo), "r");
-       int has_explicit_refspec = refspec_nr;
+       int has_explicit_refspec = refspec_nr || all || tags;
 
        if (!f)
                return -1;
@@ -144,7 +144,7 @@ static int get_config_remotes_uri(const char *repo, const char *uri[MAX_URI])
        config_repo = repo;
        config_current_uri = 0;
        config_uri = uri;
-       config_get_refspecs = !refspec_nr;
+       config_get_refspecs = !(refspec_nr || all || tags);
 
        git_config(get_remote_config);
        return config_current_uri;