diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties index f9da72589390..a81cc3129c8f 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnBundle.properties @@ -458,6 +458,8 @@ compare.with.branch.list.error=Error Loading Branches create.branch.invalid.revision.error=Invalid revision ''{0}'' create.branch.no.working.copy.error=No working copy found at {0} create.branch.no.base.location.error=No branch base location selected +create.branch.switch.on.create.title=Switch after create +action.name.switch=Switch import.dialog.title=Import into Subversion import.dialog.button=Import repository.browser.add.location.action=Add Repository Location diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/CreateBranchOrTagAction.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/CreateBranchOrTagAction.java index d263f1e325b6..43b0a479d089 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/CreateBranchOrTagAction.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/CreateBranchOrTagAction.java @@ -30,6 +30,7 @@ import com.intellij.openapi.vcs.VcsException; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.wm.StatusBar; import com.intellij.openapi.wm.WindowManager; +import com.intellij.vcsUtil.VcsUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.idea.svn.SvnBundle; import org.jetbrains.idea.svn.SvnStatusUtil; @@ -37,6 +38,8 @@ import org.jetbrains.idea.svn.SvnVcs; import org.jetbrains.idea.svn.checkin.IdeaCommitHandler; import org.jetbrains.idea.svn.commandLine.CommitEventHandler; import org.jetbrains.idea.svn.dialogs.CreateBranchOrTagDialog; +import org.jetbrains.idea.svn.update.AutoSvnUpdater; +import org.jetbrains.idea.svn.update.SingleRootSwitcher; import org.tmatesoft.svn.core.SVNErrorCode; import org.tmatesoft.svn.core.SVNException; import org.tmatesoft.svn.core.SVNURL; @@ -125,6 +128,13 @@ public class CreateBranchOrTagAction extends BasicAction { if (!exception.isNull()) { throw new VcsException(exception.get()); } + + if (dialog.isCopyFromWorkingCopy() && dialog.isSwitchOnCreate()) { + SingleRootSwitcher switcher = + new SingleRootSwitcher(project, VcsUtil.getFilePath(srcFile, srcFile.isDirectory()), dstSvnUrl.toDecodedString()); + + AutoSvnUpdater.run(switcher, SvnBundle.message("action.name.switch")); + } } } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CreateBranchOrTagDialog.form b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CreateBranchOrTagDialog.form index 1b8924b12e77..6dfcae6c9f6f 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CreateBranchOrTagDialog.form +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CreateBranchOrTagDialog.form @@ -2,7 +2,7 @@