瀏覽代碼

Cleanup catch Exception when making Java7FSFactory

Catching Exception and rethrowing as Error when the Java7 factory was
not available threw an unexpected error to the caller, but then
confused things by still setting the factory to the default Java
5 version.  A second call to FS.detect(Boolean) would succeed.

Do not throw to the caller. Instead always default to the Java5
factory if the Java7 one is not loading.

Change-Id: I6e9edb257b404d213ff08c44560fdb1672a5c80b
tags/v3.4.0.201405051725-m7
Shawn Pearce 10 年之前
父節點
當前提交
62b538d891
共有 1 個檔案被更改,包括 4 行新增4 行删除
  1. 4
    4
      org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java

+ 4
- 4
org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java 查看文件

@@ -138,14 +138,14 @@ public abstract class FS {
factory = (FSFactory) activatorClass.newInstance();
} catch (ClassNotFoundException e) {
// Java7 module not found
factory = new FS.FSFactory();
// Silently ignore failure to find Java7 FS factory
factory = new FS.FSFactory();
} catch (UnsupportedClassVersionError e) {
// Java7 module not accessible
factory = new FS.FSFactory();
} catch (Exception e) {
} catch (InstantiationException e) {
factory = new FS.FSFactory();
} catch (IllegalAccessException e) {
factory = new FS.FSFactory();
throw new Error(e);
}
}
return factory.detect(cygwinUsed);

Loading…
取消
儲存