# [JGIT PATCH] Make the Eclipse plugin resource locking more friendly

1 messages from 2009-02-11 to 2009-02-11. Participants: Shawn O. Pearce.
Thread: https://gitlist.dev/t/17734

## Shawn O. Pearce, 2009-02-11 23:35

Subject: [JGIT PATCH] Make the Eclipse plugin resource locking more friendly
Message-ID: <1234395307-6754-1-git-send-email-spearce@spearce.org>
URL: https://gitlist.dev/e/1234395307-6754-1-git-send-email-spearce%40spearce.org

```
From: Rob Clevenger <r...@google.com>

Using the default rule factory instead of the pessimistic one
makes it less likely that the UI will freeze in a modal dialog
while Eclipse goes off and does builds.

Signed-off-by: Rob Clevenger <r...@google.com>
Signed-off-by: Shawn O. Pearce <sop@google.com>
---
 .../src/org/spearce/egit/core/GitProvider.java     |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java b/org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java
index a16aca9..c7baf65 100644
--- a/org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java
+++ b/org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java
@@ -8,7 +8,9 @@
  *******************************************************************************/
 package org.spearce.egit.core;
 
+import org.eclipse.core.resources.IResourceRuleFactory;
 import org.eclipse.core.resources.team.IMoveDeleteHook;
+import org.eclipse.core.resources.team.ResourceRuleFactory;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.team.core.RepositoryProvider;
 import org.eclipse.team.core.history.IFileHistoryProvider;
@@ -25,6 +27,8 @@
 
 	private GitFileHistoryProvider historyProvider;
 
+	private final IResourceRuleFactory resourceRuleFactory = new GitResourceRuleFactory();
+
 	public String getID() {
 		return getClass().getName();
 	}
@@ -70,4 +74,14 @@ public synchronized IFileHistoryProvider getFileHistoryProvider() {
 		}
 		return historyProvider;
 	}
+
+	@Override
+	public IResourceRuleFactory getRuleFactory() {
+		return resourceRuleFactory;
+	}
+
+	private static class GitResourceRuleFactory extends ResourceRuleFactory {
+		// Use the default rule factory instead of the
+		// pessimistic one by default.
+	}
 }
-- 
1.6.2.rc0.204.gf6b427

```
