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