diff options
author | Nick Hengeveld <nickh@reactrix.com> | 2006-03-10 20:17:55 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-03-10 23:01:45 -0800 |
commit | 5241bfe6d1593ad775dd79a5f598f66f479968b5 (patch) | |
tree | fe1f32f4460e0297575ac1568272d665ff764d63 /http-push.c | |
parent | f2561fda364ad984ef1441a80c90b0ee04f1a7c4 (diff) | |
download | git-5241bfe6d1593ad775dd79a5f598f66f479968b5.tar.gz git-5241bfe6d1593ad775dd79a5f598f66f479968b5.tar.xz |
http-push: fix revision walk
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>
Diffstat (limited to 'http-push.c')
-rw-r--r-- | http-push.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/http-push.c b/http-push.c index 226d71966..4c1b0c303 100644 --- a/http-push.c +++ b/http-push.c @@ -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); |