From: Nguyen Thai Ngoc Duy Date: Thu, 25 Aug 2011 13:55:56 GMT Subject: Re: [PATCH] log: Do not decorate replacements with --no-replace-objects Message-ID: In-Reply-To: 2011/8/25 Michael J Gruber : > 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. Yeah.. I forgot about this. > @@ -95,7 +95,7 @@ static int add_ref_decoration(const char *refname, const unsigned char *sha1, in >        struct object *obj; >        enum decoration_type type = DECORATION_NONE; > > -       if (!prefixcmp(refname, "refs/replace/")) { > +       if (read_replace_refs && !prefixcmp(refname, "refs/replace/")) { >                unsigned char original_sha1[20]; >                if (get_sha1_hex(refname + 13, original_sha1)) { >                        warning("invalid replace ref %s", refname); You should put "if (!read_replace_refs) return 0;" inside "if (!prefixcmp..", otherwise it'll come to the ref decoration code below and my second paragraph in 5267d29's commit message will be reverted. I thought my patch was - simple - replace is rarely used therefore neglected the tests. Perhaps you can also add a few tests here. It's not that simple after all. -- Duy