[
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)