[bug?] checkout -m doesn't work without a base version
From: Pete Harlan <hidden>
Date: 2016-06-15 22:52:33
From: Pete Harlan <hidden>
Date: 2016-06-15 22:52:33
Hi, If during a merge I've resolved conflicts in foo.c but want to start over with foo.c to resolve them differently, I can say "git checkout -m foo.c" to restore it to its un-resolved state. But this only works if there's a base version; if foo.c was added in each branch, we get: error: path 'foo.c' does not have all three versions Git didn't need all three versions to create the original conflicted file, so why would it need them to recreate it? (The message is the same if I explicitly tell Git I don't want diff3 via "git checkout --conflict=merge foo.c".) If this is considered a bug worth fixing I'll write a test that it fails; if it's expected behavior I think the docs should mention that. Thanks, Pete Harlan pgit@pcharlan.com