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


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

        

Reply via email to