"W. Trevor King" <wking@tremily.us> writes: > On Tue, Aug 05, 2014 at 10:24:10PM -0300, David Bremner wrote: >> I have a local commit that deletes a couple tags; when I attempt to >> merge I get complaints about local changes to files. >> >> error: Your local changes to the following files would be overwritten by merge: >> tags/1406859003-11561-2-git-send-email-amdragon@mit.edu/needs-review >> tags/1406859003-11561-3-git-send-email-amdragon@mit.edu/needs-review >> Please, commit your changes or stash them before you can merge. >> … >> Calling the perl version of nmbug successfully creates a little >> diamond merge > > The Perl version has: > > git ( { GIT_WORK_TREE => $tempwork }, 'checkout', '-f', 'HEAD'); > git ( { GIT_WORK_TREE => $tempwork }, 'merge', $commit); > > But the Python version only has: > > _git( > args=['merge', reference], > additional_env={'GIT_WORK_TREE': workdir}, > wait=True) > > I suppose we need the checkout to populate the working directory, but > I'm not sure we want to force the checkout. Do we expect to have > unmerged entries in the index? I can't remember now why the checkout was forced, so as long as you can test it, I guess try the unforced version first. I guess the merge will fail if there are unmerged entries in the index, but maybe we can find out why that happens and prevent it. d