{"thread":{"id":"17734","subject":"[JGIT PATCH] Make the Eclipse plugin resource locking more friendly","startedAt":"2009-02-11T23:35:07Z","lastAt":"2009-02-11T23:35:07Z","messageCount":1,"participants":["Shawn O. Pearce"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"104314","messageId":"1234395307-6754-1-git-send-email-spearce@spearce.org","threadId":"17734","inReplyTo":null,"subject":"[JGIT PATCH] Make the Eclipse plugin resource locking more friendly","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2009-02-11T23:35:07Z","receivedAt":"2009-02-11T23:35:07Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"From: Rob Clevenger <r...@google.com>\n\nUsing the default rule factory instead of the pessimistic one\nmakes it less likely that the UI will freeze in a modal dialog\nwhile Eclipse goes off and does builds.\n\nSigned-off-by: Rob Clevenger <r...@google.com>\nSigned-off-by: Shawn O. Pearce <sop@google.com>\n---\n .../src/org/spearce/egit/core/GitProvider.java     |   14 ++++++++++++++\n 1 files changed, 14 insertions(+), 0 deletions(-)\n\ndiff --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\nindex a16aca9..c7baf65 100644\n--- a/org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java\n+++ b/org.spearce.egit.core/src/org/spearce/egit/core/GitProvider.java\n@@ -8,7 +8,9 @@\n  *******************************************************************************/\n package org.spearce.egit.core;\n \n+import org.eclipse.core.resources.IResourceRuleFactory;\n import org.eclipse.core.resources.team.IMoveDeleteHook;\n+import org.eclipse.core.resources.team.ResourceRuleFactory;\n import org.eclipse.core.runtime.CoreException;\n import org.eclipse.team.core.RepositoryProvider;\n import org.eclipse.team.core.history.IFileHistoryProvider;\n@@ -25,6 +27,8 @@\n \n \tprivate GitFileHistoryProvider historyProvider;\n \n+\tprivate final IResourceRuleFactory resourceRuleFactory = new GitResourceRuleFactory();\n+\n \tpublic String getID() {\n \t\treturn getClass().getName();\n \t}\n@@ -70,4 +74,14 @@ public synchronized IFileHistoryProvider getFileHistoryProvider() {\n \t\t}\n \t\treturn historyProvider;\n \t}\n+\n+\t@Override\n+\tpublic IResourceRuleFactory getRuleFactory() {\n+\t\treturn resourceRuleFactory;\n+\t}\n+\n+\tprivate static class GitResourceRuleFactory extends ResourceRuleFactory {\n+\t\t// Use the default rule factory instead of the\n+\t\t// pessimistic one by default.\n+\t}\n }\n-- \n1.6.2.rc0.204.gf6b427\n"}]}