Skip to content

0.10.0 Rewrite Magic

Compare
Choose a tag to compare
@groboclown groboclown released this 30 Nov 03:17
· 95 commits to master since this release

Version 0.10.0 of the Perforce Community-Edition plugin is out of beta! It's been
a long time coming. It includes a fundamental rewrite of many low-level systems
to provide better integration with newer IDE features. Because of these changes,
versions of the IDE before 17.1 are no longer supported.

Once you install the new version, you will need to reconfigure the connection
settings to your server. This is now done through the VCS roots panel. Please
see the instructions for a detailed description. Additionally, the status bar
connection indicator was replaced with a VCS panel called "Active Connections"
which allows for easy exploration of connected servers and pending actions when
offline.

You can download it from the IntelliJ plugin interface, or from github.

  • No longer compatible with versions before 2017.1.
  • Updated code to work with 2017.1 features.
    • Removed dependency upon the external lib project. Pulling the project now gets everything.
    • Included major release libraries from IDEA, built from source.
    • These are broken up into small libraries to reduce their size, so we don't need to include the normal gigabyte sized jar.
  • Complete rewrite of connection and caching mechanism.
    • In order to support the 2017.1 per-VCS Root configuration, the plugin now maintains the connection information in the VCS root level.
    • Relative configuration files are no longer supported.
    • Offline support is better handled through an integrated caching mechanism.
    • Connection and caching are now designed for proper multi-threaded operation, so there should be a significant performance boost.
    • Passwords are no longer kept in memory by the plugin, but instead use the IDE's password storage mechanism. Before, only passwords that the user entered through the dialog were stored by the IDE.
    • File annotations should be faster now.
    • Works when running in one of the AltRoot for a client workspace.
  • Active Connection view.
    • Rather than using a small status-bar widget, connections are now viewed through a Version Control view tab called "Active Connections".
    • Gives a better view of online status for each server.
    • Permits viewing what changes are cached, ready to be sent to the server.
  • New Browsing Features.
    • You can browse for jobs when submitting a file.
    • You can browse for labels when synchronizing a directory.
  • New Project from Version Control support.
    • The plugin now supports File -> New -> Project from Version Control
    • The new project will need to be configured after the synchronize; the settings used to synchronize the project directory, unfortunately, cannot be put into the new project settings.
  • Repository changelist history view
    • The Version Control Repository panel now shows changelist history.
    • Individual file history shows revision number as the primary column, but also shows the changelist number.
  • Upgraded p4java dependency to r18-1
    • Requires additional dependent jars.
    • Allows for more thorough plugin unit tests.
  • Shipped as single Jar file.
    • Due to unknown issues with IDEA loading a zip file, the plugin is now distributed as a single jar file with all dependencies unpacked inside it.
  • Updated build.
    • Builds now use Gradle.
    • Project split into smaller pieces, to hopefully make the project easier to comprehend.
    • The swarm-java-simplified module renamed to swarm

Some functionality that was present in the previous version are not enabled yet.
The near-term goal of 0.10 is to stabalize the plugin and re-add this functionality.

  • User preferences panel does not reflect the underlying user preferences.
  • File annotation context menu diff option does not show anything.
  • Swarm reviews can be created, but the dialog is not fully functional, and
    errors are not handled well.
  • Perforce symlinks are not supported like they were. That code still needs to
    be transitioned to the new code.