Skip to content

Commit

Permalink
Showing 14 changed files with 535 additions and 231 deletions.
9 changes: 9 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -16,6 +16,15 @@
* Fix a possible NPE while synchronizing a directory.
* Temporary fix for #124 in P4ChangeProvider - force the flushing of the
local cache on changelist refresh.
* Removed deprecated references.
* Minor fix to changelist view details - if the server is offline and
you're using multiple clients, then the offline status is correctly formatted.
* Reduced the number of possible critical errors while changing connection
information during a background operation.
* Increased the performance of the determination of whether the "Edit" option
should be visible under the P4 menu. This also changes its behavior so that
it is always visible, even if the selected files are not under a Perforce
client.


## ::v0.7.15::
29 changes: 28 additions & 1 deletion idea-compat/idea-compat.iml
Original file line number Diff line number Diff line change
@@ -5,7 +5,34 @@
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="IntelliJ IDEA Community Edition IC-144.4199.23" jdkType="IDEA JDK" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/util.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/openapi.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/annotations.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>
37 changes: 20 additions & 17 deletions plugin/META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,30 @@
<idea-plugin version="2">
<name>Perforce IDEA Community Integration</name>
<id>PerforceIC</id>
<version>0.7.15</version>
<version>0.7.16</version>
<idea-version since-build="IC-135.1286"/>
<category>VCS Integration</category>
<change-notes><![CDATA[
<ol>
<li><em>0.7.16</em>
<ol>
<li>Help prevent a FileNotFoundException during writing to a temp file.</li>
<li>Report a real error message when the user tries submitting a
changelist that's not on the server.</li>
<li>Fix a possible NPE while synchronizing a directory.</li>
<li>Temporary fix for #124 in P4ChangeProvider - force the flushing of the
local cache on changelist refresh.</li>
<li>Removed deprecated references.</li>
<lil>Minor fix to changelist view details - if the server is offline and
you're using multiple clients, then the offline status is correctly formatted.</li>
<li>Reduced the number of possible critical errors while changing connection
information during a background operation.</li>
<li>Increased the performance of the determination of whether the "Edit" option
should be visible under the P4 menu. This also changes its behavior so that
it is always visible, even if the selected files are not under a Perforce
client.</li>
</ol>
</li>
<li><em>0.7.15</em>
<ol>
<li>Updated P4Java API to r15-2.</li>
@@ -23,22 +42,6 @@
asks for the user's password.</li>
</ol>
</li>
<li><em>0.7.14</em>
<ol>
<li>Fixed a possible deadlock with server connection checking.</li>
<li>Fixed an issue where copied files were not opened for add.</li>
<li>Fixed a rare concurrent modification exception.</li>
<li>Fixed one place where disposed projects are attempted to be used.</li>
<li>Fixed an issue where the plugin would not allow loading
the list of clients unless you had a client set.</li>
<li>Fixed an issue where the changelist name and description can be concatenated
together. Now, changelists will be updated to use the comment, and only use
the name if no comment is given. This better matches the behavior of
submit.</li>
<li>Fixed a configuration panel issue for the multi-p4config file setup
did not show the config settings for a selected path.</li>
</ol>
</li>
</ol>
]]></change-notes>
<description><![CDATA[
2 changes: 1 addition & 1 deletion plugin/build.xml
Original file line number Diff line number Diff line change
@@ -241,13 +241,13 @@
<target name="unit-tests" unless="skip.tests">
<property name="base.test-data.dir" location="${basedir}/work/test-data"/>
<mkdir dir="${base.test-data.dir}"/>
<echo>${jdk.bin}/java</echo>
<junit printsummary="yes" fork="yes" forkmode="once" failureProperty="tests.failure"
errorProperty="tests.error" dir="${base.test-data.dir}">
<classpath>
<path location="${testoutput.dir}"/>
<path refid="test.runtime.classpath"/>
</classpath>
<bootclasspath refid="bootclasspath.6"/>

<!-- Add the plain output to allow for step-by-step reporting of tests -->
<formatter type="plain" usefile="no"/>
137 changes: 136 additions & 1 deletion plugin/plugin.iml
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
</content>
<orderEntry type="jdk" jdkName="IntelliJ IDEA Community Edition IC-144.4199.23" jdkType="IDEA JDK" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="idea-compat" exported="" />
<orderEntry type="module-library" scope="TEST">
@@ -25,5 +25,140 @@
</orderEntry>
<orderEntry type="module" module-name="p4java" exported="" />
<orderEntry type="module" module-name="idea160" scope="RUNTIME" />
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/openapi.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/util.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/annotations.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../lib/junit/4.12/junit-4.12.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" scope="TEST">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../lib/junit/4.12/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/jdom.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/idea.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/extensions.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/asm-all.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/guava-17.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/idea_rt.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/javac2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/jgoodies-forms.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../intellij-lib/intellij/AI-135.1653844/log4j.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../lib/picocontainer/1.2/picocontainer.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>
27 changes: 23 additions & 4 deletions plugin/src/net/groboclown/idea/p4ic/extension/P4Vcs.java
Original file line number Diff line number Diff line change
@@ -77,25 +77,25 @@ public class P4Vcs extends AbstractVcs<P4CommittedChangeList> {
FileStatusFactory.getInstance().createFileStatus(
"ADDED_OFFLINE",
P4Bundle.message("filestatus.added_offline"),
FileStatus.COLOR_ADDED
FileStatus.ADDED.getColor()
);
public static final FileStatus MODIFIED_OFFLINE =
FileStatusFactory.getInstance().createFileStatus(
"MODIFIED_OFFLINE",
P4Bundle.message("filestatus.edited_offline"),
FileStatus.COLOR_MODIFIED
FileStatus.MODIFIED.getColor()
);
public static final FileStatus DELETED_OFFLINE =
FileStatusFactory.getInstance().createFileStatus(
"DELETED_OFFLINE",
P4Bundle.message("filestatus.deleted_offline"),
FileStatus.COLOR_MISSING
FileStatus.DELETED_FROM_FS.getColor()
);
public static final FileStatus REVERTED_OFFLINE =
FileStatusFactory.getInstance().createFileStatus(
"REVERTED_OFFLINE",
P4Bundle.message("filestatus.reverted_offline"),
FileStatus.COLOR_NOT_CHANGED_IMMEDIATE
FileStatus.NOT_CHANGED_IMMEDIATE.getColor()
);


@@ -659,11 +659,30 @@ public Map<P4Server, List<VirtualFile>> mapVirtualFilesToP4Server(Collection<Vir
}


/**
* Quick look at the servers, so that it doesn't hang up the UI.
*
* @param files files
* @return the matched mapping of files to the servers. There might be a "null" server entry, which
* contains a list of file paths that didn't map to a client.
*/
@NotNull
public Map<P4Server, List<VirtualFile>> mapVirtualFilesToOnlineP4Server(Collection<VirtualFile> files)
throws InterruptedException {
return serverManager.mapVirtualFilesToOnlineP4Server(files);
}


public List<P4Server> getP4Servers() {
return serverManager.getServers();
}


public List<P4Server> getOnlineP4Servers() {
return serverManager.getOnlineServers();
}


@Nullable
public P4Server getP4ServerFor(@NotNull FilePath fp) throws InterruptedException {
return serverManager.getForFilePath(fp);
Loading

0 comments on commit c9df6f3

Please sign in to comment.