maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Perham (JIRA)" <>
Subject [jira] Commented: (SCM-257) The perforce provider should provide an "update" functionality for the SCM plugin's "update" command that is semantically correct.
Date Sat, 02 Dec 2006 07:37:41 GMT
    [ ] 
Mike Perham commented on SCM-257:

mvn -Dmaven.persist.checkout=true<clientspec-name>

This will sync the contents of that clientspec to the current directory.  If the current directory
is empty, it will force sync.  The persistcheckout flag ensures that the command will not
delete the clientspec when the command is complete (as it does by default).

> The perforce provider should provide an "update" functionality for the SCM plugin's "update"
command that is semantically correct.
> ----------------------------------------------------------------------------------------------------------------------------------
>                 Key: SCM-257
>                 URL:
>             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:
For more information on JIRA, see:


View raw message