You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Emmanuel Venisse (JIRA)" <ji...@codehaus.org> on 2007/03/13 14:28:37 UTC

[jira] Updated: (SCM-257) The perforce provider should provide an "update" functionality for the SCM plugin's "update" command that is semantically correct.

     [ http://jira.codehaus.org/browse/SCM-257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Venisse updated SCM-257:
---------------------------------

    Fix Version/s: future

> The perforce provider should provide an "update" functionality for the SCM plugin's "update" command that is semantically correct.
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SCM-257
>                 URL: http://jira.codehaus.org/browse/SCM-257
>             Project: Maven SCM
>          Issue Type: Improvement
>          Components: maven-scm-provider-perforce
>         Environment: All OS, maven 2.x SCM plugin linked to perforce
>            Reporter: Dana Lacoste
>             Fix For: future
>
>
> The perforce provider implements the update command as a checkout.
> This is not semantically correct in the following situations:
> 1 - If no changes are pending, the update command should not do anything
> 2 - If some files are changed, only those files should be updated.
> (The checkout command checks out all files, regardless of what already exists)
> This is particularly daunting if (in my case :) there is a very large directory structure in perforce that does not change regularly (checking out a 4GB fileset that hasn't changed is, effectively, wasted time.)
> (As this is my first time using JIRA feel free to correct any of the settings I've made)
> Testing info:
> Although I don't have any JUnit experience, a test case can be made simply:
> 1 - create a perforce repository with two files in it (and configure maven to use it)
> 2 - run "mvn scm:checkout" to obtain the files
> 3 - modify one of the files on another system, check the modified file into perforce
> 4 - run "mvn scm:update" and only the modified file should be checked out.
> Implementation Ideas:
> Somehow the "scm:update" command will need to know that the files already exist.  The most simple way is to require that ${P4CLIENT} be set and simply to run "p4 sync ..." in the directory involved (or, similarly, "p4 sync ${path}..." using the path that's defined in the scm URL) and to allow perforce to do the work of figuring out what's needed.

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