From: Shawn O. Pearce Date: Fri, 14 Sep 2007 07:31:07 +0000 (-0400) Subject: Correct builtin-fetch to handle + in refspecs X-Git-Tag: v1.5.4-rc0~292^2~61 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1aad91f5a715af92892aea7764beb829938ab111;p=git.git Correct builtin-fetch to handle + in refspecs If we are fetching to a local reference (the so called peer_ref) and the refspec that created this ref/peer_ref association had started with '+' we are supposed to allow a non-fast-forward update during fetch, even if --force was not supplied on the command line. The builtin-fetch implementation was not honoring this setting as it was copied from the wrong struct ref instance. Signed-off-by: Shawn O. Pearce Signed-off-by: Junio C Hamano --- diff --git a/builtin-fetch.c b/builtin-fetch.c index 64392f317..c8c24d28a 100644 --- a/builtin-fetch.c +++ b/builtin-fetch.c @@ -217,7 +217,7 @@ static void store_updated_refs(const char *url, struct ref *ref_map) strcpy(ref->name, rm->peer_ref->name); hashcpy(ref->old_sha1, rm->peer_ref->old_sha1); hashcpy(ref->new_sha1, rm->old_sha1); - ref->force = rm->force; + ref->force = rm->peer_ref->force; } commit = lookup_commit_reference(rm->old_sha1);