From: Eric Sunshine Date: Tue, 17 Nov 2015 23:01:25 GMT Subject: Re: [PATCH v2] blame: avoid checking if a file exists on the working tree if a revision is provided Message-ID: In-Reply-To: <20151117224809.GE27862@sigill.intra.peff.net> On Tue, Nov 17, 2015 at 5:48 PM, Jeff King wrote: > On Tue, Nov 17, 2015 at 12:11:25AM -0500, Eric Sunshine wrote: >> > blame content even if the path provided does match an existing >> > blob on said revision. >> >> git-blame documentation does not advertise "blame " as a >> valid invocation. It does advertise "blame -- ", and this >> case already works correctly even when does not exist in the >> worktree. > > Hmm. Out of curiosity I tried: > > git blame v2.4.0 -- t/t6031-merge-recursive.sh > > and it segfaults. This bisects to Max's recent 1b0d400 (blame: extract > find_single_final, 2015-10-30), but I do not see anything obviously > wrong with it from a quick glance. In the original code, sb->final received was assigned value of obj, which may have gone through deref_tag(), however, after 1b0d400, sb->final is unconditionally assigned the original value of obj, not the (potentially) deref'd value.