You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "John Didion (JIRA)" <ji...@codehaus.org> on 2006/04/11 00:31:48 UTC
[jira] Created: (SCM-184) PerforceScmProvider.createClientspec
should use the working dir's canonical path for the clientspec root
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
[jira] Closed: (SCM-184) PerforceScmProvider.createClientspec
should use the working dir's canonical path for the clientspec root
Posted by "Mike Perham (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/SCM-184?page=all ]
Mike Perham closed SCM-184:
---------------------------
Resolution: Fixed
Thanks John.
> 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
> Versions: 1.0
> Reporter: John Didion
> Assignee: Mike Perham
> Fix For: 1.0
>
>
> 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
[jira] Updated: (SCM-184) PerforceScmProvider.createClientspec
should use the working dir's canonical path for the clientspec root
Posted by "Mike Perham (JIRA)" <ji...@codehaus.org>.
[ http://jira.codehaus.org/browse/SCM-184?page=all ]
Mike Perham updated SCM-184:
----------------------------
Version: 1.0
Fix Version: 1.0
> 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
> Versions: 1.0
> Reporter: John Didion
> Assignee: Mike Perham
> Fix For: 1.0
>
>
> 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