Login | Register
My pages Projects Community openCollabNet

Discussions > commits > subclipse svn commit: r5385 - trunk/subclipse/org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources

subclipse
Discussion topic

There will be a brief maintenance window every Friday at 17:00 Pacific.
For further details, see CollabNet's maintenance and upgrade policy.

Back to topic list

subclipse svn commit: r5385 - trunk/subclipse/org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources

Author selsemore
Full name Stephen Elsemore
Date 2012-04-20 11:19:37 PDT
Message Author: selsemore
Date: 2012-04-20 11:19:37-0700
New Revision: 5385

Modified:
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResourceSta​tus.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/RemoteResourceSt​atus.java
   trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/ResourceStatus.j​ava

Log:
Fix potential loop when refreshing status cache.
Optimize calculation of url for non-managed resources.
Issue #: 1402


Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/resources/Loca​lResource.java?view=​diff&pathrev=538​5&r1=5384&r2​=5385
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResource.ja​va 2012-04-20 11:19:37-0700
@@ -299,11 +299,15 @@
                 return status.getUrl();
             } else {
                 // otherwise, get the url of the parent
+ SVNUrl parentUrl = null;
                 ISVNLocalResource parent = getParent();
- if (parent == null || parent.getUrl() == null) {
+ if (parent != null) {
+ parentUrl = parent.getUrl();
+ }
+ if (parentUrl == null) {
                     return null; // we cannot find the url
                 }
- return parent.getUrl().appe​ndPath(resource.getN​ame());
+ return parentUrl.appendPath​(resource.getName())​;
             }
         } catch (SVNException e) {
             return null;

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResourceSta​tus.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/resources/Loca​lResourceStatus.java​?view=diff&pathr​ev=5385&r1=5384​&r2=5385
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResourceSta​tus.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/LocalResourceSta​tus.java 2012-04-20 11:19:37-0700
@@ -73,7 +73,7 @@
      * for an svn:externals folder
      */
     public LocalResourceStatus(ISVNStatus status, String url) {
- super(status, url);
+ super(status, url, false);
         
         /** a temporary variable serving as immediate cache for various status values */
         Object aValue = null;

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/RemoteResourceSt​atus.java
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/resources/Remo​teResourceStatus.jav​a?view=diff&path​rev=5385&r1=5384​&r2=5385
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/RemoteResourceSt​atus.java (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/RemoteResourceSt​atus.java 2012-04-20 11:19:37-0700
@@ -65,7 +65,7 @@
      * @param revision
      */
     public RemoteResourceStatus(ISVNStatus realStatus, SVNRevision.Number revision) {
- super(realStatus, null);
+ super(realStatus, null, true);
         
         this.textStatus = realStatus.getReposi​toryTextStatus().toI​nt();
         this.propStatus = realStatus.getReposi​toryPropStatus().toI​nt();

Modified: trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/ResourceStatus.j​ava
Url: http://subclipse.tig​ris.org/source/brows​e/subclipse/trunk/su​bclipse/org.tigris.s​ubversion.subclipse.​core/src/org/tigris/​subversion/subclipse​/core/resources/Reso​urceStatus.java?view​=diff&pathrev=53​85&r1=5384&r​2=5385
====================​====================​====================​==================
--- trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/ResourceStatus.j​ava (original)
+++ trunk/subclipse/org.​tigris.subversion.su​bclipse.core/src/org​/tigris/subversion/s​ubclipse/core/resour​ces/ResourceStatus.j​ava 2012-04-20 11:19:37-0700
@@ -83,7 +83,7 @@
      * @param url - Only needed when status.getUrl is Null, such as
      * for an svn:externals folder
      */
- public ResourceStatus(ISVNStatus status, String url) {
+ public ResourceStatus(ISVNStatus status, String url, boolean useUrlHack) {
         super();
         /** a temporary variable serving as immediate cache for various status values */
         Object aValue = null;
@@ -97,8 +97,11 @@
         } else {
             this.url = (String) aValue;
         }
-
- if (this.url == null) {
+
+ // This is a hack to get the URL for incoming additions if when URL is null due to a JavaHL bug.
+ // See Issue #1312 for details. This should only be done for RemoteResourceStatus (useUrlHack == true),
+ // not LocalResourceStatus.
+ if (this.url == null && useUrlHack) {
             File file = status.getFile();
             if (file != null) {
                 List<String> segments = new ArrayList<String>();

« Previous message in topic | 1 of 1 | Next message in topic »

Messages

Show all messages in topic

subclipse svn commit: r5385 - trunk/subclipse/org.tigris.subversion.subclipse.core/src/org/tigris/subversion/subclipse/core/resources selsemore Stephen Elsemore 2012-04-20 11:19:37 PDT
Messages per page: