http-push: fix revision walk
authorNick Hengeveld <nickh@reactrix.com>
Sat, 11 Mar 2006 04:17:55 +0000 (20:17 -0800)
committerJunio C Hamano <junkio@cox.net>
Sat, 11 Mar 2006 07:01:45 +0000 (23:01 -0800)
The revision walk was not including tags because setup_revisions zeroes out
the revs flags.  Pass --objects so it picks up all the necessary bits.

Signed-off-by: Junio C Hamano <junkio@cox.net>
http-push.c

index 226d719..4c1b0c3 100644 (file)
@@ -1752,23 +1752,20 @@ int main(int argc, char **argv)
                }
 
                /* Set up revision info for this refspec */
-               const char *commit_argv[3];
-               int commit_argc = 2;
+               const char *commit_argv[4];
+               int commit_argc = 3;
                char *new_sha1_hex = strdup(sha1_to_hex(ref->new_sha1));
                char *old_sha1_hex = NULL;
-               commit_argv[1] = new_sha1_hex;
+               commit_argv[1] = "--objects";
+               commit_argv[2] = new_sha1_hex;
                if (!push_all && !is_zero_sha1(ref->old_sha1)) {
                        old_sha1_hex = xmalloc(42);
                        sprintf(old_sha1_hex, "^%s",
                                sha1_to_hex(ref->old_sha1));
-                       commit_argv[2] = old_sha1_hex;
+                       commit_argv[3] = old_sha1_hex;
                        commit_argc++;
                }
-               revs.commits = NULL;
                setup_revisions(commit_argc, commit_argv, &revs, NULL);
-               revs.tag_objects = 1;
-               revs.tree_objects = 1;
-               revs.blob_objects = 1;
                free(new_sha1_hex);
                if (old_sha1_hex) {
                        free(old_sha1_hex);