Browse Source

WorkingTreeIterator#idSubmodule: Refactor to open Repository in try-with-resource

Change-Id: I991f0096c833da721b98c1e0423a8dadc67cd64f
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
tags/v5.0.0.201805151920-m7
David Pursehouse 6 years ago
parent
commit
aa563091d5
1 changed files with 13 additions and 21 deletions
  1. 13
    21
      org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java

+ 13
- 21
org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java View File

@@ -340,30 +340,22 @@ public abstract class WorkingTreeIterator extends AbstractTreeIterator {
* @return non-null submodule id
*/
protected byte[] idSubmodule(File directory, Entry e) {
final Repository submoduleRepo;
try {
submoduleRepo = SubmoduleWalk.getSubmoduleRepository(directory,
e.getName(),
repository != null ? repository.getFS() : FS.DETECTED);
} catch (IOException exception) {
return zeroid;
}
if (submoduleRepo == null)
return zeroid;

final ObjectId head;
try {
head = submoduleRepo.resolve(Constants.HEAD);
try (Repository submoduleRepo = SubmoduleWalk.getSubmoduleRepository(
directory, e.getName(),
repository != null ? repository.getFS() : FS.DETECTED)) {
if (submoduleRepo == null) {
return zeroid;
}
ObjectId head = submoduleRepo.resolve(Constants.HEAD);
if (head == null) {
return zeroid;
}
byte[] id = new byte[Constants.OBJECT_ID_LENGTH];
head.copyRawTo(id, 0);
return id;
} catch (IOException exception) {
return zeroid;
} finally {
submoduleRepo.close();
}
if (head == null)
return zeroid;
final byte[] id = new byte[Constants.OBJECT_ID_LENGTH];
head.copyRawTo(id, 0);
return id;
}

private static final byte[] digits = { '0', '1', '2', '3', '4', '5', '6',

Loading…
Cancel
Save