From 5f5abb6b2b972122b0b7e7c96bf1775972f6eec7 Mon Sep 17 00:00:00 2001 From: irengrig Date: Fri, 22 Jan 2010 09:15:14 +0300 Subject: [PATCH] SVN: load branches on start inside one short; will produce ordered authorization requests --- .../idea/svn/SvnBranchConfigurationManager.java | 36 +++++++++++++--------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBranchConfigurationManager.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBranchConfigurationManager.java index a1ede315e7..bfdf5dc732 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBranchConfigurationManager.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBranchConfigurationManager.java @@ -142,22 +142,26 @@ public class SvnBranchConfigurationManager implements PersistentStateComponent oldUrls = (prev == null) ? Collections.emptySet() : new HashSet(prev.getBranchUrls()); final Application application = ApplicationManager.getApplication(); application.executeOnPooledThread(new Runnable() { public void run() { - final SvnVcs vcs = SvnVcs.getInstance(myProject); - if (! vcs.isVcsBackgroundOperationsAllowed(myRoot)) return; - - for (String newBranchUrl : next.getBranchUrls()) { - if (myAll || (! oldUrls.contains(newBranchUrl))) { - new NewRootBunch.BranchesLoadRunnable(myProject, myBunch, newBranchUrl, InfoReliability.defaultValues, myRoot, null).run(); - } - } + loadImpl(prev, next); } }); } + protected void loadImpl(final SvnBranchConfigurationNew prev, final SvnBranchConfigurationNew next) { + final Set oldUrls = (prev == null) ? Collections.emptySet() : new HashSet(prev.getBranchUrls()); + final SvnVcs vcs = SvnVcs.getInstance(myProject); + if (! vcs.isVcsBackgroundOperationsAllowed(myRoot)) return; + + for (String newBranchUrl : next.getBranchUrls()) { + if (myAll || (! oldUrls.contains(newBranchUrl))) { + new NewRootBunch.BranchesLoadRunnable(myProject, myBunch, newBranchUrl, InfoReliability.defaultValues, myRoot, null).run(); + } + } + } + public void setAll(boolean all) { myAll = all; } @@ -200,11 +204,15 @@ public class SvnBranchConfigurationManager implements PersistentStateComponent pair : whatToInit) { - final BranchesPreloader branchesPreloader = new BranchesPreloader(myProject, myBunch, pair.getFirst()); - branchesPreloader.setAll(true); - branchesPreloader.consume(null, pair.getSecond()); - } + ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { + public void run() { + for (Pair pair : whatToInit) { + final BranchesPreloader branchesPreloader = new BranchesPreloader(myProject, myBunch, pair.getFirst()); + branchesPreloader.setAll(true); + branchesPreloader.loadImpl(null, pair.getSecond()); + } + } + }); } }); object.myConfigurationMap.clear(); -- 2.11.4.GIT