Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Michel-Lemieux2002-04-03 18:06:53 +0000
committerJean Michel-Lemieux2002-04-03 18:06:53 +0000
commit2abf8ece02755cae1a618762e59ca9884fda54fc (patch)
treec48ce88c135a05c16a9eca59cbd13137f72bdde7
parent1d65609dbf5cbdf7866586faafe45c80ea82524a (diff)
downloadeclipse.platform.team-2abf8ece02755cae1a618762e59ca9884fda54fc.tar.gz
eclipse.platform.team-2abf8ece02755cae1a618762e59ca9884fda54fc.tar.xz
eclipse.platform.team-2abf8ece02755cae1a618762e59ca9884fda54fc.zip
Keywords are now uniformally manipulated using the keyword option instead of a String.
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java50
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java2
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java4
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java2
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java2
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java5
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java7
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java4
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java10
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java50
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSDecorationRunnable.java2
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSFilePropertiesPage.java5
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java2
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/KSubstWizard.java2
-rw-r--r--tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java11
15 files changed, 73 insertions, 85 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
index 150811ba9..8c642b579 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
@@ -192,8 +192,7 @@ public class CVSTeamProvider extends RepositoryProvider {
final SortedSet folders = new TreeSet();
// Sets are required for the files to ensure that files will not appear twice if there parent was added as well
// and the depth isn't zero
- final Set textfiles = new HashSet(resources.length);
- final Set binaryfiles = new HashSet(resources.length);
+ final Map /* from KSubstOption to Set */ files = new HashMap();
final TeamException[] eHolder = new TeamException[1];
for (int i=0; i<resources.length; i++) {
@@ -220,13 +219,16 @@ public class CVSTeamProvider extends RepositoryProvider {
if (! mResource.isManaged() && (currentResource.equals(resource) || ! mResource.isIgnored())) {
String name = resource.getProjectRelativePath().toString();
if (resource.getType() == IResource.FILE) {
- if (Team.getType((IFile)resource) == Team.TEXT) {
- textfiles.add(name);
- } else {
- binaryfiles.add(name);
+ KSubstOption ksubst = KSubstOption.fromFile((IFile) resource);
+ Set set = (Set) files.get(ksubst);
+ if (set == null) {
+ set = new HashSet();
+ files.put(ksubst, set);
}
- } else
+ set.add(name);
+ } else {
folders.add(name);
+ }
}
// Always return true and let the depth determine if children are visited
return true;
@@ -245,9 +247,9 @@ public class CVSTeamProvider extends RepositoryProvider {
// Add the folders, followed by files!
IStatus status;
Session s = new Session(workspaceRoot.getRemoteLocation(), workspaceRoot.getLocalRoot());
- progress.beginTask(null, 100);
+ progress.beginTask(null, 10 + files.size() * 10 + (folders.isEmpty() ? 0 : 10));
try {
- // Opening the session takes 10% of the time
+ // Opening the session takes 10 units of time
s.open(Policy.subMonitorFor(progress, 10));
if (!folders.isEmpty()) {
status = Command.ADD.execute(s,
@@ -255,29 +257,21 @@ public class CVSTeamProvider extends RepositoryProvider {
Command.NO_LOCAL_OPTIONS,
(String[])folders.toArray(new String[folders.size()]),
null,
- Policy.subMonitorFor(progress, 30));
- if (status.getCode() == CVSStatus.SERVER_ERROR) {
- throw new CVSServerException(status);
- }
- }
- if (!textfiles.isEmpty()) {
- status = Command.ADD.execute(s,
- Command.NO_GLOBAL_OPTIONS,
- Command.NO_LOCAL_OPTIONS,
- (String[])textfiles.toArray(new String[textfiles.size()]),
- null,
- Policy.subMonitorFor(progress, 30));
+ Policy.subMonitorFor(progress, 10));
if (status.getCode() == CVSStatus.SERVER_ERROR) {
throw new CVSServerException(status);
}
}
- if (!binaryfiles.isEmpty()) {
+ for (Iterator it = files.entrySet().iterator(); it.hasNext();) {
+ Map.Entry entry = (Map.Entry) it.next();
+ KSubstOption ksubst = (KSubstOption) entry.getKey();
+ Set set = (Set) entry.getValue();
status = Command.ADD.execute(s,
Command.NO_GLOBAL_OPTIONS,
- new LocalOption[] { Command.KSUBST_BINARY },
- (String[])binaryfiles.toArray(new String[binaryfiles.size()]),
+ new LocalOption[] { ksubst },
+ (String[])set.toArray(new String[set.size()]),
null,
- Policy.subMonitorFor(progress, 30));
+ Policy.subMonitorFor(progress, 10));
if (status.getCode() == CVSStatus.SERVER_ERROR) {
throw new CVSServerException(status);
}
@@ -964,13 +958,13 @@ public class CVSTeamProvider extends RepositoryProvider {
// only set keyword substitution if new differs from actual
ResourceSyncInfo info = mFile.getSyncInfo();
- KSubstOption fromKSubst = KSubstOption.fromMode(info.getKeywordMode());
+ KSubstOption fromKSubst = info.getKeywordMode();
if (toKSubst.equals(fromKSubst)) continue;
// change resource sync info immediately for an outgoing addition
if (info.isAdded()) {
MutableResourceSyncInfo newInfo = info.cloneMutable();
- newInfo.setKeywordMode(toKSubst.toMode());
+ newInfo.setKeywordMode(toKSubst);
mFile.setSyncInfo(newInfo);
continue;
}
@@ -1040,7 +1034,7 @@ public class CVSTeamProvider extends RepositoryProvider {
result[0] = Command.ADMIN.execute(s, Command.NO_GLOBAL_OPTIONS,
new LocalOption[] { toKSubst },
(String[]) list.toArray(new String[list.size()]),
- new AdminKSubstListener(toKSubst.toMode()),
+ new AdminKSubstListener(toKSubst),
Policy.subMonitorFor(monitor, list.size()));
// if errors were encountered, abort
if (! result[0].isOK()) return;
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
index b622e2683..763f53135 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
@@ -156,7 +156,7 @@ abstract class AbstractStructureVisitor implements ICVSResourceVisitor {
// If the file exists, send the appropriate indication to the server
if (mFile.exists()) {
if (mFile.isModified()) {
- boolean binary = info != null && KSubstOption.fromMode(info.getKeywordMode()).isBinary();
+ boolean binary = info != null && info.getKeywordMode().isBinary();
if (sendModifiedContents) {
session.sendModified(mFile, binary, monitor);
} else {
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java
index 771cc1c99..158c27c68 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/DiffStructureVisitor.java
@@ -45,11 +45,11 @@ class DiffStructureVisitor extends FileStructureVisitor {
ksubst = Command.KSUBST_BINARY;
}
MutableResourceSyncInfo newInfo = new MutableResourceSyncInfo(mFile.getName(), ResourceSyncInfo.ADDED_REVISION);
- newInfo.setKeywordMode(ksubst.toMode());
+ newInfo.setKeywordMode(ksubst);
info = newInfo;
} else {
// existing file
- ksubst = KSubstOption.fromMode(info.getKeywordMode());
+ ksubst = info.getKeywordMode();
}
session.sendEntry(info.getServerEntryLine(null));
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java
index bac21484e..2d2c94a94 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/TagFileSender.java
@@ -42,7 +42,7 @@ class TagFileSender extends FileStructureVisitor {
}
if (!info.isAdded()) {
session.sendEntry(info.getServerEntryLine(mFile.getTimeStamp()));
- boolean binary = info != null && KSubstOption.fromMode(info.getKeywordMode()).isBinary();
+ boolean binary = info != null && info.getKeywordMode().isBinary();
session.sendIsModified(mFile, binary, monitor);
}
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java
index 63e6ac7e5..ee10d2855 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/UpdatedHandler.java
@@ -86,7 +86,7 @@ class UpdatedHandler extends ResponseHandler {
Assert.isTrue(mParent.exists());
ICVSFile mFile = mParent.getFile(fileName);
- boolean binary = KSubstOption.fromMode(info.getKeywordMode()).isBinary();
+ boolean binary = info.getKeywordMode().isBinary();
boolean readOnly = info.getPermissions().indexOf(READ_ONLY_FLAG) == -1;
// The file may have been set as read-only by a previous checkout/update
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java
index c8bb20319..b6c00c7ed 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/listeners/AdminKSubstListener.java
@@ -14,6 +14,7 @@ import org.eclipse.team.ccvs.core.ICVSFile;
import org.eclipse.team.ccvs.core.ICVSFolder;
import org.eclipse.team.internal.ccvs.core.CVSException;
import org.eclipse.team.internal.ccvs.core.Policy;
+import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
import org.eclipse.team.internal.ccvs.core.syncinfo.MutableResourceSyncInfo;
import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
@@ -29,9 +30,9 @@ import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
* done
*/
public class AdminKSubstListener implements ICommandOutputListener {
- private String ksubstMode;
+ private KSubstOption ksubstMode;
- public AdminKSubstListener(String ksubstMode) {
+ public AdminKSubstListener(KSubstOption ksubstMode) {
this.ksubstMode = ksubstMode;
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java
index 54cd2595c..f3ccd0b52 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSEntryLineTag.java
@@ -54,5 +54,12 @@ public class CVSEntryLineTag extends CVSTag {
if (!(obj instanceof CVSEntryLineTag)) return false;
return (type == ((CVSEntryLineTag)obj).type) && name.equals(((CVSEntryLineTag)obj).name);
}
+
+ /*
+ * For debugging purposes.
+ */
+ public String toString() {
+ return toEntryLineFormat(false);
+ }
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
index 45b473bab..7fb37fde4 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFile.java
@@ -34,13 +34,13 @@ import org.eclipse.team.internal.ccvs.core.Policy;
import org.eclipse.team.internal.ccvs.core.client.Command;
import org.eclipse.team.internal.ccvs.core.client.Session;
import org.eclipse.team.internal.ccvs.core.client.Update;
+import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
import org.eclipse.team.internal.ccvs.core.client.Command.QuietOption;
import org.eclipse.team.internal.ccvs.core.client.listeners.LogListener;
import org.eclipse.team.internal.ccvs.core.connection.CVSServerException;
import org.eclipse.team.internal.ccvs.core.syncinfo.MutableResourceSyncInfo;
import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
-import org.eclipse.team.internal.ccvs.core.util.Assert;
/**
* This class provides the implementation of ICVSRemoteFile and IManagedFile for
@@ -124,7 +124,7 @@ public class RemoteFile extends RemoteResource implements ICVSRemoteFile, ICVSFi
this(parent, workspaceSyncState, null);
MutableResourceSyncInfo newInfo = new MutableResourceSyncInfo(name, revision);
newInfo.setTimeStamp(ResourceSyncInfo.DUMMY_DATE);
- newInfo.setKeywordMode(ResourceSyncInfo.USE_SERVER_MODE);
+ newInfo.setKeywordMode(Command.KSUBST_TEXT_EXPAND); // FIXME: is this right?
newInfo.setTag(tag);
newInfo.setPermissions(ResourceSyncInfo.DEFAULT_PERMISSIONS);
info = newInfo;
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java
index 0f1e74b7b..a353f488c 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/MutableResourceSyncInfo.java
@@ -13,6 +13,7 @@ package org.eclipse.team.internal.ccvs.core.syncinfo;
import java.util.Date;
import org.eclipse.team.ccvs.core.CVSTag;
+import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
import org.eclipse.team.internal.ccvs.core.util.Assert;
/**
@@ -40,6 +41,13 @@ public class MutableResourceSyncInfo extends ResourceSyncInfo {
this.isDirectory = info.isDirectory();
this.keywordMode = info.getKeywordMode();
this.isDeleted = info.isDeleted();
+ if(info.isMergedWithConflicts()) {
+ setSyncType(TYPE_MERGED_WITH_CONFLICTS);
+ } else if(info.isMerged()) {
+ setSyncType(TYPE_MERGED);
+ } else {
+ setSyncType(TYPE_REGULAR);
+ }
}
public MutableResourceSyncInfo(String name, String revision) {
@@ -73,7 +81,7 @@ public class MutableResourceSyncInfo extends ResourceSyncInfo {
* Sets the keywordMode.
* @param keywordMode The keywordMode to set
*/
- public void setKeywordMode(String keywordMode) {
+ public void setKeywordMode(KSubstOption keywordMode) {
this.keywordMode = keywordMode;
}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java
index ae2919f2b..8df2d0c44 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ResourceSyncInfo.java
@@ -8,15 +8,10 @@ package org.eclipse.team.internal.ccvs.core.syncinfo;
import java.text.ParseException;
import java.util.Date;
-import javax.swing.text.MutableAttributeSet;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.team.ccvs.core.CVSProviderPlugin;
import org.eclipse.team.ccvs.core.CVSTag;
-import org.eclipse.team.ccvs.core.ICVSFile;
import org.eclipse.team.internal.ccvs.core.CVSException;
import org.eclipse.team.internal.ccvs.core.Policy;
+import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
import org.eclipse.team.internal.ccvs.core.resources.CVSEntryLineTag;
import org.eclipse.team.internal.ccvs.core.util.Assert;
import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter;
@@ -49,10 +44,6 @@ public class ResourceSyncInfo {
// safe default permissions. Permissions are saved separatly so that the correct permissions
// can be sent back to the server on systems that don't save execute bits (e.g. windows).
public static final String DEFAULT_PERMISSIONS = "u=rw,g=rw,o=r"; //$NON-NLS-1$
-
- // use the server's default keyword substitution mode
- public static final String USE_SERVER_MODE = ""; //$NON-NLS-1$
-
// file sync information can be associated with a local resource that has been deleted. This is
// noted by prefixing the revision with this character.
// XXX Should this be private
@@ -87,16 +78,14 @@ public class ResourceSyncInfo {
protected String name;
protected String revision;
protected Date timeStamp;
- protected String keywordMode;
+ protected KSubstOption keywordMode;
protected CVSEntryLineTag tag;
protected String permissions;
// type of sync
protected int syncType = TYPE_REGULAR;
-
protected ResourceSyncInfo() {
}
-
/**
* Constructor to create a sync object from entry line formats. The entry lines are parsed by this class.
* The constructor can handle parsing entry lines from the server or from an entry file.
@@ -109,7 +98,6 @@ public class ResourceSyncInfo {
*/
public ResourceSyncInfo(String entryLine, String permissions, Date timestamp) throws CVSException {
Assert.isNotNull(entryLine);
-
setEntryLine(entryLine);
if (permissions != null) {
@@ -132,7 +120,6 @@ public class ResourceSyncInfo {
this.name = name;
this.isDirectory = true;
}
-
/**
* Answers if this sync information is for a folder in which case only a name is
* available.
@@ -268,7 +255,6 @@ public class ResourceSyncInfo {
}
}
}
-
/**
* Gets the tag or <code>null</code> if a tag is not available.
*
@@ -277,7 +263,6 @@ public class ResourceSyncInfo {
public CVSTag getTag() {
return tag;
}
-
/**
* Gets the timeStamp or <code>null</code> if a timestamp is not available.
*
@@ -286,7 +271,6 @@ public class ResourceSyncInfo {
public Date getTimeStamp() {
return timeStamp;
}
-
/**
* Gets the version or <code>null</code> if this is a folder sync info. The returned
* revision will never include the DELETED_PREFIX. To found out if this sync info is
@@ -298,7 +282,6 @@ public class ResourceSyncInfo {
return revision;
}
-
/**
* Gets the name.
*
@@ -307,13 +290,11 @@ public class ResourceSyncInfo {
public String getName() {
return name;
}
-
/**
- * Gets the keyword mode or <code>null</code> if a keyword mode is available.
- *
- * @return
+ * Gets the keyword mode.
+ * @return the keyword substitution option
*/
- public String getKeywordMode() {
+ public KSubstOption getKeywordMode() {
return keywordMode;
}
@@ -341,13 +322,10 @@ public class ResourceSyncInfo {
public String toString() {
return getEntryLine(true, null /*no timestamp override*/);
}
-
public MutableResourceSyncInfo cloneMutable() {
MutableResourceSyncInfo newSync = new MutableResourceSyncInfo(this);
- newSync.setResourceInfoType(syncType);
return newSync;
}
-
/**
* Sets the tag for the resource.
*/
@@ -358,7 +336,14 @@ public class ResourceSyncInfo {
this.tag = null;
}
}
-
+
+
+ /*
+ * Sets the sync type
+ */
+ protected void setSyncType(int syncType) {
+ this.syncType = syncType;
+ }
/**
* Sets the version and decides if the revision is for a deleted resource the revision field
* will not include the deleted prefix '-'.
@@ -390,9 +375,7 @@ public class ResourceSyncInfo {
} else {
isDirectory = false;
}
-
EmptyTokenizer tokenizer = new EmptyTokenizer(entryLine,SEPERATOR);
-
if(tokenizer.countTokens() != 5) {
throw new CVSException(Policy.bind("Malformed_entry_line___11") + entryLine); //$NON-NLS-1$
}
@@ -451,8 +434,7 @@ public class ResourceSyncInfo {
timeStamp = DUMMY_DATE;
}
}
-
- keywordMode = tokenizer.nextToken();
+ keywordMode = KSubstOption.fromMode(tokenizer.nextToken());
String tagEntry = tokenizer.nextToken();
if(tagEntry.length()>0) {
@@ -476,10 +458,8 @@ public class ResourceSyncInfo {
if(isDeleted){
result.append(DELETED_PREFIX);
}
-
result.append(revision);
result.append(SEPERATOR);
-
if(includeTimeStamp) {
String entryLineTimestamp = ""; //$NON-NLS-1$
if(timestampOverride!=null) {
@@ -501,7 +481,7 @@ public class ResourceSyncInfo {
result.append(entryLineTimestamp);
}
result.append(SEPERATOR);
- result.append(keywordMode == null ? "" : keywordMode); //$NON-NLS-1$
+ if (keywordMode != null) result.append(keywordMode.toMode());
result.append(SEPERATOR);
if (tag != null) {
result.append(tag.toEntryLineFormat(true));
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSDecorationRunnable.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSDecorationRunnable.java
index a667a5f15..a7ff4814f 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSDecorationRunnable.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSDecorationRunnable.java
@@ -193,7 +193,7 @@ public class CVSDecorationRunnable implements Runnable {
bindings.put(CVSDecoratorConfiguration.FILE_REVISION, fileInfo.getRevision());
}
KSubstOption option = fileInfo.getKeywordMode() != null ?
- KSubstOption.fromMode(fileInfo.getKeywordMode()) :
+ fileInfo.getKeywordMode() :
KSubstOption.fromFile((IFile) resource);
bindings.put(CVSDecoratorConfiguration.FILE_KEYWORD, option.getShortDisplayText());
if (tag != null && (tag.getType() != CVSTag.HEAD)) {
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSFilePropertiesPage.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSFilePropertiesPage.java
index 324eef064..ca99126d5 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSFilePropertiesPage.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/CVSFilePropertiesPage.java
@@ -5,8 +5,6 @@ package org.eclipse.team.internal.ccvs.ui;
* All Rights Reserved.
*/
-import java.util.Date;
-
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.swt.SWT;
@@ -18,7 +16,6 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.team.ccvs.core.CVSTag;
import org.eclipse.team.ccvs.core.ICVSFile;
import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.client.Command.KSubstOption;
import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
import org.eclipse.team.internal.ccvs.core.syncinfo.ResourceSyncInfo;
import org.eclipse.team.internal.ccvs.core.util.CVSDateFormatter;
@@ -66,7 +63,7 @@ public class CVSFilePropertiesPage extends PropertyPage {
// Keyword Mode
createLabel(composite, Policy.bind("CVSFilePropertiesPage.keywordMode"));
- createLabel(composite, KSubstOption.fromMode(syncInfo.getKeywordMode()).getLongDisplayText());
+ createLabel(composite, syncInfo.getKeywordMode().getLongDisplayText());
// Tag
createLabel(composite, Policy.bind("CVSFilePropertiesPage.tag"));
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java
index 67999de9c..fa1f3f6b5 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/sync/CVSCatchupReleaseViewer.java
@@ -180,7 +180,7 @@ public class CVSCatchupReleaseViewer extends CatchupReleaseViewer {
ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile)resource);
ResourceSyncInfo info = cvsFile.getSyncInfo();
KSubstOption option = info != null && info.getKeywordMode() != null ?
- KSubstOption.fromMode(info.getKeywordMode()) :
+ info.getKeywordMode() :
KSubstOption.fromFile((IFile)resource);
postfix.append("(" + option.getShortDisplayText() + ")");
} else if (resource instanceof IContainer) {
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/KSubstWizard.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/KSubstWizard.java
index b2ec2883a..3d086dde4 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/KSubstWizard.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/wizards/KSubstWizard.java
@@ -351,7 +351,7 @@ public class KSubstWizard extends Wizard {
classification = KSubstChangeElement.UNCHANGED_FILE;
}
// determine the to/from substitution modes
- KSubstOption fromKSubst = KSubstOption.fromMode(info.getKeywordMode());
+ KSubstOption fromKSubst = info.getKeywordMode();
KSubstOption toKSubst = ksubst;
if (ksubst == null) {
toKSubst = KSubstOption.fromFile(file);
diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java
index 81139df13..6fe7c8d5e 100644
--- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java
+++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/core/provider/CVSProviderTest.java
@@ -7,6 +7,8 @@ import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
@@ -385,12 +387,12 @@ public class CVSProviderTest extends EclipseTest {
}
public static String getFileContents(IFile file) throws CoreException, IOException {
StringBuffer buf = new StringBuffer();
- InputStream is = new BufferedInputStream(file.getContents());
+ Reader reader = new InputStreamReader(new BufferedInputStream(file.getContents()));
try {
int c;
- while ((c = is.read()) != -1) buf.append((char)c);
+ while ((c = reader.read()) != -1) buf.append((char) c);
} finally {
- is.close();
+ reader.close();
}
return buf.toString();
}
@@ -405,8 +407,7 @@ public class CVSProviderTest extends EclipseTest {
IFile file = container.getFile(new Path(filename));
ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor(file);
ResourceSyncInfo info = cvsFile.getSyncInfo();
- KSubstOption other = KSubstOption.fromMode(info.getKeywordMode());
- assertEquals(ksubst, other);
+ assertEquals(ksubst, info.getKeywordMode());
}
}

Back to the top