summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit')
-rw-r--r--org.eclipse.jgit/src/org/eclipse/jgit/transport/DaemonService.java16
1 files changed, 4 insertions, 12 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/DaemonService.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/DaemonService.java
index e0ec7751b9..712eb22152 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/DaemonService.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/DaemonService.java
@@ -150,23 +150,15 @@ public abstract class DaemonService {
throws IOException, ServiceNotEnabledException,
ServiceNotAuthorizedException {
final String name = commandLine.substring(command.length() + 1);
- Repository db;
- try {
- db = client.getDaemon().openRepository(client, name);
+ try (Repository db = client.getDaemon().openRepository(client, name)) {
+ if (isEnabledFor(db)) {
+ execute(client, db);
+ }
} catch (ServiceMayNotContinueException e) {
// An error when opening the repo means the client is expecting a ref
// advertisement, so use that style of error.
PacketLineOut pktOut = new PacketLineOut(client.getOutputStream());
pktOut.writeString("ERR " + e.getMessage() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
- db = null;
- }
- if (db == null)
- return;
- try {
- if (isEnabledFor(db))
- execute(client, db);
- } finally {
- db.close();
}
}