diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java index 22430e685..cb82389f6 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReadTreeTest.java @@ -657,6 +657,20 @@ public void testCheckoutUncachedChanges() throws IOException { assertTrue(new File(trash, "foo").isFile()); } + public void testDontOverwriteDirtyFile() throws IOException { + setupCase(mk("foo"), mk("other"), mk("foo")); + writeTrashFile("foo", "different"); + try { + checkout(); + fail("Didn't got the expected conflict"); + } catch (CheckoutConflictException e) { + assertIndex(mk("foo")); + assertWorkDir(mkmap("foo", "different")); + assertTrue(getConflicts().equals(Arrays.asList("foo"))); + assertTrue(new File(trash, "foo").isFile()); + } + } + /** * The interface these tests need from a class implementing a checkout */