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