From: Junio C Hamano Date: Mon, 22 Apr 2013 19:09:47 GMT Subject: Re: [PATCH] t4202 (log): add failing test for log with subtree Message-ID: <7v7gjupekk.fsf@alter.siamese.dyndns.org> In-Reply-To: Ramkumar Ramachandra writes: > Junio C Hamano wrote: >> [...] >> (3) When (1) notices that the path being followed did not exist in >> any of the parents (be it a merge or a non-merge) and finds a >> different path with a similar looking content, it _switches_ >> the pathspec to it, but the single pathspec it uses is a global >> state and affects traversals of other ancestry paths at the >> same time. Because of this, "--follow" will not work correctly >> in a history that contains merges. It often _appears_ to work >> only by accident. > > This explanation is all very nice, but isn't it completely tangential > to the issue at hand? I think you are talking mostly about (2), but the primary purpose of my message was not about your specific issue. It was to give a larger picture to people who may be inclined to tackle, and may be capable of tackling, the real issues in the "--follow" codepath. Anybody who wants to update it needs to be aware of all three.