From: Jeff King Date: Thu, 16 Jun 2011 18:15:09 GMT Subject: Re: git log --follow doesn't follow a rename over a merge Message-ID: <20110616181509.GA12689@sigill.intra.peff.net> In-Reply-To: <7vy611hd38.fsf@alter.siamese.dyndns.org> On Thu, Jun 16, 2011 at 10:59:23AM -0700, Junio C Hamano wrote: > > Doesn't: > > > > git log -- plugins/org.eclipse.dd.dsf.debug/src/org/eclipse/dd/dsf/debug/service/IBreakpoints.java > > > > do that? > > If the file emerged in one branch (either the primary or a side branch) in > the past as a failed experiment and then got removed before merging back, > i.e. > > past ---o----o-----o-----o-----o-----o-----o-----o--- now > \ / > o----*----o----o----*----o > ^added ^removed > > then the merges are simplified away and you would not see it. Ah, right. The default simplification so often does what I want that I forget there are cases it can miss. > Perhaps simplify-merges option may help. This test case shows full-history helping: -- >8 -- commit() { echo $1 >$1 && git add $1 && git commit -m $1 } git init repo && cd repo && commit one && commit two && commit three && git checkout -b side HEAD^ && commit four && commit five && git rm five && git commit -m "remove five" && commit six && git checkout master && git merge side && echo "==> default log (shows nothing)" && git --no-pager log -- five echo "==> full-history" && git --no-pager log --full-history -- five