[ 
https://issues.apache.org/jira/browse/SCM-257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17964414#comment-17964414
 ] 

Olivier Lamy commented on SCM-257:
----------------------------------

This project has moved from Jira to GitHub Issues. This issue was migrated to 
[apache/maven-scm#473|https://github.com/apache/maven-scm/issues/473]. 

> The perforce provider should provide an "update" functionality for the SCM 
> plugin's "update" command that is semantically correct.
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SCM-257
>                 URL: https://issues.apache.org/jira/browse/SCM-257
>             Project: Maven SCM (Moved to GitHub Issues)
>          Issue Type: Improvement
>          Components: maven-scm-provider-perforce
>         Environment: All OS, maven 2.x SCM plugin linked to perforce
>            Reporter: Dana Lacoste
>            Priority: Major
>
> 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 was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to