]> source.dussan.org Git - jgit.git/commit
Fixed checkouts when HEAD is ignored 88/1888/3
authorChristian Halstrick <christian.halstrick@sap.com>
Fri, 12 Nov 2010 22:31:55 +0000 (23:31 +0100)
committerChris Aniszczyk <caniszczyk@gmail.com>
Sat, 13 Nov 2010 17:42:13 +0000 (11:42 -0600)
commitda1ea27fa20fb78e016ada05d176e5cfae3794ed
tree33a46660bb7637982ba149eb54b1599c9d1e47c0
parent7bce473c926102c822195aac563b00bd6e1cc15d
Fixed checkouts when HEAD is ignored

In the case where DirCacheCheckout was used to checkout a tree
without taking HEAD into account (e.g. during a clone or hard reset)
we didn't handle conflicts correctly. E.g. if there are conflicts
(entries with stage != 0) in the index and we tried to hard reset
we have been processing the conflicting pathes multiple times (once
for every stage). With this fix we will update the index with the
entry from the "merge" state (the state we want checkout) when we
detect existing conflicts.

Change-Id: Iffbddccaa588cf0d1460a5e44dabaf540d996e26
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/DirCacheCheckoutTest.java
org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCacheCheckout.java