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 <spearce@spearce.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/builtin-fetch.c b/builtin-fetch.c
index 64392f3..c8c24d2 100644
--- a/builtin-fetch.c
+++ b/builtin-fetch.c
@@ -217,7 +217,7 @@
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);