diff options
author | Jean Michel-Lemieux | 2002-04-03 18:06:53 +0000 |
---|---|---|
committer | Jean Michel-Lemieux | 2002-04-03 18:06:53 +0000 |
commit | 2abf8ece02755cae1a618762e59ca9884fda54fc (patch) | |
tree | c48ce88c135a05c16a9eca59cbd13137f72bdde7 | |
parent | 1d65609dbf5cbdf7866586faafe45c80ea82524a (diff) | |
download | eclipse.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.
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()); } } |