![]() Only on Windows the rename operation which renames temporary Packfiles (and index-files and bitmap-files) sometime fails. This happens only when renaming a temporary Packfile to a Packfile which already exists. Such situations occur if you run GC twice on a repo without modifying the repo inbetween. In such situations there was bug in GC which led to a corrupted repo whithout any packfiles anymore. This commit fixes the problem by introducing a utility method which renames a file and throws an IOException if it fails. This method also takes care to repeat a failing rename if our FS class has found out we are running on a platform with a unreliable File.renameTo() method. I am searching for a better solution because even with this utility method in hand a GC on a already GC'ed repo will fail on Windows. But at least with this fix we will not produce corrupted repos anymore. Bug: 389305 Change-Id: Iac1ab3e0b8c419c90404f2e2f3559672eb8f6d28 Signed-off-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> |
||
---|---|---|
.. | ||
.settings | ||
META-INF | ||
exttst/org/eclipse/jgit/patch | ||
tst/org/eclipse/jgit | ||
tst-rsrc | ||
.classpath | ||
.gitignore | ||
.project | ||
build.properties | ||
org.eclipse.jgit.core--All-External-Tests (Java 6).launch | ||
org.eclipse.jgit.core--All-External-Tests.launch | ||
org.eclipse.jgit.core--All-Tests (Java 6).launch | ||
org.eclipse.jgit.core--All-Tests.launch | ||
plugin.properties | ||
pom.xml |