Signed-off-by: Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> --- .../exttst/org/spearce/jgit/lib/SpeedTestBase.java | 12 +++++-- .../src/org/spearce/jgit/lib/Repository.java | 31 +++++++++++++------- 2 files changed, 28 insertions(+), 15 deletions(-) diff --git a/org.spearce.jgit.test/exttst/org/spearce/jgit/lib/SpeedTestBase.java b/org.spearce.jgit.test/exttst/org/spearce/jgit/lib/SpeedTestBase.java index 11f7439..36a5e0e 100644 --- a/org.spearce.jgit.test/exttst/org/spearce/jgit/lib/SpeedTestBase.java +++ b/org.spearce.jgit.test/exttst/org/spearce/jgit/lib/SpeedTestBase.java @@ -72,10 +72,14 @@ protected void prepare(String[] refcmd) throws Exception { try { BufferedReader bufferedReader = new BufferedReader(new FileReader("kernel.ref")); - kernelrepo = bufferedReader.readLine(); - bufferedReader.close(); - timeNativeGit(kernelrepo, refcmd); - nativeTime = timeNativeGit(kernelrepo, refcmd); + try { + kernelrepo = bufferedReader.readLine(); + bufferedReader.close(); + timeNativeGit(kernelrepo, refcmd); + nativeTime = timeNativeGit(kernelrepo, refcmd); + } finally { + bufferedReader.close(); + } } catch (Exception e) { System.out.println("Create a file named kernel.ref and put the path to the Linux kernels repository there"); throw e; diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java index b54afd5..da1494f 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java @@ -144,10 +144,13 @@ public Repository(final File d) throws IOException { final File altFile = FS.resolve(objectsDir, "info/alternates"); if (altFile.exists()) { BufferedReader ar = new BufferedReader(new FileReader(altFile)); - for (String alt=ar.readLine(); alt!=null; alt=ar.readLine()) { - readObjectsDirs(FS.resolve(objectsDir, alt), ret); + try { + for (String alt=ar.readLine(); alt!=null; alt=ar.readLine()) { + readObjectsDirs(FS.resolve(objectsDir, alt), ret); + } + } catch (Exception e) { + ar.close(); } - ar.close(); } return ret; } @@ -1027,15 +1030,21 @@ public boolean isStGitMode() { if (isStGitMode()) { File patchDir = new File(new File(getDirectory(),"patches"),getBranch()); BufferedReader apr = new BufferedReader(new FileReader(new File(patchDir,"applied"))); - for (String patchName=apr.readLine(); patchName!=null; patchName=apr.readLine()) { - File topFile = new File(new File(new File(patchDir,"patches"), patchName), "top"); - BufferedReader tfr = new BufferedReader(new FileReader(topFile)); - String objectId = tfr.readLine(); - ObjectId id = ObjectId.fromString(objectId); - ret.put(id, new StGitPatch(patchName, id)); - tfr.close(); + try { + for (String patchName=apr.readLine(); patchName!=null; patchName=apr.readLine()) { + File topFile = new File(new File(new File(patchDir,"patches"), patchName), "top"); + BufferedReader tfr = new BufferedReader(new FileReader(topFile)); + try { + String objectId = tfr.readLine(); + ObjectId id = ObjectId.fromString(objectId); + ret.put(id, new StGitPatch(patchName, id)); + } finally { + tfr.close(); + } + } + } finally { + apr.close(); } - apr.close(); } return ret; } -- 1.6.0.3.640.g6331a -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html