[jira] Created: (SCM-119) Perforce provider should only append /... to view if necessary
Perforce provider should only append /... to view if necessary Key: SCM-119 URL: http://jira.codehaus.org/browse/SCM-119 Project: Maven SCM Type: Bug Components: maven-scm-provider-perforce Reporter: Neil Padgen Attachments: patch When creating a clientspec, maven-scm-provider-perforce currently appends /... to the SCM URL regardless of what is already there. But other plugins (such as the changelog-report-plugin, file-activity-report-plugin and developer-activity-report-plugin) require the SCM URL to end in /... to be able to produce output. Fix: when creating the clientspec, only append /... if it is not already there. (I'm not sure if p4 filelog is invoked by this component or those other report plugins.) *Untested* patch attached. -- 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
[jira] Commented: (SCM-119) Perforce provider should only append /... to view if necessary
[ http://jira.codehaus.org/browse/SCM-119?page=comments#action_53564 ] Neil Padgen commented on SCM-119: - I understand your point, Mike, but this issue will stop me from using Continuum until those plugins are changed. Our processes depend on inspecting those existing reports. I haven't tried the release plugin, but I assume that it will currently fail if the SCM URL is designed for those report plugins to work. Existing projects will also break if suddenly the reports need a different URL to the one they have been using for months if not years. Surely it would make sense to be lenient in what you accept and strict in what you produce, by not appending a /... to the depot path for p4 commands if there is already one in the depot path - while still persuading the report plugin's authors to change to using the SCM plugin. Perforce provider should only append /... to view if necessary Key: SCM-119 URL: http://jira.codehaus.org/browse/SCM-119 Project: Maven SCM Type: Bug Components: maven-scm-provider-perforce Reporter: Neil Padgen Attachments: patch When creating a clientspec, maven-scm-provider-perforce currently appends /... to the SCM URL regardless of what is already there. But other plugins (such as the changelog-report-plugin, file-activity-report-plugin and developer-activity-report-plugin) require the SCM URL to end in /... to be able to produce output. Fix: when creating the clientspec, only append /... if it is not already there. (I'm not sure if p4 filelog is invoked by this component or those other report plugins.) *Untested* patch attached. -- 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
[jira] Commented: (SCM-114) Clientspec naming
[ http://jira.codehaus.org/browse/SCM-114?page=comments#action_53418 ] Neil Padgen commented on SCM-114: - We wouldn't be able to use the last directory in the SCM URL, as we use that last directory for branches; e.g. //depot/project1/MAIN and //depot/project1/RELEASE. The RELEASE branch is derived from the MAIN branch, so each contains its own project.xml. Using the last directory, we'd need lots of clients called MAIN-${hostname}-mavenscm - obviously that wouldn't work for us. If you can identify that the scm plugin is being called from Continuum, you could maybe adopt Wim's suggestion and call it something like continuum-${basename_of_working_directory}-${hostname}-${user}-${project} which would produce something like continuum-16-buildhost-user-foobar for Mike's example, or continuum-16-buildhost-user-MAIN for us - which would be fine, as the number 16 would be unique per project within Continuum. Clientspec naming - Key: SCM-114 URL: http://jira.codehaus.org/browse/SCM-114 Project: Maven SCM Type: Improvement Components: maven-scm-provider-perforce Versions: 1.0-beta-3 Reporter: mike perham Fix For: 1.0-beta-3 Several people have expressed more than a passing interest in how the Perforce clientspec is named by Maven SCM. The name needs to be autogenerated and unique for each Continuum project build. Currently I am thinking something like: ${project}-${user}-${hostname}-mavenscm Emmannuel, does the SCM subsystem have access to the name of the project being built? If not, I can just use the name of the last directory in the SCM URL for the name of the project: //depot/projects/foobar would mean that ${project} = foobar. And just head off the inevitable question: you cannot set P4CLIENT for this because Continuum may build several different projects and they each need a unique clientspec. -- 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
[jira] Commented: (SCM-113) Support persistent and transient clientspecs
[ http://jira.codehaus.org/browse/SCM-113?page=comments#action_53417 ] Neil Padgen commented on SCM-113: - I can see the advantages of both persistent and transient clientspecs. I would expect the persistent clientspec to be used more often than the transient clientspec - Continuum will be building things every hour, while modules will be released probably not much more than once a day. You should almost definitely use the Description field of a clientspec to describe the purpose of the client. Name: client Root: /path/to/root Description: nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;Created by maven-scm-provider-perforce for maven-release-plugin View: nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;//depot/project/... //client/... Then it's easy to do p4 clients |grep 'maven-scm-provider-perforce.*maven-release-plugin' to identify which ones ought to be deleted. As for your hint, could you create a property maven.scm.perforce.transient-clientspec to true or false? Support persistent and transient clientspecs Key: SCM-113 URL: http://jira.codehaus.org/browse/SCM-113 Project: Maven SCM Type: New Feature Components: maven-scm-provider-perforce Versions: 1.0-beta-3 Reporter: mike perham Fix For: 1.0-beta-3 Continuum needs a persistent clientspec because it needs to update a project's source code and build it once an hour. On larger projects a complete resync might take 10-20 minutes so it is necessary to keep a clientspec around for that Continuum project build so syncs only take a few seconds. However, the Maven Release plugin may need to be used by tens or even hundreds of developers to release any number of small modules. Currently this would mean lots of clientspecs being created for the release checkout which are reused very infrequently. Here I would prefer to create the clientspec, do the checkout, build and then delete the clientspec. This is what I term a transient clientspec. The Perforce plugin would need to default to one mode and support some sort of hint which tells it which mode to operate in. -- 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