Advanced Settings: move global vcs options
authorDmitriy Smirnov <dmitriy.smirnov@jetbrains.com>
Mon, 14 Jun 2021 14:01:13 +0000 (16:01 +0200)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Mon, 14 Jun 2021 21:26:10 +0000 (21:26 +0000)
Commit Toolwindow
Toggle Commit UI
Push All Repositories

GitOrigin-RevId: 1f45b66c37ed571b99409f76a08ee60d4b7f6db0

platform/dvcs-impl/src/com/intellij/dvcs/push/PushController.java
platform/util/resources/misc/registry.properties
platform/vcs-api/vcs-api-core/resources/messages/VcsBundle.properties
platform/vcs-impl/resources/META-INF/VcsExtensions.xml
platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/ChangesViewContentManager.kt
platform/vcs-impl/src/com/intellij/vcs/commit/CommitModeManager.kt

index 296822ef8e2aa6f1b16cdb46e5398886f9dc44c2..a23d2957b9e5b0c371d6c7067b79c891ebf1b146 100644 (file)
@@ -8,13 +8,13 @@ import com.intellij.openapi.Disposable;
 import com.intellij.openapi.application.ApplicationManager;
 import com.intellij.openapi.application.ModalityState;
 import com.intellij.openapi.diagnostic.Logger;
+import com.intellij.openapi.options.advanced.AdvancedSettings;
 import com.intellij.openapi.progress.ProcessCanceledException;
 import com.intellij.openapi.progress.ProgressIndicator;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.Condition;
 import com.intellij.openapi.util.Disposer;
 import com.intellij.openapi.util.Pair;
-import com.intellij.openapi.util.registry.Registry;
 import com.intellij.openapi.util.text.HtmlChunk;
 import com.intellij.openapi.vcs.AbstractVcs;
 import com.intellij.ui.CheckedTreeNode;
@@ -140,7 +140,7 @@ public final class PushController implements Disposable {
   }
 
   private boolean isPreChecked(@NotNull MyRepoModel<?, ?, ?> model) {
-    return Registry.is("vcs.push.all.with.commits") ||
+    return AdvancedSettings.getBoolean("vcs.push.all.with.commits") ||
            model.getSupport().getRepositoryManager().isSyncEnabled() ||
            preselectByUser(model.getRepository());
   }
@@ -360,7 +360,7 @@ public final class PushController implements Disposable {
     return model.isSelected() &&
            (hasCommitsToPush(model) ||
             // set force check only for async with no registry option
-            !(model.getSupport().getRepositoryManager().isSyncEnabled() || Registry.is("vcs.push.all.with.commits")));
+            !(model.getSupport().getRepositoryManager().isSyncEnabled() || AdvancedSettings.getBoolean("vcs.push.all.with.commits")));
   }
 
   private boolean preselectByUser(@NotNull Repository repository) {
index b280ef808caeb28b1dcfdce1550a06925a45dc2a..d0a8ec5a4360baae13452a06a3c715a2e4622f58 100644 (file)
@@ -661,8 +661,6 @@ vcs.root.auto.add.description=Automatically register detected Git/Hg roots.
 vcs.root.auto.add.nofity=false
 vcs.root.auto.add.nofity.description=Display a notification that we detected and added some Git roots. 
 
-vcs.push.all.with.commits=false
-vcs.push.all.with.commits.description=Preselect all repositories with commits to be pushed by default.
 vcs.enable.partial.changelists.persist.file.contents=false
 vcs.enable.partial.changelists.persist.file.contents.description=Persist file contents on disk to restore partial changes for files modified while IDE is closed
 vcs.enable.partial.changelists.undo=true
@@ -680,12 +678,8 @@ vcs.disable.changelists=false
 vcs.disable.changelists.description=Disable tracking assigned changelists for Local Changes.
 vcs.non.modal.commit.legend.compact=false
 vcs.non.modal.commit.legend.compact.description=Use compact commit legend presentation in Local Changes
-vcs.non.modal.commit.toggle.ui=false
-vcs.non.modal.commit.toggle.ui.description=Hide commit panel and checkboxes after commit is performed. And allow toggle commit ui in Local Changes.
 vcs.local.changes.toolbar.horizontal=true
 vcs.local.changes.toolbar.horizontal.description=Use horizontal toolbars in Local Changes
-vcs.commit.tool.window=true
-vcs.commit.tool.window.description=Show Local Changes and Shelf tabs in separate Commit tool window
 vcs.background.commit.checks=true
 vcs.background.commit.checks.description=Perform commit checks in background without modal progresses
 vcs.prefer.checkboxes.over.selection=false
index 5713cf7b3b3a64cf125195c07f850712079b98ad..926543d62ab6641f4b88daea096f26fa3a526507 100644 (file)
@@ -82,10 +82,10 @@ checkbox.show.changes.after.date=&After
 exception.text.internal.errror.could.not.implement.method=Could not implement
 message.text.could.not.load.virtual.file.content=Could not load content for file {0}: {1}
 message.title.could.not.load.content=Could Not Load Content
-message.text.commit.progress=Committing
+message.text.commit.progress=Committing\u2026
 message.text.commit.failed.with.error=Commit failed with {0,choice,1#error|2#errors}
 message.text.commit.finished.with.warning=Commit finished with {0,choice,1#warning|2#warnings}
-message.text.background.tasks=Waiting for background VCS tasks to finish
+message.text.background.tasks=Waiting for background VCS tasks to finish\u2026
 diff.title.local=Local
 diff.title.local.with.number=Local ({0})
 message.title.annotate=Annotate
@@ -100,8 +100,8 @@ lookup.title.vcs.file.revisions=File Revisions
 border.selected.revision.commit.message=Commit message
 loading.file.history.progress=Loading File History
 loading.text2.file.history.progress=Loading file history
-loading.file.history.status=Loading history for {0}
-loading.file.history.up.to.revision.status=Loading history for {0} up to {1}
+loading.file.history.status=Loading history for {0}\u2026
+loading.file.history.up.to.revision.status=Loading history for {0} up to {1}\u2026
 message.title.could.not.load.file.history=Problems while loading file history
 group.name.version.control=&VCS
 message.text.cannot.open.editor=Cannot open text editor for file {0}
@@ -149,7 +149,7 @@ action.description.refresh=Refresh file history
 action.name.get.file.content.from.repository=Get
 action.description.get.file.content.from.repository=Get version from repository
 acton.name.get.revision=Get Revision
-action.name.create.patch=Create Patch
+action.name.create.patch=Create Patch\u2026
 action.description.create.patch.for.selected.revisions=Creates Patch for selected revision(s)
 message.title.get.version=Get Version
 message.text.cannot.load.revision=Cannot load revision: {0}
@@ -167,7 +167,7 @@ vcs.console.toolwindow.display.name=Console
 handle.ro.file.status.type.using.vcs=using {0}
 message.text.file.is.up.to.date=File is up-to-date
 message.text.all.files.are.up.to.date=All files are up-to-date
-progress.text.synchronizing.files=Synchronizing files
+progress.text.synchronizing.files=Synchronizing files\u2026
 progress.text.updating.done=Updating done
 progress.text.updating.canceled=Update canceled
 message.title.vcs.update.errors={0} Errors
@@ -208,7 +208,7 @@ todo.in.new.review.button=&Review
 before.checkin.standard.options.check.smells=&Analyze code
 before.checkin.options.check.smells.profile=&Analyze code with ''{0}'' profile
 before.checkin.options.check.smells.choose.profile=Choose profile
-before.checkin.waiting.for.smart.mode=Waiting for Smart mode
+before.checkin.waiting.for.smart.mode=Waiting for Smart mode\u2026
 before.checkin.new.todo.check=Check TODO ({0})
 before.checkin.cleanup.code=C&leanup
 before.checkin.cleanup.code.profile=C&leanup with ''{0}'' profile
@@ -224,7 +224,7 @@ changes.nodetitle.switched.files=Switched Files
 changes.nodetitle.switched.roots=Roots Switches
 changes.nodetitle.filter.pending=Not filtered
 changes.nodetitle.filtered.out=Filtered out
-changes.nodetitle.updating=updating
+changes.nodetitle.updating=updating\u2026
 changes.nodetitle.have.outdated.files=Some files are changed on server
 changes.nodetitle.empty.changelist.name=<empty name>
 change.nodetitle.change.is.outdated=File is changed on server
@@ -251,7 +251,7 @@ commit.dialog.default.commit.operation.name=Comm&it
 commit.dialog.include.action.name=&Include into commit
 commit.dialog.failed.commit.template=Failed commit: {0}
 commit.dialog.completed.successfully=Completed successfully
-commit.dialog.refresh.files=Synchronizing files
+commit.dialog.refresh.files=Synchronizing files\u2026
 commit.dialog.rejected.commit.template=Rejected commit: {0}
 commit.dialog.changelist.label=Changelis&t:
 commit.dialog.partial.commit.warning.title=Partial Commit Is Not Supported
@@ -259,7 +259,7 @@ commit.dialog.partial.commit.warning.body=Partial commit is not supported for ''
 commit.dialog.configurable=Commit
 change.list.manager.wait.lists.synchronization.modal={1,choice,0#Waiting |1#{0}: }Local Changes Refresh
 change.list.manager.wait.lists.synchronization.background={1,choice,0#Waiting |1#{0}: }local changes refresh
-commit.wait.util.synched.text=Performing VCS refresh
+commit.wait.util.synched.text=Performing VCS refresh\u2026
 edit.changelist.name=&Name:
 edit.changelist.description=&Comment:
 changes.commit.partial.offer.to.move.text=You have excluded some files from the active changelist when committing.\nWould you like remaining changes to be moved to another changelist?
@@ -322,7 +322,7 @@ perform.checkout.from.vcs.in.background=Perform checkout from VCS in background
 changes.action.rollback.text=Rollback
 patch.apply.file.name.field=&Patch file name:
 create.patch.commit.action.title=Create Patch
-create.patch.commit.action.progress=Creating Patch
+create.patch.commit.action.progress=Creating Patch\u2026
 create.patch.error.title=Error creating patch: {0}
 create.patch.settings.dialog.title=Patch File Settings
 button.apply.patch=Apply Patch
@@ -344,8 +344,8 @@ patch.apply.aborted.title=Apply patch aborted
 patch.apply.aborted.message=All files changed during 'Apply Patch' action were rolled back
 patch.apply.rollback.failed.title=Rollback failed
 patch.apply.rollback.failed.message=Try using 'Local History' dialog to perform revert manually.
-patch.apply.rollback.progress.title=Rollback applied changes
-patch.apply.rollback.progress=Rollback applied changes
+patch.apply.rollback.progress.title=Rollback applied changes\u2026
+patch.apply.rollback.progress=Rollback applied changes\u2026
 patch.apply.outside.content.root.message=File to patch found outside content root: {0}
 patch.apply.overwrite.existing.title=Overwrite Existing Files
 patch.apply.overwrite.existing.files.prompt=The following files should be created by patch, but they already exist.\nDo you want to overwrite them?
@@ -360,7 +360,7 @@ patch.apply.partly.failed.title=Patch Applying Partly Failed
 patch.apply.rollback.action=Rollback
 patch.apply.new.files.warning=Apply new files error
 patch.apply.cannot.apply.now=Cannot Apply Patch Now
-patch.apply.abort.action=Abort
+patch.apply.abort.action=Abort\u2026
 patch.apply.abort.and.rollback.prompt=Abort and Rollback applying patch or Skip this file?
 patch.apply.abort.title=Abort Patch
 patch.apply.abort.and.rollback.action=_Abort and Rollback
@@ -372,7 +372,7 @@ patch.apply.can.not.apply.additional.info.error=Can''t apply additional patch in
 patch.apply.missing.base.file.label=missing base
 patch.apply.change.directory.paths.group=Change Directory Paths
 patch.apply.cannot.read.patch=Can''t read patch {0}: {1}
-patch.apply.map.base.directory.action=Map Base Directory
+patch.apply.map.base.directory.action=Map Base Directory\u2026
 patch.apply.select.base.for.a.path.message=Select base for a path
 path.apply.select.base.directory.for.a.path.popup=Select base directory for a path
 patch.apply.new.base.detected.node.description=New base detected
@@ -428,7 +428,7 @@ patch.import.additional.info.error=Can not import additional patch info: {0}
 action.import.to.shelf=Import to Shelf
 shelve.changes.action=_Shelve Changes
 shelve.changes.progress.title=Shelving Changes
-shelve.changes.progress.text=Shelving changes
+shelve.changes.progress.text=Shelving changes\u2026
 shelve.deletion.title=Shelf Deletion
 shelve.file.is.locked.for.editing.message=The file is locked for editing while being shelved
 shelve.remove.successfully.applied.files.checkbox=Remove successfully applied files from the shelf
@@ -452,7 +452,7 @@ shelve.undo.deletion=Undo Shelf Deletion
 shelve.recently.deleted.node=Recently Deleted
 shelve.changelist.not.found=Shelved changeList {0} not found
 shelve.default.path.rendering=<project root>
-shelve.copying.shelves.to.progress=Copying Shelves to the New Directory
+shelve.copying.shelves.to.progress=Copying Shelves to the New Directory\u2026
 shelve.moving.failed.prompt=Shelves moving failed. <br/>Would you like to use new shelf directory path or revert it to previous?
 shelve.error.title=Shelf Error
 shelve.use.new.directory.button=&Use New
@@ -468,7 +468,7 @@ patch.apply.already.applied=All of the changes in the specified patch are alread
 patch.apply.partially.applied=Some of the changes in the specified patch were skipped because they are already contained in the code
 patch.apply.success.applied.text=Patch successfully applied
 patch.apply.command=Apply Patch
-patch.apply.progress.title=Applying patches
+patch.apply.progress.title=Applying patches\u2026
 shelve.changes.restore.error=Can''t fully restore {0, choice, 1#shelved changelist|2#{0}shelved changelists} as some files were deleted permanently
 create.patch.success.confirmation=Successfully created patch {0}
 shelve.changes.only.directories=The selected changes affect only directories and no files, so they cannot be shelved
@@ -499,7 +499,7 @@ ignored.file.manage.all.project=In All Projects
 ignored.file.manage.notmanage=Do not Add
 ignored.file.manage.view.dialog.title=Add Files to Ignore
 ignored.file.manage.view.dialog.ignore.action=&Ignore
-ignoring.files.progress.title=Ignoring Files
+ignoring.files.progress.title=Ignoring Files\u2026
 browse.changes.content.title=Changes under {0}
 browse.changes.no.filter.prompt=You have not specified any filtering criteria. Are you sure you would like to view the entire history of the project?
 browse.changes.title=Browse Changes
@@ -524,10 +524,10 @@ retrieving.annotations=Loading Annotations
 multiple.file.merge.title=Conflicts
 multiple.file.merge.accept.yours=Accept &Yours
 multiple.file.merge.accept.theirs=Accept &Theirs
-multiple.file.merge.merge=&Merge
+multiple.file.merge.merge=&Merge\u2026
 multiple.file.merge.column.name=Name
 multiple.file.merge.request.title=Merge Revisions for {0}
-multiple.file.merge.loading.progress.title=Loading merge revisions
+multiple.file.merge.loading.progress.title=Loading merge revisions\u2026
 multiple.file.merge.group.by.directory.checkbox=Group files by directory
 unknown.vcs.presentation=<Unknown VCS> ({0})
 show.diff.progress.title=Loading Content
@@ -556,7 +556,7 @@ create.patch.encoding=&Encoding:
 committed.changes.refresh.progress=Refreshing VCS history
 cache.settings.dialog.title=VCS History Cache Settings
 background.operations.title=Background Operations
-changes.browser.details.marker=more
+changes.browser.details.marker=more\u2026
 changelist.details.title=Changelist Details
 date.group.title=Date
 date.group.today=Today
@@ -586,7 +586,7 @@ committed.changes.empty.comment=<no comment>
 committed.changes.filter.all=All
 committed.changes.filter.none=<none>
 committed.changes.partial.list=[partial]
-update.info.loading.changelists=Loading changelists
+update.info.loading.changelists=Loading changelists\u2026
 update.info.group.by.changelist=Group by Changelist
 update.info.click.status.text.prefix=Click
 update.info.to.initialize.status.text.suffix=to initialize the repository changes cache
@@ -625,7 +625,7 @@ create.changelist.on.failed.commit=Create changelist on failed commit:
 commit.failed.confirm.prompt=Would you like to move the files that failed to commit to a separate changelist?
 commit.failed.confirm.title=Commit Failed
 unshelve.changes.dialog.title=Unshelve Changes
-unshelve.changes.progress.title=Unshelving Changes
+unshelve.changes.progress.title=Unshelving Changes\u2026
 shelved.version.name=Shelved Version
 patched.version.name=Patched Version
 local.version.title=Local Version
@@ -643,11 +643,11 @@ vcs.shelf.action.restore.text=Restore
 vcs.shelf.action.restore.description=Restore recently deleted {0, choice, 1#changelist|2#changelists}
 vcs.shelf.move.text=Move shelves to the new location
 vcs.shelf.store.base.content=Shelve base revisions of files under distributed version control systems
-vcs.shelving.changes=Shelving changes
-vcs.unshelving.changes=Unshelving changes
+vcs.shelving.changes=Shelving changes\u2026
+vcs.unshelving.changes=Unshelving changes\u2026
 vcs.unshelving.conflict.left=Your uncommitted changes
 vcs.unshelving.conflict.right=Changes from remote
-action.enable.version.control.integration.text=_Enable Version Control Integration
+action.enable.version.control.integration.text=_Enable Version Control Integration\u2026
 dialog.enable.version.control.integration.title=Enable Version Control Integration
 dialog.enable.version.control.integration.select.vcs.label.text=Select a version control system to associate with the project root:
 dialog.enable.version.control.integration.hint.text=Version control settings can be configured in 
@@ -819,11 +819,11 @@ action.DumbAware.ApplyPatchDifferentiatedDialog.text.refresh=Refresh
 action.DumbAware.ApplyPatchDifferentiatedDialog.description.refresh=Refresh
 action.NotificationAction.VcsRootProblemNotifier.text.enable.integration=Enable Integration
 action.NotificationAction.VcsRootProblemNotifier.text.ignore=Ignore
-action.NotificationAction.VcsRootProblemNotifier.text.configure=Configure
+action.NotificationAction.VcsRootProblemNotifier.text.configure=Configure\u2026
 action.NotificationAction.AllVcses.text.install=Install
 action.NotificationAction.AllVcses.text.read.more=Read More
 action.NotificationAction.AllVcses.text.open.plugin.page=Open Plugin Page
-action.NotificationAction.InactiveRangesDamagedNotification.text.view.changes=View Changes
+action.NotificationAction.InactiveRangesDamagedNotification.text.view.changes=View Changes\u2026
 action.AnActionButton.text.add.jira.pattern=Add JIRA Pattern
 action.AnActionButton.text.add.youtrack.pattern=Add YouTrack Pattern
 action.ToggleAction.text.show.unversioned.files=Show Unversioned Files
@@ -832,18 +832,18 @@ action.ToggleAction.text.show.details=Show Details
 action.ToggleAction.description.show.details=Display details panel
 action.ToggleAction.text.scope.filter=Scope Filter
 action.DumbAwareAction.text.compare.with.local.content=Compare with local content
-action.NotificationAction.VFSListener.text.view.files=View Files
+action.NotificationAction.VFSListener.text.view.files=View Files\u2026
 
-action.ImportIntoShelfAction.text=Import Patches
+action.ImportIntoShelfAction.text=Import Patches\u2026
 action.ImportIntoShelfAction.description=Copies a patch file to the shelf
 action.presentation.ApplySelectedChangesAction.text=Accept
 action.presentation.IgnoreSelectedChangesAction.text=Ignore
 action.presentation.DiffShelvedChangesWithLocalActionProvider.description=Compare shelved version with current
 action.presentation.ShowUpdatedDiffActionProvider.description=Show diff with version before update
 button.clear=Clear
-import.patches.into.shelf=Import Patches into Shelf
+import.patches.into.shelf=Import Patches into Shelf\u2026
 import.patches=Import Patches
-looking.for.patch.files=Looking for Patch Files
+looking.for.patch.files=Looking for Patch Files\u2026
 
 title.load.revision.contents=Load Revision Contents
 message.read.only.status.title={0}: can not see read-only status
@@ -871,7 +871,7 @@ error.cant.perform.operation.now=Can not {0} Now
 local.changes.freeze.message=Local changes are not available until {0} is finished
 
 file.history.checking.last.revision.process=Checking last revision
-file.history.diff.revisions.process=Comparing revisions
+file.history.diff.revisions.process=Comparing revisions\u2026
 file.history.exceeded.limit.message=File History: only {0} revisions were loaded for {1}\nTo change the history limit, go to {2}
 file.history.details.empty.status=Commit message
 file.history.details.hash.author.on.date.at.time={0} {1} on {2} at {3}
@@ -880,11 +880,11 @@ file.history.details.committer.tooltip.info=via {0}
 file.history.diff.handler.paths.diff.title=Difference between {0} and {1} in {2}
 file.history.diff.handler.paths.diff.with.local.title=Difference between {0} and local version in {1}
 file.history.diff.handler.affected.changes.title=Initial commit {0} in {1}
-file.history.diff.handler.collecting.affected.process=Collecting affected changes
-file.history.diff.handler.comparing.process=Comparing revisions
+file.history.diff.handler.collecting.affected.process=Collecting affected changes\u2026
+file.history.diff.handler.comparing.process=Comparing revisions\u2026
 file.history.diff.handler.process.error=Error during task: {0}
 
-selection.history.loading.revision.status=Loading revision {0}
+selection.history.loading.revision.status=Loading revision {0}\u2026
 selection.history.commit.message.label=Commit Message:
 selection.history.local.revision.text=Local Changes
 selection.history.can.not.load.message=Can not load revision contents
@@ -896,7 +896,7 @@ vcs.commit.files.committed={0,choice,1#{0} file|2#{0} files} committed
 vcs.commit.files.committed.and.files.failed.to.commit={0,choice,1#{0} file|2#{0} files} committed, {1,choice,1#{1} file|2#{1} files} failed to commit
 vcs.commit.canceled=Commit canceled
 
-checking.vcs.status.progress=Checking VCS status
+checking.vcs.status.progress=Checking VCS status\u2026
 
 notification.showDetailsInConsole = Show details in console
 
@@ -935,7 +935,7 @@ dialog.message.can.t.create.text.editor.for=Can''t create text editor for {0}
 link.label.display.anyway=Display anyway
 link.label.hide=Hide
 action.ShowAffectedFilesAction.show.affected.files.text=Show Affected Files
-progress.title.loading.current.revision=Loading Current Revision
+progress.title.loading.current.revision=Loading Current Revision\u2026
 dialog.title.remove.empty.changelist=Remove Empty Changelist
 button.remove=Remove
 checkbox.remember.my.choice=&Remember my choice
@@ -944,10 +944,10 @@ notification.title.couldn.t.save.uncommitted.changes=Couldn't save uncommitted c
 dialog.title.ignored.files=Ignored Files
 dialog.title.unversioned.files=Unversioned Files
 button.skip=Skip
-progress.text.performing={0}: performing {1}
+progress.text.performing={0}: performing {1}\u2026
 action.message.use.selected.changes.description={0} selected changes
-progress.text.performing.rollback={0}: performing rollback
-progress.title.adding.files.to.vcs=Adding Files to VCS
+progress.text.performing.rollback={0}: performing rollback\u2026
+progress.title.adding.files.to.vcs=Adding Files to VCS\u2026
 notification.content.didn.t.update.repository.changes=Didn''t update Repository changes with new message due to error: {0}
 progress.title.discovering.location=Discovering location of {0}
 dialog.title.resolve.changelist.conflict=Resolve Changelist Conflict
@@ -970,16 +970,16 @@ action.filter.non.important.files.text=Hide files with non-important changes
 
 group.mainmenu.vcs.current.file.text=Current File
 
-multiple.file.merge.dialog.progress.title.resolving.conflicts=Resolving Conflicts
+multiple.file.merge.dialog.progress.title.resolving.conflicts=Resolving Conflicts\u2026
 multiple.file.merge.dialog.message.error.saving.merged.data=Error saving merged data: {0}
 multiple.file.merge.dialog.command.name.accept.yours=Accept Yours
 multiple.file.merge.dialog.command.name.accept.theirs=Accept Theirs
-multiple.file.merge.dialog.progress.title.loading.revisions=Loading Revisions
+multiple.file.merge.dialog.progress.title.loading.revisions=Loading Revisions\u2026
 multiple.file.merge.dialog.error.loading.revisions.to.merge=Error loading revisions to merge: {0}
 multiple.file.merge.dialog.message.file.too.big.to.be.loaded=The file is too big to be loaded
 multiple.file.merge.dialog.title.can.t.show.merge.dialog=Cannot Show Merge Dialog
 
-text.commit.message.truncated.by.ide.name={0}\n\n... The commit message is too long and was truncated by {1} 
+text.commit.message.truncated.by.ide.name={0}\n\n... The commit message is too long and was truncated by {1} \u2026
 label.project.vcs.root.mapping=<Project>
 label.relative.project.path.presentation=<Project>/{0}
 file.content.too.big.to.load.increase.property.suggestion=Cannot show the contents of ''{0}''.\nThe file is bigger than {1}.\n\nYou can override this restriction by increasing the {2} property in the ''idea.properties'' file.
@@ -1013,15 +1013,15 @@ changes.error.failed.to.fetch.current.revision=Failed to fetch current revision
 changes.finishing.changed.on.server.update=Finishing "changed on server" update
 changes.tried.to.save.uncommitted.changes.in.shelve.before.s.but.failed.with.an.error=Tried shelving uncommitted changes before {0}, but failed with an error.<br/>{1}
 changes.refresh.changelists.after.update=Refresh changelists after update
-changes.deleting.added.files.locally=Deleting added files locally
-changes.progress.text.vcs.name.performing.operation.name={0}: performing {1}
+changes.deleting.added.files.locally=Deleting added files locally\u2026
+changes.progress.text.vcs.name.performing.operation.name={0}: performing {1}\u2026
 changes.project.exclude.paths=Project exclude paths
 changes.error.default.project.not.supported=Default project not supported
-changes.removing.configuration.0.from.ignore=Removing configuration {0} from ignore
-changes.checking.configuration.0.for.ignore=Checking configuration {0} for ignore
+changes.removing.configuration.0.from.ignore=Removing configuration {0} from ignore\u2026
+changes.checking.configuration.0.for.ignore=Checking configuration {0} for ignore\u2026
 changes.cant.load.changes=Can't load changes
 changes.switched.to.branch.name=switched to {0}
-changes.do.cleanup=do cleanup
+changes.do.cleanup=do cleanup\u2026
 changes.locked.by=locked by {0}
 changes.browse=browse
 changes.diff.separator=Diff
@@ -1047,7 +1047,7 @@ changes.button.newer=Newer >
 changes.button.older=< Older
 changes.directory.does.not.belong.to.the.active.changelist={0, choice, 1#This directory does|2#These directories do} not belong to the active changelist:
 changes.file.does.not.belong.to.the.active.changelist={0, choice, 1#This file does|2#These files do} not belong to the active changelist:
-changes.configure=\\&Configure
+changes.configure=\\&Configure\u2026
 changes.hide.this.notification=Hide this notification
 changes.set.active.changelist.to.change.list.name=Set active changelist to ''{0}''
 changes.move.changes.to.active.change.list.name=Move changes to active changelist ({0})
@@ -1073,13 +1073,13 @@ changes.no.tracking.branch.suffix=\ (no tracking branch)
 changes.ignore.file=ignore file
 
 impl.notification.content.vcs.plugin.not.found.for.mapping.to=VCS plugin not found for mapping to : ''{0}''
-impl.progress.title.installing.plugin=Installing Plugin
+impl.progress.title.installing.plugin=Installing Plugin\u2026
 impl.notification.title.failed.to.install.plugin=Failed to Install Plugin
 impl.notification.content.could.not.find.plugin=Couldn''t find the plugin {0}
 impl.notification.content.plugin.was.unbundled.needs.to.be.installed.manually=The {0} plugin was unbundled and needs to be installed manually
 impl.vcs.initialization=VCS Initialization
 impl.show.all.affected.files.for.path.at.revision.failed=Show all affected files for {0} at {1} failed
-merge.loading.merge.details=Loading merge details
+merge.loading.merge.details=Loading merge details\u2026
 
 commit.message=Commit message
 commit.message.intention.family.name.reformat.commit.message=Reformat commit message
@@ -1123,7 +1123,7 @@ configurable.shelf.storage.destination.shelf.directory.should.have.write.access=
 configurable.shelf.storage.destination.shelf.directory.should.have.read.access=Destination shelf directory must have the read access
 configurable.shelf.storage.cant.find.or.create.new.shelf.directory=Cannot find or create a new shelf directory
 configurable.vcs.manage.scopes=Manage Scopes
-ex.new.changelist=New Changelist
+ex.new.changelist=New Changelist\u2026
 ex.move.lines.to.another.changelist.0=Move lines to another changelist ({0})
 ex.changelists=Changelists
 checkin.cancel=Ca&ncel
@@ -1136,7 +1136,7 @@ checkin.can.not.load.previous.revision=Can not load previous revision
 checkin.invalid.file.s=Invalid file (s)
 checkin.dialog.title.not.possible.right.now=Check TODO is not possible right now
 checkin.dialog.message.cant.be.performed=Check TODO can''t be performed while {0} updates the indexes in background.\nYou can commit the changes without running checks, or you can wait until indexes are built.
-checkin.dialog.title.looking.for.new.edited.todo.items=Looking for New and Edited TODO Items
+checkin.dialog.title.looking.for.new.edited.todo.items=Looking for New and Edited TODO Items\u2026
 checkin.dialog.title.todo=TODO
 checkin.filter.filter.name=Filter: {0}
 checkin.title.for.commit.0=For commit ({0})
@@ -1165,9 +1165,15 @@ todo.tab.title.all.changes=Local Changes
 todo.tab.title.changelist.suffix=Changelist
 get.from.vcs.extension.list.accessible.name=Repository Location
 vcs.dnd.image.text.n.files={0} {0, choice, 1#file|2#files}
-checking.recent.changes=Checking recent changes
+checking.recent.changes=Checking recent changes\u2026
 show.diff.in.editor.tab.got.it.tooltip=To show diff in an editor tab again, use this menu.
 intention.name.rollback.changes.in.current.line=Rollback changes in current line
 advanced.settings.vcs=Version Control
 advanced.setting.vcs.annotations.preload=Load file annotations from VCS when file is opened in editor
 advanced.setting.vcs.annotations.preload.description=This allows to show them faster on demand.
+advanced.setting.vcs.commit.tool.window=Enable Commit toolwindow
+advanced.setting.vcs.commit.tool.window.description=Show Local Changes and Shelf tabs in the separate Commit tool window
+advanced.setting.vcs.non.modal.commit.toggle.ui=Toggle commit controls
+advanced.setting.vcs.non.modal.commit.toggle.ui.description=Hide commit panel and checkboxes after commit is performed, and allow toggling commit UI in Local Changes.
+advanced.setting.vcs.push.all.with.commits=Select all repositories with new commits for push
+advanced.setting.vcs.push.all.with.commits.description=Preselect all repositories with commits to be pushed by default.
index 26660f6a3e6ce85e78732adc0e55a92eb733c152..81dd5a771dab49d3ba849b28d9691fdfcc6ba51f 100644 (file)
     <registryKey key="patch.context.line.count" defaultValue="3" description="Number of context lines for creating patches"/>
 
     <advancedSetting id="vcs.annotations.preload" default="false" bundle="messages.VcsBundle" groupKey="advanced.settings.vcs"/>
+    <advancedSetting id="vcs.commit.tool.window" default="true" bundle="messages.VcsBundle" groupKey="advanced.settings.vcs"/>
+    <advancedSetting id="vcs.non.modal.commit.toggle.ui" default="false" bundle="messages.VcsBundle" groupKey="advanced.settings.vcs"/>
+    <advancedSetting id="vcs.push.all.with.commits" default="false" bundle="messages.VcsBundle" groupKey="advanced.settings.vcs"/>
   </extensions>
 
   <extensions defaultExtensionNs="org.jetbrains">
index 970da35a3f654d4c712ca2700c5690f5ecf0e744..95dd8ed6fdef3f0a8ce9f09cd1ddf6cb4a2c80fd 100644 (file)
@@ -2,14 +2,14 @@
 package com.intellij.openapi.vcs.changes.ui
 
 import com.intellij.openapi.Disposable
+import com.intellij.openapi.application.ApplicationManager
 import com.intellij.openapi.components.service
 import com.intellij.openapi.diagnostic.logger
+import com.intellij.openapi.options.advanced.AdvancedSettings
+import com.intellij.openapi.options.advanced.AdvancedSettingsChangeListener
 import com.intellij.openapi.project.Project
 import com.intellij.openapi.util.Disposer
 import com.intellij.openapi.util.Key
-import com.intellij.openapi.util.registry.Registry
-import com.intellij.openapi.util.registry.RegistryValue
-import com.intellij.openapi.util.registry.RegistryValueListener
 import com.intellij.openapi.wm.ToolWindow
 import com.intellij.openapi.wm.ToolWindowId
 import com.intellij.openapi.wm.ToolWindowManager
@@ -24,8 +24,10 @@ import org.jetbrains.annotations.NonNls
 import java.util.function.Predicate
 import kotlin.properties.Delegates.observable
 
-private val isCommitToolWindowRegistryValue
-  get() = Registry.get("vcs.commit.tool.window")
+private val COMMIT_TOOL_WINDOW = "vcs.commit.tool.window"
+
+private val isCommitToolWindowEnabled
+  get() = AdvancedSettings.getBoolean(COMMIT_TOOL_WINDOW)
 
 internal val Project.isCommitToolWindowShown: Boolean
   get() = ChangesViewContentManager.isCommitToolWindowShown(this)
@@ -64,9 +66,13 @@ class ChangesViewContentManager(private val project: Project) : ChangesViewConte
     }
 
   init {
-    isCommitToolWindowRegistryValue.addListener(object : RegistryValueListener {
-      override fun afterValueChanged(value: RegistryValue) = updateToolWindowMapping()
-    }, this)
+    ApplicationManager.getApplication().messageBus.connect().subscribe(AdvancedSettingsChangeListener.TOPIC, object : AdvancedSettingsChangeListener {
+      override fun advancedSettingChanged(id: String, oldValue: Any, newValue: Any) {
+        if (id == COMMIT_TOOL_WINDOW) {
+         updateToolWindowMapping()
+        }
+      }
+    })
     project.messageBus.connect().subscribe(CommitModeManager.COMMIT_MODE_TOPIC, object : CommitModeManager.CommitModeListener {
       override fun commitModeChanged() = updateToolWindowMapping()
     })
@@ -77,7 +83,7 @@ class ChangesViewContentManager(private val project: Project) : ChangesViewConte
   }
 
   private fun shouldUseCommitToolWindow() = CommitModeManager.getInstance(project).getCurrentCommitMode().useCommitToolWindow() &&
-                                            isCommitToolWindowRegistryValue.asBoolean()
+                                            isCommitToolWindowEnabled
 
   private fun remapContents() {
     val remapped = findContents { it.resolveContentManager() != it.manager }
index f236a106c03a0fc5059473dcbff56abd4af3acdd..7a46b0271eb5192907859b4015379474115f5716 100644 (file)
@@ -8,15 +8,15 @@ import com.intellij.openapi.actionSystem.AnActionEvent
 import com.intellij.openapi.application.ApplicationManager.getApplication
 import com.intellij.openapi.application.ConfigImportHelper.isNewUser
 import com.intellij.openapi.application.runInEdt
-import com.intellij.openapi.components.Service
 import com.intellij.openapi.components.service
+import com.intellij.openapi.options.advanced.AdvancedSettings
+import com.intellij.openapi.options.advanced.AdvancedSettingsChangeListener
 import com.intellij.openapi.project.Project
 import com.intellij.openapi.util.registry.Registry
 import com.intellij.openapi.util.registry.RegistryValue
 import com.intellij.openapi.util.registry.RegistryValueListener
 import com.intellij.openapi.vcs.*
 import com.intellij.openapi.vcs.ProjectLevelVcsManager.VCS_CONFIGURATION_CHANGED
-import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManagerListener
 import com.intellij.openapi.vcs.impl.VcsEP
 import com.intellij.openapi.vcs.impl.VcsInitObject
 import com.intellij.openapi.vcs.impl.VcsStartupActivity
@@ -25,7 +25,9 @@ import com.intellij.util.messages.Topic
 import com.intellij.vcs.commit.NonModalCommitUsagesCollector.logStateChanged
 import java.util.*
 
-private val isToggleCommitUi get() = Registry.get("vcs.non.modal.commit.toggle.ui")
+private val TOGGLE_COMMIT_UI = "vcs.non.modal.commit.toggle.ui"
+
+private val isToggleCommitUi get() = AdvancedSettings.getBoolean(TOGGLE_COMMIT_UI)
 private val isForceNonModalCommit get() = Registry.get("vcs.force.non.modal.commit")
 private val appSettings get() = VcsApplicationSettings.getInstance()
 
@@ -86,8 +88,7 @@ class CommitModeManager(private val project: Project) {
     }
 
     if (isNonModalInSettings() && canSetNonModal()) {
-      val isToggleMode = isToggleCommitUi.asBoolean()
-      return CommitMode.NonModalCommitMode(isToggleMode)
+      return CommitMode.NonModalCommitMode(isToggleCommitUi)
     }
 
     return CommitMode.ModalCommitMode
@@ -109,9 +110,13 @@ class CommitModeManager(private val project: Project) {
     isForceNonModalCommit.addListener(object : RegistryValueListener {
       override fun afterValueChanged(value: RegistryValue) = updateCommitMode()
     }, project)
-    isToggleCommitUi.addListener(object : RegistryValueListener {
-      override fun afterValueChanged(value: RegistryValue) = updateCommitMode()
-    }, project)
+    getApplication().messageBus.connect().subscribe(AdvancedSettingsChangeListener.TOPIC, object : AdvancedSettingsChangeListener {
+      override fun advancedSettingChanged(id: String, oldValue: Any, newValue: Any) {
+        if (id == TOGGLE_COMMIT_UI) {
+          updateCommitMode()
+        }
+      }
+    })
     SETTINGS.subscribe(project, object : SettingsListener {
       override fun settingsChanged() = updateCommitMode()
     })