PerforceScmProvider.createClientspec should use the working dir's canonical
path for the clientspec root
--------------------------------------------------------------------------------------------------------
Key: SCM-184
URL: http://jira.codehaus.org/browse/SCM-184
Project: Maven SCM
Type: Bug
Components: maven-scm-provider-perforce
Reporter: John Didion
createClientspec should look like this:
{noformat}
public static String createClientspec( PerforceScmProviderRepository repo,
String specname, File workDir )
{
String clientspecName = getClientspecName( repo, workDir );
String userName = getUsername( repo );
String rootDir = null;
try {
rootDir = workDir.getCanonicalPath();
} catch (IOException ex) {
//getLogger().error("Error getting canonical path for working
directory: " + workDir, ex);
rootDir = workDir.getAbsolutePath();
}
StringBuffer buf = new StringBuffer();
buf.append( "Client: " ).append( clientspecName ).append( NEWLINE );
buf.append( "Root: " ).append( rootDir ).append( NEWLINE );
buf.append( "Owner: " ).append( userName ).append( NEWLINE );
buf.append( "View:" ).append( NEWLINE );
buf.append( "\t" ).append( PerforceScmProvider.getCanonicalRepoPath(
repo.getPath() ) );
buf.append( " //" ).append( clientspecName ).append( "/..." ).append(
NEWLINE );
buf.append( "Description:" ).append( NEWLINE );
buf.append( "\t" ).append( "Created by maven-scm-provider-perforce"
).append( NEWLINE );
return buf.toString();
}
{noformat}
Otherwise, when used with continuum, the changelog command will never work. The
continuum working directory always looks like
CONTINUUM_HOME/bin/win32/../../apps/depot/69 when creating the clientspec, and
perforce seems not to know how to deal with non-canonical paths, so perforce
always just spits out an error message and returns no changes. This sucks
because then build complete notifications never get sent.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira