You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-dev@maven.apache.org by "mike perham (JIRA)" <ji...@codehaus.org> on 2005/12/14 16:16:46 UTC

[jira] Created: (SCM-113) Support persistent and transient clientspecs

Support persistent and transient clientspecs
--------------------------------------------

         Key: SCM-113
         URL: http://jira.codehaus.org/browse/SCM-113
     Project: Maven SCM
        Type: New Feature

  Components: maven-scm-provider-perforce  
    Versions: 1.0-beta-3    
    Reporter: mike perham
     Fix For: 1.0-beta-3


Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.

However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  

The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.


-- 
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] Commented: (SCM-113) Support persistent and transient clientspecs

Posted by "skylab (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/SCM-113?page=comments#action_53427 ] 

skylab commented on SCM-113:
----------------------------

Hi Mike,

can we add some additional parameters to the SCM URL? Just the client-name or something else:

_x:y:z:url:?myName=skylab&perforce.client.name=skylabs-project-on-my-workstation&andSoOn_

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: mike perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Commented: (SCM-113) Support persistent and transient clientspecs

Posted by "Neil Padgen (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/SCM-113?page=comments#action_53417 ] 

Neil Padgen commented on SCM-113:
---------------------------------

I can see the advantages of both persistent and transient clientspecs.  I would expect the persistent clientspec to be used more often than the transient clientspec - Continuum will be building things every hour, while modules will be released probably not much more than once a day.

You should almost definitely use the "Description" field of a clientspec to describe the purpose of the client.

Name: client
Root: /path/to/root
Description:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Created by maven-scm-provider-perforce for maven-release-plugin
View:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//depot/project/... //client/... 


Then it's easy to do "p4 clients |grep 'maven-scm-provider-perforce.*maven-release-plugin' " to identify which ones ought to be deleted.

As for your "hint", could you create a property "maven.scm.perforce.transient-clientspec" to true or false?



> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: mike perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Commented: (SCM-113) Support persistent and transient clientspecs

Posted by "Emmanuel Venisse (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/SCM-113?page=comments#action_57758 ] 

Emmanuel Venisse commented on SCM-113:
--------------------------------------

I don't think, so file an issue on continuum and link it to this issue.

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: Mike Perham
>     Assignee: Mike Perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Assigned: (SCM-113) Support persistent and transient clientspecs

Posted by "mike perham (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/SCM-113?page=all ]

mike perham reassigned SCM-113:
-------------------------------

    Assign To: mike perham

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: mike perham
>     Assignee: mike perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Commented: (SCM-113) Support persistent and transient clientspecs

Posted by "Wim Deblauwe (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/SCM-113?page=comments#action_53415 ] 

Wim Deblauwe commented on SCM-113:
----------------------------------

For ClearCase, we only support what you call a persistent clientspec. The scm url points to the location of the spec on some server. The release:perform part of the release plugin is currently not supported for clearcase. We would need something like the transient spec you talk about.

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: mike perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Commented: (SCM-113) Support persistent and transient clientspecs

Posted by "Wim Deblauwe (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/SCM-113?page=comments#action_57754 ] 

Wim Deblauwe commented on SCM-113:
----------------------------------

As the default being transient, that means that continuum will need to set this flag to use persistent checkouts. Is this done?

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: Mike Perham
>     Assignee: Mike Perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Commented: (SCM-113) Support persistent and transient clientspecs

Posted by "mike perham (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/SCM-113?page=comments#action_53419 ] 

mike perham commented on SCM-113:
---------------------------------

Good idea on the Description.  Note that Maven SCM does not know anything about the context in which it is running.  It does not know that it is running for Continuum, release or any other client.  It just knows that someone asked it to perform a checkout operation so I would not be able to add the "for" part of your example description.  Basically the only context I have is the base directory, the SCM tag and the SCM URL.

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: mike perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Resolved: (SCM-113) Support persistent and transient clientspecs

Posted by "Mike Perham (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/SCM-113?page=all ]
     
Mike Perham resolved SCM-113:
-----------------------------

    Resolution: Fixed

Added ScmProviderRepository.setPersistCheckout(boolean) which applications can use as a hint to the SCM provider.  Also added a "maven.scm.persistcheckout" system property which can override this hint on the command line.  The default is false or to use transient clientspecs.

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: Mike Perham
>     Assignee: Mike Perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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] Commented: (SCM-113) Support persistent and transient clientspecs

Posted by "mike perham (JIRA)" <ji...@codehaus.org>.
    [ http://jira.codehaus.org/browse/SCM-113?page=comments#action_53428 ] 

mike perham commented on SCM-113:
---------------------------------

No because the common case is that the SCM URL is in the POM and therefore can't be user or location-dependent.  I can detect your username through the "user.name" system property.

> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: mike perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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-113) Support persistent and transient clientspecs

Posted by "Emmanuel Venisse (JIRA)" <ji...@codehaus.org>.
     [ http://jira.codehaus.org/browse/SCM-113?page=all ]
     
Emmanuel Venisse closed SCM-113:
--------------------------------


> Support persistent and transient clientspecs
> --------------------------------------------
>
>          Key: SCM-113
>          URL: http://jira.codehaus.org/browse/SCM-113
>      Project: Maven SCM
>         Type: New Feature

>   Components: maven-scm-provider-perforce
>     Versions: 1.0-beta-3
>     Reporter: Mike Perham
>     Assignee: Mike Perham
>      Fix For: 1.0-beta-3

>
>
> Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour.  On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds.
> However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules.  Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently.  Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec.  This is what I term a transient clientspec.  
> The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in.

-- 
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