Code

log: Do not decorate replacements with --no-replace-objects
authorMichael J Gruber <git@drmicha.warpmail.net>
Thu, 25 Aug 2011 15:09:30 +0000 (17:09 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 26 Aug 2011 02:47:24 +0000 (19:47 -0700)
5267d29 (log: decorate "replaced" on to replaced commits, 2011-08-19)
introduced textual decorations for replaced commits, based on the
detection of refs/replace.

Make it so that additionally the use of --no-replace-objects is
detected: I.e. replaced commits are only decorated as replaced when they
are actually replaced.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
log-tree.c

index 74fc20da4dcc4492379904bbc55edb3ac6244d94..c40fa50c6f8f65f119bc178646f31dace865191a 100644 (file)
@@ -97,6 +97,8 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in
 
        if (!prefixcmp(refname, "refs/replace/")) {
                unsigned char original_sha1[20];
+               if (!read_replace_refs)
+                       return 0;
                if (get_sha1_hex(refname + 13, original_sha1)) {
                        warning("invalid replace ref %s", refname);
                        return 0;