|
Lines 54-59
Link Here
|
| 54 |
ICommandOutputListener listener = new ICommandOutputListener() { |
54 |
ICommandOutputListener listener = new ICommandOutputListener() { |
| 55 |
public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) { |
55 |
public IStatus messageLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) { |
| 56 |
String knownPrefix = null; |
56 |
String knownPrefix = null; |
|
|
57 |
String versionNumber = null; |
| 57 |
boolean isCVSNT = false; |
58 |
boolean isCVSNT = false; |
| 58 |
if (line.startsWith(CVS_NT_PREFIX_1)) { |
59 |
if (line.startsWith(CVS_NT_PREFIX_1)) { |
| 59 |
isCVSNT = true; |
60 |
isCVSNT = true; |
|
Lines 67-73
Link Here
|
| 67 |
IStatus status = OK; |
68 |
IStatus status = OK; |
| 68 |
int serverType = CVSRepositoryLocation.CVS_SERVER; |
69 |
int serverType = CVSRepositoryLocation.CVS_SERVER; |
| 69 |
if (knownPrefix != null) { |
70 |
if (knownPrefix != null) { |
| 70 |
String versionNumber = line.substring(knownPrefix.length(), line.indexOf(' ', knownPrefix.length() + 1)); |
71 |
versionNumber = line.substring(knownPrefix.length(), line.indexOf(' ', knownPrefix.length() + 1)); |
| 71 |
if (versionNumber.startsWith("1.10") || versionNumber.equals("1.11") || versionNumber.equals("1.11.1")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
72 |
if (versionNumber.startsWith("1.10") || versionNumber.equals("1.11") || versionNumber.equals("1.11.1")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
| 72 |
serverType = CVSRepositoryLocation.UNSUPPORTED_SERVER; |
73 |
serverType = CVSRepositoryLocation.UNSUPPORTED_SERVER; |
| 73 |
status = new CVSStatus(IStatus.WARNING, CVSStatus.UNSUPPORTED_SERVER_VERSION, NLS.bind(CVSMessages.Version_unsupportedVersion, new String[] { location.getHost(), versionNumber }),location); |
74 |
status = new CVSStatus(IStatus.WARNING, CVSStatus.UNSUPPORTED_SERVER_VERSION, NLS.bind(CVSMessages.Version_unsupportedVersion, new String[] { location.getHost(), versionNumber }),location); |
|
Lines 79-84
Link Here
|
| 79 |
status = new CVSStatus(IStatus.INFO, CVSStatus.SERVER_IS_UNKNOWN, NLS.bind(CVSMessages.Version_unknownVersionFormat, new String[] { location.getHost(), line }), location); |
80 |
status = new CVSStatus(IStatus.INFO, CVSStatus.SERVER_IS_UNKNOWN, NLS.bind(CVSMessages.Version_unknownVersionFormat, new String[] { location.getHost(), line }), location); |
| 80 |
} |
81 |
} |
| 81 |
((CVSRepositoryLocation)location).setServerPlaform(serverType); |
82 |
((CVSRepositoryLocation)location).setServerPlaform(serverType); |
|
|
83 |
/* |
| 84 |
* CVS prior to 1.12.2, there was a major problem with using |
| 85 |
* `-kk' on merges. Namely, `-kk' overrode any default keyword |
| 86 |
* expansion mode set in the archive file in the repository. |
| 87 |
* This could, unfortunately for some users, cause data |
| 88 |
* corruption in binary files. CVSNT has the same problem. |
| 89 |
*/ |
| 90 |
if (serverType == CVSRepositoryLocation.CVS_SERVER |
| 91 |
&& !versionNumber.startsWith("1.11") && !versionNumber.equals("1.12.1")) //$NON-NLS-1$ //$NON-NLS-2$ |
| 92 |
((CVSRepositoryLocation)location).setMergeWithKeywords(true); |
| 93 |
else |
| 94 |
((CVSRepositoryLocation)location).setMergeWithKeywords(false); |
| 82 |
return status; |
95 |
return status; |
| 83 |
} |
96 |
} |
| 84 |
public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) { |
97 |
public IStatus errorLine(String line, ICVSRepositoryLocation location, ICVSFolder commandRoot, IProgressMonitor monitor) { |