From 0bdf73db7f0b5cc4650a50b3fd657bc7cf35fab6 Mon Sep 17 00:00:00 2001 From: Christian Halstrick Date: Mon, 30 Aug 2010 09:07:59 +0200 Subject: [PATCH] Add one more test to ReadTreeTest Add an explicit test case to check that we don't overwrite dirty files in case Head & Index are equal. Change-Id: I6266d0a449e55369d2d0a048694dca5565c5fcf3 Signed-off-by: Christian Halstrick --- .../tst/org/eclipse/jgit/lib/ReadTreeTest.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 */