{"thread":{"id":"3276","subject":"RE: Fatal error from git bisect","startedAt":"2006-02-09T19:59:45Z","lastAt":"2006-02-09T20:16:10Z","messageCount":2,"participants":["Mark E Mason","Linus Torvalds"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"15798","messageId":"7E000E7F06B05C49BDBB769ADAF44D0773A4A8@NT-SJCA-0750.brcm.ad.broadcom.com","threadId":"3276","inReplyTo":null,"subject":"RE: Fatal error from git bisect","fromName":"Mark E Mason","fromEmail":"mark.e.mason@broadcom.com","sentAt":"2006-02-09T19:59:45Z","receivedAt":"2006-02-09T19:59:45Z","isPatch":false,"sender":{"key":"mark.e.mason@broadcom.com","avatar":null},"body":"Hello!\n \n> From: Linus Torvalds [mailto:torvalds@osdl.org] \n[snip]\n> On Thu, 9 Feb 2006, Mark E Mason wrote:\n> >  \n> > I'm trying to use 'git bisect' and am running into the \n> following error:\n> >\n> > fatal: Entry 'block/elevator.c' would be overwritten by \n> merge. Cannot merge.\n> \n> This seems to mean that you have a dirty block/elevator.c \n> file. Have you perhaps edited it?\n\nI thought of that, but even removing the workspace file doesn't get\naround this:\n\n[mason@hawaii linux.git]$ git bisect reset\n[mason@hawaii linux.git]$ git bisect start\n[mason@hawaii linux.git]$ git bisect good\nd166b5a220813a08a79312fc384d11e1c57e9072\n[mason@hawaii linux.git]$ git bisect bad\na7900c9bdb64c11688719bef9f6373fbc4c276ab\nBisecting: 116 revisions left to test after this\nfatal: Entry 'block/elevator.c' would be overwritten by merge. Cannot\nmerge.\n[mason@hawaii linux.git]$ rm block/elevator.c\n[mason@hawaii linux.git]$ git bisect bad\na7900c9bdb64c11688719bef9f6373fbc4c276ab\nBisecting: 116 revisions left to test after this\nfatal: Entry 'block/elevator.c' would be overwritten by merge. Cannot\nmerge.\n\nI've made no commits to this tree - it's just an up-to-date pull of the\nlinux-mips.org tree.  I also have no local edits at this point.\n\n[mason@hawaii linux.git]$ git diff\n[mason@hawaii linux.git]$\n\nWhat's puzzling me is that (as I understand it) git bisect simply\nmanipulates the workspace, not the repository.\n\nThanks!\nMark\n\n\n\n \n"},{"id":"15799","messageId":"Pine.LNX.4.64.0602091210230.2458@g5.osdl.org","threadId":"3276","inReplyTo":"7E000E7F06B05C49BDBB769ADAF44D0773A4A8@NT-SJCA-0750.brcm.ad.broadcom.com","subject":"RE: Fatal error from git bisect","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2006-02-09T20:16:10Z","receivedAt":"2006-02-09T20:16:10Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Thu, 9 Feb 2006, Mark E Mason wrote:\n> \n> I thought of that, but even removing the workspace file doesn't get\n> around this:\n\nThat doesn't necessarily help. Removing the workspace file potentially \njust makes the workspace even _more_ dirty, rather than less. It makes git \nthink you've edited the file that it wants to check out another verion of.\n\n(Of course, an extra file can _also_ be a sign of being dirty, so \nsometimes removing such a file _does_ generate a \"more clean\" tree).\n\nBasically, \"dirty\" means that it doesn't match the head commit. \n\n> I've made no commits to this tree - it's just an up-to-date pull of the\n> linux-mips.org tree.  I also have no local edits at this point.\n> \n> [mason@hawaii linux.git]$ git diff\n> [mason@hawaii linux.git]$\n> \n> What's puzzling me is that (as I understand it) git bisect simply\n> manipulates the workspace, not the repository.\n\nWell, it doesn't _change_ the repository, but it does move around in it, \nusing \"git-read-tree -u -m\". That can error out if the old tree and the \nnew tree differs in a particular file, and the workspace doesn't match the \nold tree in that file.\n\nNow, it could be a git bug, but before you go there, try to make sure tat \nyour tree is really clean. Do a\n\n\tgit checkout -f master\n\nfollowed by \"git status\" to make sure that the workspace is clean (no \nunexpected untracked files, no diffs against HEAD, no nothing). The \"git \ncheckout -f master\" should have cleaned everything up, but it won't \nactually touch extra files that it doesn't know about, so..\n\n\t\tLinus\n"}]}