From: Junio C Hamano Date: Sun, 14 Dec 2008 19:33:57 GMT Subject: Re: Possibly-spurious 'not uptodate. Cannot merge' Message-ID: <7vwse21rh6.fsf@gitster.siamese.dyndns.org> In-Reply-To: <874p16puuq.fsf@hades.wkstn.nix> Nix writes: > Recently (as of perhaps git 1.5.4?), whenever I update my l-k tree I get > this: > ... > I suspect the 'problem' is that I've hardlinked a bunch of build trees > to this tree in the interim via 'cp -al', then applied patches to each > of those trees with quilt, then deleted all those trees prior to the git > pull. This doesn't change the original files at all, but *does* update > their link count: is git getting annoyed by the corresponding change in > ctime? (If so, why did it start happening only fairly recently?) In git timescale 1.5.4 is not recent at all ;-) Ancient git, whose "git merge" was a scripted command, refreshed the index before starting, but it lost that when the command was rewritten in C soon after v1.5.6 by 1c7b76b (Build in merge, 2008-07-07), and nobody noticed it until 76c3fb1 (Merge branch 'mv/merge-refresh', 2008-10-09). In other words, the tip of 'master' (and upcoming 1.6.1) already has the fix. The fix should have been cherry-picked to 'maint' to be part of 1.6.0.X series, but it apparently was forgotten. Fault of mine and Shawn ;-)