Perforce Plugin

Integrates Hudson with Perforce SCM Repositories.

Plugin Information

Plugin ID perforce
Latest Release 1.3.23-h-1
Latest Release Date May 2, 2013
Sources Github
Support Eclipse Hudson Forum
Issue Tracking Eclipse Bugzilla
Useful Information

With this plugin you can use a workspace (aka Clientspec in Perforce speak) that will synchronize files to the Hudson workspace. At the moment, this plugin supports:

  • Polling
  • Synchronizing
  • Browsing latest changes
  • Labeling builds (tagging)

If polling is enabled, the plugin will automatically sync to the latest revision when new changelists are found. This will also trigger a new build. Also, whenever a new build is triggered manually in Hudson, the plugin will sync to the latest revision in the Perforce depot.

Requirements

The plugin requires that the command line client p4 is installed on the machine running Hudson.

Usage

  1. Allow the plugin to communicate with Perforce...
    1. Either create a new user or use an existing "daemon" type user
      • Note: This "daemon" user must be logged in prior to configuring or running builds with Hudson. And you must not specify the P4CLIENT environment variable because this will overwrite anything that Hudson is trying to do.
    2. Create a workspace (clientspec) for the plugin to use. Name it "hudson-jobname" or something.
    3. Ensure that the workspace matches your development settings for your project (e.g., LineEnd, Options, etc.)
    4. Important Note: If you will be concurrently building multiple projects from Perforce, it would be best to create a Perforce workspace for each project.
  2. Install the plugin. Download it here
  3. Create a new project, under "Source Code Management," choose Perforce.
  4. Enter your server specific details along with the information for the user that Hudson will be using for polling/syncing. If you are familiar with Perforce, this all should be second nature. Remember, click on the question mark icons for context sensitive help.
  5. Under Build Triggers, check "Poll SCM."
  6. Save your changes and let Hudson do its job.

Post Configuration

A new option will appear on your project's details page: "Perforce Polling Log." You can check this to see what Perforce has been up to...

Within any build for your project, a new option appears: "Label This Build." Click on this to see the following screen. Here you can create a Perforce Label allowing your team to sync to this build.

Quirks

  • If Hudson's copy of the project is modified outside of Perforce (say a user deletes the entire project within the workspace directory), the builds following will likely fail. This is because the local copy is out of sync with what is in the depot. Perforce tracks what you have sync'd via the workspace and the way to bring down files that you deleted "accidentally" is to do a "force" sync. If this happens, you can use the option "One Time Force Sync" in the project configuration screen. The next time a build is triggered, p4 sync will be run with the -f option.
  • Perforce has specific issues when projects within a depot exist in different local locations that don't map directly to the depot. This is precisely how Hudson operates. To get around this requirement, we have to do some non-standard things. Every build will grab the Perforce workspace and then modify it to suit the needs of the current Hudson project. It then syncs the projects files and performs the build. This means that no two projects utilizing the same Perforce workspace should be built at the same time. It is unknown what will happen if you are synchronizing with one build, but another build attempts to modify the same Perforce workspace. It will probably be Not Good(tm). If builds must be performed concurrently, multiple workspaces can be used to get around this.

Advanced Configuration

Sync multiple builds to the same changeset

Say you have a stream of builds that need to run and you need every build to sync to the same changeset. There are a couple of ways to accomplish this. The first is to use a counter. In your job configuration for Job A, you will need to define a P4 Counter (say "projectA-counter") and check "Update counter to most recent changeset". Assuming your perforce user has sufficient privileges to create and set counters, this will check out Job A with the latest changeset, and update the counter with that changeset number. Then you can configure the rest of the jobs to use the counter "projectA-counter" and they will automatically sync to that changeset.

The alternative way is to pass the changeset through the builds as a parameter using the parameterized trigger plugin. In order to do this, you will need to dump the changeset number from the build environment into a properties file so the trigger can read it. A build step withecho p4.changelist=$P4_CHANGELIST > change.properties

will create the properties file that can be loaded with the parameterized trigger plugin. After that it's just a matter of adding the 'p4.changelist' parameter to the downstream job, and using it in the "P4 Label" configuration field of the perforce plugin.

Note that with both these techniques, the changelog information for the downstream builds will not be available.

Version 1.3.8 "Create Workspace" breakage

In version 1.3.8 a new option was introduced to allow users the ability to disable automatic creation of clients. Unfortunately, the default for pre-existing jobs was not being correctly set. All existing jobs have this option set to false, which can cause build errors in dynamic environments.

If this has happened, and you want to set all jobs back to their original behavior, you can run the following groovy script in the hudson  script console:hudson.model.Hudson.instance.projects.each{proj ->
if(proj.scm instanceof hudson.plugins.perforce.PerforceSCM)

Note that if you went from <=1.3.7 to >=1.3.9, this issue will not affect you.

Version History

Version 1.3.22 - (Apr 29, 2013)

  • making improvements and fixes to exclude paths functionality (issue #17652)

Version 1.3.21 - (Apr 12, 2013)

  • added more output when getting submitted changenumbers fails
  • fixed potential NPE when syncing

Version 1.3.20 - (Mar 12, 2013)

  • added SSL support

Version 1.3.19 - (Jan 10, 2013)

  • fixing issue with ticket parsing when perforce server is using login triggers that generate extra output (issue #15994)

Version 1.3.18 - (Nov 28, 2012)

  • added P4USER as valid substitution during polling (issue #14787)
  • fixing issue when retrying a login using tickets
  • 'status' field in job descriptions now optional (issue #15043)
  • added general substitution support for P4USER and P4PORT (issue #15053)
  • allow whitespaces at end of view mappings
  • fixed issue with saving configurations when blanking out system root and system drive (issue #15348)
  • only overwrite p4ticket if there's a ticket to save
  • fixing P4CLIENT env variable when running concurrent builds (issue #10125)
  • disable form validation on the view map, since it causes issues with large maps (issue #12806)
  • fixed ticket handling problems (issue #15862)
  • use the ticket when running quick clean commands when it's available (issue #15807)
  • prefer the workspace changeset before depot changeset (issue #15515)
  • improved perforce job handling
  • export build changenumber from perforcetagaction (issue #15603)

Version 1.3.17 - (Aug 12, 2012)

Version 1.3.16 - (Aug 7, 2012)

  • added ability to use the same changeset as upstream job
  • fixed NPE when polling with view from file (issue #14216)
  • update documentation (issue #14363)
  • removed code that was breaking remote (UNC) workspace paths (issue #14125)
  • removed redundant api exports (issue #14335)

Version 1.3.15 - (June 8, 2012)

  • added 'owner' and 'description' fields to label post build action
  • fixed issue with incorrect changeset being used for syncing (issue #13879)
  • fixing issue where the password was being exposed internally in hudson' config files (issue #10326)
  • added new 'quick' clean feature. this emulates a wipe+force sync, but should be faster in many circumstances

Version 1.3.14 - (May 14, 2012)

  • suppressing client spec parse warnings for blank and quoted lines
  • tagging now only requires TAG permission (as opposed to admin privileges) (issue #13736)
  • fixed quoted paths issue in view parsing (issue #7496)
  • added 'owner' field to advanced options for client ownership (issue #13646)

Version 1.3.13 - (April 19, 2012)

  • don't return invalid perforce email addresses in the mailresolver (issue #13324)
  • don't update client view when flushing workspace to 0 on workspace deletion (issue #13080)
  • avoid possible NPE during startup (issue #13394)
  • removed redundant slash from Perfbrowse URL
  • fixed issue with excluded files not working for changesets that include files not in the workspace view (issue #13296)
  • avoid benign NPE when saving a config on a master with no executors (issue #13353)
  • fixed issue with parameter substitution in counter name field
  • added support for displaying integrated changesets
  • always put P4TICKET into environment (issue #13270)
  • added limit for number of files per changelist in order to avoid OOM on large changes (issue #13109)

Version 1.3.12 - (March 29, 2012)

  • fixed NPE that occurs when parsing changes containing a deleted perforce user (issue #13271)

Version 1.3.11 - (March 26, 2012)

  • added case sensitivity option for exclusion of files from polling (issue #13147)
  • exclude .p4config from wipe on checkout (issue #13108)
  • fixed some issues with the mailresolver (issue #13103)
  • added concurrent build support (Thanks Mikko!) (issue #10125)
  • added warning to build log when stripping invalid lines from client spec (issue #13027)
  • wipe before build option no longer flushes the client (since it's just doing a force sync anyways) (issue #13073)
  • allow the usage of build parameters during workspace deletion (issue #13073)
  • fixing some log messages for workspace deletion
  • build properties now override global ones as expected
  • use 'p4' by default if no global p4 installation is defined (issue #13062)

Version 1.3.10 - (March 8, 2012)

  • added support for parameters in stream names
  • added support for controlling 'Disable Sync' and 'Disable Sync and Changelog' options using job parameters
  • improved email resolution for mailer plugins to increase speed and prevent potential hangs
  • added form validation for '-p' and '-f' perforce flag conflict (issue #12948)
  • added support for multiple tags (issue #12906)
  • fixed node-level tool installation location overrides

Version 1.3.9 - (Feb 28, 2012)

  • fixed incorrect default for "Create Workspace" when upgrading to 1.3.8.
  • perforce installations now use the Hudsons ToolInstallation model and are globally and node-level configurable (issue #11369)

Version 1.3.8 - (Feb 21, 2012) (See the note above if you installed this version)

  • added support for Perfbrowse repository browser (thanks verbitan!)
  • fixed some inconsistent string references in help (thanks 4ndrew!)
  • api changes for better artifactory plugin support (thanks yossis!)
  • added 'Let Hudson Create Workspace' checkbox (thanks garious!)
  • added support for perforce streams (thanks miktap!)
  • fixed form validation on exclude fields when using parameters (issue #12202)
  • fixed issue with slow email resolution (issue #12672)
  • added substitution for counter field (issue #12755 thanks Andy!)
  • plugin now uses the full build environment for parameter substitution, not just job/global parameters (issue #12837)

Version 1.3.7 - (Jan 10, 2012)

  • fixed issue where list of changes includes pending ones, which can cause consistency problems
  • added substitution support to Files/User exclusion fields (issue #12202)

Version 1.3.6 - (Dec 12, 2011)

Version 1.3.5 - (Nov 17, 2011)

  • fixed issue with labeling not working when using a client spec from a file in perforce
  • fixed parameter substitution when using client spec from a file
  • only use the label field for syncing if the parameters in it actually resolve to something non-empty (issue #11677)
  • fixed typo in log output (issue #11740)

Version 1.3.4 - (Nov 3, 2011)

  • perform parameter substitution on clientSpec path when using a file from perforce for the client spec (issue #11423)
  • fixed support for date and revision changelog information in email-ext (issue #11600)

Version 1.3.3 - (Sep 29, 2011)

  • added support for promoted builds plugin to perforce label publisher/notifier
  • don't set P4_CHANGELIST when no changelist is (yet) available. Should solve some consistency issues with envinject.

Version 1.3.2 - (Sep 21, 2011)

Version 1.3.1 - (Sep 8, 2011)

  • add the possibility to use a textual ClientSpec file from the depot to setup the workspace view
  • make all matrixruns use the same changeset as the parent (issue #10592)
  • fixing minor issue with label changeset retreival
  • reimplementation of 'where' mapping for changelog information (issue #10732)

Version 1.3.0 - (July 27, 2011)

  • fixing possible cast exception with new polling method (issue #10411)
  • updated to new polling api to fix issue with polls queuing up additional builds when one is already syncing (this increased the minimum hudson version from 1.339 to 1.346)

Version 1.2.9 - (July 15, 2011)

  • minor tweak to docs explaining that 'sync -p' can't work at the same time as 'sync -f' due to a weird limitation in perforce (issue #9819)
  • added nodename substitution for client workspace names on slave machines, with the disclaimer that it may not work with all slave names (issue #10334)
  • removing tek42 depot from pom, since it's down indefinitely
  • fixed issue with 'p4 where' parsing (issue #7618)
  • minor tek42 api bugs

Version 1.2.8 - (July 4, 2011)

  • fixed maven incremental builds integration (issue #7618)
  • changed FishEye links to use changelist number instead of revision number for file diffs (for reals this time) (issue #7747)

Version 1.2.7 - (Jun 20, 2011)

  • check to see if the user exists before attempting to get it's email address (issue #6079)
  • added option to set the owner of a label when manually tagging a build (issue #8354)
  • labels will now have their owner set to the configured perforce user by default (issue #8354)
  • added support for 'p4 sync -p' (issue #9819)
  • fixed issue with JOB_NAME substitutions including incompatible characters for client names (issue #9906)
  • fixed '500' error when saving a user config (caused by missing field)

Version 1.2.6 - (Jun 3, 2011)

  • fixed issue with email ext plugin not displaying changelists (courtesy of 8nevil8 from Oracle)

Version 1.2.5 - (Apr 22, 2011)

  • fixed bad javascript on configuration page that could result in the config page not loading

Version 1.2.4 - (Mar 24, 2011)

  • added "Poll only on Master" option for distributed build environments (issue #9067)
  • fixed NPE when wiping out workspace using the Hudson UI (issue #9022)
  • refactored the way user IDs are stored in order to support email retreival for oddly formatted user names (ie. domain\user) (issue #8987)
  • refactored polling to use configured nodes without needing online workspaces. It will now fall back to polling on the master if none are available (issue #8173)
  • changed hostname retrieval to use the more reliable function provided by Hudson

Version 1.2.3 - (Mar 1, 2011)

  • strip quotes from View Mask entries to prevent issues on the command line (issue #8731)
  • add error logging and detection for file-specific sync errors (issue #8840)
  • add ability to clean .repository for every build (by popular demand) (issue #7182) (issue #8211)

Version 1.2.2 - (Feb 21, 2011)

  • fixed major problem with client name substitution on slave machines (sorry)

Version 1.2.1 - (Feb 18, 2011)

  • fixed major problem with client name substitution on slave machines

Version 1.2.0 - (Feb 11, 2011)

  • be more aggressive with closing pipes
  • adding Disable Syncing Only option (issue #8260)
  • added exclude users and exclude files polling options
  • fixed potential issue where "Enter Password:" could be used as the perforce ticket in certain circumstances
  • allow changeset number to decrease between builds (in case of forced builds, or p4 server rebuild)
  • added log filtering for p4 sync, which should prevent out of memory issues during large syncs (issue #2142)

Version 1.1.14 - (Jan 6, 2011)

  • adding p4 response output when some more obscure parsing errors occur (issue #8409)
  • don't launch a new build when polling when the client-workspace is 'new'. this should avoid continuous building when using the broken remoting api in hudson (for hudson versions >= 1.378)
  • first release from github!

Version 1.1.13 - (Dec 7, 2010)

  • added another partial fix for intermittent connection issues in hudson >=1.378 (thanks Kohsuke!) (issue #7664)

Version 1.1.12 - (Nov 18, 2010)

  • added a partial fix for intermittent connection issues in hudson >=1.378 (issue #7664)

Version 1.1.11 - (Oct 29, 2010)

  • skip Maven private .repository directory when wiping out the workspace. More appropriate fix for this should be coming eventually. (issue #7182)
  • use changelist number instead of revision number when loading links to fisheye for file diffs (issue #7747)
  • make P4PASSWD environment variable (if enabled) always contain the password, instead of defaulting to the p4 ticket when it's available. Also added P4TICKET environment variable for those who need the ticket instead. (issue #7757)

Version 1.1.10 - (Oct 6, 2010)

  • fixed issue with changeset parsing when comments contained certain reserved phrases (issue #7679)
  • changed polling logic to fall back to another available node when the last one used to build is unavailable. only applies to workspaces names that are constant across slaves (issue #7665)
  • fixed parsing issue when labelling using client specs from perforce, ie. when hudson is not set to manage the workspace. (issue #7642)
  • removed noisy logging from requiresWorkspaceForPolling function (issue #7622)

Version 1.1.9 - (Sep 29, 2010)

  • fixed problem where polling will not work on slaves when using client name substitutions (issue #7610)
  • fixed empty dropdown menu for line endings option when creating new jobs (issue #7606)
  • added better error messages when user fails to create a workspace for hudson when hudson isn't set to manage it on it's own (issue #7555)
  • fixing NPE when labelling a build that isn't configured to let hudson manage the client workspace (issue #7558)

Version 1.1.8 - (Sep 22, 2010)

  • adding support for client mappings of the form //depot/... "//workspace/..." in order to allow spaces in the workspace path when they don't exist in the depot path. (issue #7496)

Version 1.1.7 - (Sep 16, 2010)

  • work around to prevent the job history plugin from recording a change in the perforce configuration when none has been made (issue #6994)
  • adding automatic labeling functionality (issue #7301)

Version 1.1.6 - (Sep 7, 2010)

  • adding parameter substitution support for p4Client (issue #7011)
  • trim whitespace from all config fields (issue #7290)

Version 1.1.5 - (Aug 23, 2010)

  • making changeLogFilename transient so it doesn't pollute the config.xml with unneeded parameters (issue #6994)
  • perform a force sync or clean workspace when P4FORCESYNC or P4CLEANWORKSPACE parameters are set to true respectively (issue #6526)

Version 1.1.4 - (July 2, 2010)

  • Fixed an issue with file and diff links when using fisheye. (issue #6911)
  • Added changeNumber and changeTime to the xml api output for builds. (issue #6836)
  • Reverting hack to prevent polling from running when a job has just been copied, but not yet configured. This is handled by hudson core now. (issue #5975)

Version 1.1.3 - (Jun 14, 2010)

Version 1.1.2 - (Jun 11, 2010)

  • Added support for parameter substitution in view spec during polling. (issue #6696)
  • Fixed a case when using view masks for polling that may cause builds to run continuously. (issue #6576)
  • Adding support for parameter substitution in the view mask.

Version 1.1.1 - (Jun 2, 2010)

  • Added IMPORT as a valid perforce change during changelog parsing. (issue #6686)

Version 1.1.0 - (May 21, 2010)

  • Fixed issue with polling and distributed builds. Thanks martinfr62! (issue #6575)
  • Added parameter substitutions on base client name. (issue #6519)
  • Made the plugin always clear the Host: field in the client spec for shared clients. (issue #6412)
  • Limit number of changesets pulled on the first run of a job (issue #6391)
  • Prevent builds from getting triggered by polling when the job has never run before (issue #5975)
  • Updated documentation (issue #6304)

Version 1.0.29 - (Apr 19, 2010)

  • Fixed potential problem where a job with client updating disabled will always force sync if the client workspace root is different.
  • Added some logging in the event the remote call for determining the slave hostname fails. (issue #6257)
  • Added option to poll and/or sync a subset of depot paths in a job (issue #2926)
  • Added options for P4CHARSET and P4COMMANDCHARSET (issue #6284)

Version 1.0.28 - (Apr 9, 2010)

  • Fixed issue with LineEnd option getting set to 'null'. (issue #6173)
  • Added code to trigger force-sync when job workspace root is changed in the project configuration. (issue #6219)

Version 1.0.27 - (Apr 5, 2010)

  • Added line endings option to select the LineEnd field used by the client workspace. (issue #6074)
  • Added some processing to the client root to avoid things like double slashes.
  • Added error handling to perforcemailresolver to avoid error when running the build for the first time. (issue #6079)
  • Made force syncing optional (but highly recommended) for matrix builds.

Version 1.0.26 - (Mar 25, 2010)

  • Fixed build issue with unix slaves that don't have hostnames properly defined.
  • Fixed problem with workspace paths that contain single-character path elements (issue #6064).
  • Adding support for changeset links to p4web.

Version 1.0.25 - (Mar 20, 2010)

  • Changed polling code so that it won't trigger a build if the job has never been run before. (issue #5975).
  • Adding code to clear the P4CONFIG environment variable before executing any operations on the node. This should alleviate issues with config files interfering with the hudson perforce config. (issue #4595)
  • Removed "do not rename workspace" option and replaced it with a formatted string to allow for more robust customization of the client workspace name on slaves.
  • Added the environment variable HUDSON_CHANGELOG_FILE that contains the location of the changelog xml, so builds with custom sync logic can modify it.
  • Added advanced option to disable syncing (for builds that need custom syncing logic in scripts)
  • Added advanced option for disabling client updating entirely (issue #5841).

Version 1.0.24 - (Mar 12, 2010)

  • Changed the automatically generated client name for slaves to use the hashcode of the slave name instead of the hostname, so that hosts running multiple slaves can sync correctly (issue #5917).
  • Fixed an issue where polling wouldn't work correctly if the client spec was recently changed (issue #5915).
  • Made matrix/multiconfiguration builds always force sync in order to overcome client workspace consistency issues.
  • Improved the readability of the online configuration help.
  • Added option to clean the entire workspace and resync before every build (issue #5182).
  • Fixed possible issue during build tagging when depot view contains spaces.
  • Fixed possible NPE that can occur during build tagging.

Version 1.0.23 - (Mar 5, 2010)

  • Adding support for parameters to the View and Label configuration fields. (issue #5690) Users can now use $
    Unknown macro: {PARAMNAME}
    to substitute values into the View and Label fields. If substitutions are present, however, polling will be disabled.
  • Fixed form validation false negatives when using certain browsers. (issue #5849).
  • Added support for "Wipe Out Workspace" and added new "Always Force Sync" option. (issue #5182).
  • Reverted form validation change (issue #5342). A better solution is in the works.
  • Added logger to PerforceMailResolver

Version 1.0.22 - (Feb 27, 2010)

  • Adding error reporting when 'Request too large' problems occur during changeset population and syncing.
  • Changed form validation to recognise depot-only view lines as being invalid to avoid confusion (issue #5343).
  • Applying fix provided by avolanis to resolve issue when using counters in downstream builds that are triggered by polling.

Version 1.0.21 - (Feb 19, 2010)

  • Adding additional logging for the email resolver to help troubleshoot issues some are having.
  • Added a retry to the email resolver commands.
  • Fixed an issue with the email resolver when running a linux slave on a windows master and vice versa (issue #5403)

Version 1.0.20 - (Feb 16, 2010)

  • Fixing major regression in change polling. (issue #5644) This reverts the change put in place for (issue #5545).

Version 1.0.19 - (Feb 13, 2010)

  • Fixed issue with p4 executable config parameter not being used properly for all perforce operations (issue #5506)
  • Changed requiresWorkspaceForPolling to allow polling to take place during a build (issue #5545)
  • Removed deprecated call to AbstractProject.getWorkspace
  • Added sanity check to cause perforce commands to fail immediately if the executable path doesn't point to an executable (used to cause hang on windows)
  • Added code that tries to clean-up pipes after a failure described above.
  • Added extra checking and robustness to perforcemailresolver to try and address issues people are having with email resolution.

Version 1.0.18 - (Feb 1, 2010)

  • Fixed issue with P4CLIENT environment variable passing in wrong value on slave machines. (issue #5332)
  • Adding '@' to revision field in labels during label generation. (issue #5398)
  • Added the ability to sync an entire build stream to a single changeset. (issue #4603)
  • Added an option to pass the perforce password into the environment as P4PASSWD.
  • Fixed a minor login bug in the tek42 perforce api.
  • Fixed an issue where the full path to the p4 executable was not being used in the tek42 perforce api.

Version 1.0.17 - (Jan 20, 2010)

  • Fixed minor bug with changelog items not saving correctly (issue #5217)
  • Replaced sun base64 encoder/decoder classes with apache commons codec (issue #4446)
  • Fixed setting of P4CLIENT in the build environment variables (issue #5317)

Version 1.0.16 - (Jan 4, 2010)

  • added common p4 variables to the build environment: P4PORT, P4USER, P4CLIENT
  • Cleaned up view mapping regular expressions, and how they were used to parse and check views.
  • Added automatic workspace path inference for the most common 1:1 depot:workspace paths.
  • Removed p4 retry loop since Hudson now has global SCM retry support.
  • Removed the p4java jar from the deps in the pom since it is not yet used by this version in the trunk.
  • (some of these may have been released in 1.0.15)

Version 1.0.15 - (Nov 19, 2009)

  • Reorganized the config controls for the Perforce plugin to gather most of the options into
    main groups of Setup, Depot and Project.
  • Updated the help as well.
  • Included P4Java jar in deps (unused for now)
  • Applied the patch provided by jmax01, to add new enum values for MOVE/ADD MOVE/DELETE operations (issue #4425)
  • Removed 'depot' instance variable that was being modified by multiple threads simultaneously, this allows perforce commands to be issued from the correct slave nodes.
  • Changed master matrix job to not alter the perforce client root, so that the child matrix job would get the update. (issue #1022)

Version 1.0.14 - (July ?, 2009)

Version 1.0.13 - (4/6/2009)

  • Fixed the configuration persistence issue (issue #2288)

Version 1.0.12 - (5/15/2008)

  • Fixed issue: 1163, Sync'ing on Hudson Slaves is now supported. Thanks go to Victor (vicsz).
  • Fixed issue: 1681, Labeling builds on JVMs earlier than 1.6 were failing.

Version 1.0.11 - (4/22/2008)

  • Fixed issue: 1313, Sync'ing to Perforce labels is now supported.
  • Added enhancement: 1374, Hudson user's email address is retrieved from Perforce user account if it exists.

Version 1.0.10 - (1/26/2008)

  • Fix issues: 1070, 1072, 1073/1100, 1092, 1093
    • Now supports changelists with purged files.
    • The current changelist number is available as an enviroment variable: P4_CHANGELIST. Thanks go to Eike and gerhard6.
    • Fixed changelist parsing with certain versions of Perforce, thanks go to Kiril.
    • Fixed il8n parsing of changelists, thanks go to gerhard6.
  • Using the latest P4Java version, 0.7.5.

Version 1.0.4 - (11/13/2007)

  • Support for polling/sync'ing with multiple views in a single workspace
  • Uses new P4Java version that supports Perforce security level 3
  • Fixed issue when prior build does not have any changes

Version 1.0.3 - (10/26/2007)

  • Fixed issue where the last sync'd changelist would be lost on a restart of Hudson. This resulted in the next build after a restart being marked as containing all prior changes.
  • Fixed issue with improper XML encoding of changelist history.
  • Fixed issue with invalid characters in XML of changelist history.
  • Fixed issue where a manual build would always be marked as failed if there were no new changes present.
  • Changed validation to allow project paths that start with something other than //depot/
  • Fixed problem with changelist icons not showing up on unix systems.
  • Fixed NPE on first build of a new project
  • Added ability to specify first change to record history from
  • Added ability to use workspace with custom views specified by end user.

Version 1.0 - (10/09/2007)

  • Support for repository browsing with P4Web and Fisheye
  • Support for tagging of builds (Referred to as Labels in Perforce, so that is what is used in the plugin)
  • Support for doing a force sync to head (allowing Hudson to bring down all project files)
  • Perforce security level 3 is supported on unix systems. Windows currently requires a workaround.
  • Fixed bug on unix systems where workspace root was incorrect.
  • Validation of Perforce settings is now done on configuration page.
  • The Perforce workspace (clientspec) descriptions are no longer lost after a build.

Version 0.9 - (10/04/2007)

  • Production ready release. Includes support for displaying change history. Perforce specific details, such as Jobs, are included in reporting.

Version 0.5 - (9/29/2007)

  • Initial release. Includes support for polling and synchronizing. Repository browsing and latest changes still to come. 

Disclaimer

As mentioned above, do NOT use the wiki comments to ask for support! If you have a question, you should ask the mailing list or the irc channel. You should also check the list of open issues on the issue tracker. Failing that, you can contact rpetti directly for assistance.

Labels:

plugin-scm plugin-scm Delete
tier3-compat-plugin tier3-compat-plugin Delete
tier3-hudson-plugin tier3-hudson-plugin Delete
Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.
  1. Oct 25, 2007

    Anonymous says:

    Nice! Have been waiting for Perforce support.

    Nice! Have been waiting for Perforce support.

  2. Feb 18, 2008

    Anonymous says:

    Nice plugin. Unfortunately this plugin (v1.0.10) can not check out from a label ...

    Nice plugin. Unfortunately this plugin (v1.0.10) can not check out from a label yet, see https://hudson.dev.java.net/servlets/BrowseList?list=dev&by=thread&from=976444

    1. Apr 22, 2008

      Mike Wille says:

      Version 1.0.11 now supports this.

      Version 1.0.11 now supports this.

  3. Feb 27, 2008

    Felipe Leme says:

    In my environment, when a file is deleted Hudson does not detect it. It might be...

    In my environment, when a file is deleted Hudson does not detect it. It might be a Perforce configuration issue, but thanks to Hudson's flexibility, I could provide a quick workaround by enabling the "Shell script" option and adding the following command:

    p4 sync "$PWD/..."

    (sure, it's a Unix-only trick, but I don't even consider running CI on Winblows

    1. Apr 22, 2008

      Mike Wille says:

      The Perforce plugin for Hudson interacts directly with the P4 client so there sh...

      The Perforce plugin for Hudson interacts directly with the P4 client so there should be no need to run this command. I wonder if the workspace is being used in multiple projects? It might be thinking the file was already removed when executed from the other project. Though it sounds like you are fine with it, this can be fixed if you wish to pursue it.

  4. Feb 28, 2008

    Anonymous says:

    Hi, Trying to use this plugin with our version of perforce (2003.2 56323), but ...

    Hi,

    Trying to use this plugin with our version of perforce (2003.2 56323), but am getting these error:Caught Exception communicating with perforce. Error in client specification. Error detected at line 7. Null directory (//) not allowed in '///...'.
    For Command: p4 -s client -i
    With Data:
    ===================
    Client:
    Description:
    Root: C:\Development\XP\CI\Hudson\jobs\Framework\workspace\
    Options:
    LineEnd:
    View:
    //depot/Framework/current/... ///...

    Why isnt there a clientspec name in the view definition?

    Thanks

    Mike 

    1. Apr 22, 2008

      Mike Wille says:

      This looks to be the same problem described here: https://hudson.dev.java.net/i...

      This looks to be the same problem described here:

      https://hudson.dev.java.net/issues/show_bug.cgi?id=1070

      I believe that 2003.x and earlier servers do something different that the Perforce library does not support. Unfortunately, the oldest version of Perforce I can get my hands on is 2005. So I can't even reproduce the problem.

      1. Jul 21, 2008

        Danny Aden says:

        I have run into a similar issue, with a different error message running P4 serve...

        I have run into a similar issue, with a different error message running P4 server version (Server 2006.1/109255.).

        I assumed this error meant that the client needed the environment variable P4CHARSET=utf8, but I have tried setting this in the environment variables with no luck and didn't see a way to specify it through the plugin.  I noticed that the client workspace appears to be null as the plugin tries to set the client view to ///... so it seems like this might be related.

         Here is the error from the logs:

        ======
        [workspace] $ p4 workspace -o bld-blbaker-a7-blaze-windows-continuous-hudson
        Changing P4 Client Root to: c:\tomcat6\webapps\hudson\jobs\blaze-continuous\workspace\
        Changing P4 Client View to: //blaze/trunk/... ///...
        [workspace] $ p4 -s client -i
        Caught Exception communicating with perforce. Unicode server permits only unicode enabled clients.
        ======
         Any ideas of what I am doing wrong?  I tried running "p4 -u bld -s client" from a comand prompt and it seems to work fine (-u bld is because I am running as a different p4 user than the user logged into the build box).

        Thanks,

        ~D

  5. Apr 18, 2008

    InstallGal says:

    Hello,  When building on a slave machine our code is being checked out on ...

    Hello,

     When building on a slave machine our code is being checked out on the master machine.  Is there anyway to get it to checkout to the slave machine?

     Thanks,

    Bila

    1. Apr 22, 2008

      Mike Wille says:

      Not yet, unfortunately. See this issue for updates: https://hudson.dev.java.ne...

      Not yet, unfortunately. See this issue for updates:

      https://hudson.dev.java.net/issues/show_bug.cgi?id=1163

  6. Nov 06, 2008

    LeoT says:

    Hi, Is it possible to name a build by latest change list number ? Is it possib...

    Hi,

    Is it possible to name a build by latest change list number ?

    Is it possible to add change list number to notification emails ?

  7. Jan 16, 2009

    mm says:

    Hi. hudson : ver1.270 p4.exe  P4/NTX86/2007.3/143793 (2008/01/21). perforc...

    Hi.

    hudson : ver1.270
    p4.exe  P4/NTX86/2007.3/143793 (2008/01/21).
    perforce_plugin :1.0.12

     When I tried to label a build , I get the following exception:

    --

    java.io.IOException: Failed to issue perforce label. Error in label specification. Error detected at line 5. Unknown field name 'Revision'.
    For Command: p4 -s label -i
    With Data:
    ===================
    Label: hoge-Build-57
    Owner:
    Description:
        Changelist: 106
    Revision: 106
    Options:
    View:
        //depot/...

    1. Feb 04, 2011

      Rajesh Kumar says:

      Hi, I am facing same issues. Do we have any work around for this??? _Labelling...

      Hi,

      I am facing same issues. Do we have any work around for this???

      _Labelling Build in Perforce using $

      Unknown macro: {JOB_NAME}

      -$

      Unknown macro: {BUILD_NUMBER}

      _
      [workspace] $ /opt/perforce/bin/p4 -s label -i
      Failed to issue perforce label. Error in label specification. Error detected at line 5. Unknown field name 'Revision'.
      For Command: /opt/perforce/bin/p4 -s label -i
      With Data:
      ===================
      Label: Hddddddddd-dd
      Owner:
      Description:
          Label automatically generated by Hudson Perforce Plugin.
      Revision: @164885
      Options:
      View:
          //edddddd/XXXXXXX/...

  8. Feb 23, 2009

    Christian Presslmayr says:

    Hi! I was looking for a fix of an issue in Perforce plugin, and I found out...

    Hi!

    I was looking for a fix of an issue in Perforce plugin, and I found out, that it has already been fixed in the source code, but it has NOT yet been published in a stable build. Please see my comment in issue #1100 (https://hudson.dev.java.net/issues/show_bug.cgi?id=1100). Further, I'm interested in getting the fix for issue #1745 (https://hudson.dev.java.net/issues/show_bug.cgi?id=1745), because I encountered the same problem.

    I am looking very much forward to a new stable build of the Perforce plugin - when will it be released?

    Or how can I access a snapshot-version (talking in Maven dialect) of the Perforce plugin?

    Thanks for your help,

    Chris

  9. Apr 08, 2009

    Brett Cashman says:

    The 1.0.13 release no longer appears to honor the Let Hudson Manage Workspace Vi...

    The 1.0.13 release no longer appears to honor the Let Hudson Manage Workspace View flag; Hudson always tries to manage the workspace view, even when the flag is deliberately unset, and as a result it can't cope with the Depot Path set to //... .  Had to revert to 1.0.12 of the plugin after this generated a series of build failures.

    1. May 12, 2009

      David Saff says:

      I'm having the same problem, Brett.  Did you log a bug I can vote on? &nbs...

      I'm having the same problem, Brett.  Did you log a bug I can vote on?

        David Saff

      1. May 21, 2009

        Brett Cashman says:

        David, didn't, sorry. But if you log one, I'll vote for it.

        David, didn't, sorry. But if you log one, I'll vote for it.

  10. Jun 04, 2009

    Dietmar Steinberger says:

    I installed the Trac Plugin and wanted to set "Trac" for the "Repository browser...

    I installed the Trac Plugin and wanted to set "Trac" for the "Repository browser" setting in the Source Code Management section for Perforce but it is not available (it is available for the SVN SCM)

    How  can Trac be added there (P4Web and FishEye are available) or has it to be implemented which would be nice if you could do

  11. Jul 23, 2009

    chirag dave says:

    Hi! All, I'm trying to use perforce plugin for setting up my contineous bui...

    Hi! All,

    I'm trying to use perforce plugin for setting up my contineous build environment.

    The worst part here is i am not getting any error from perforce plugin so that i can debug that where am i going wrong in configuring environment.

    I am following steps described in this tutorial.

    whenever it invokes perforce plugin logs shows up  onlyStarted on Jul 23, 2009 2:23:37 PM
    Looking for changes...
    Using master perforce client: chirag.dave_hudson
    [workspace] $ p4 workspace -o chirag.dave_hudson
    and hangs up. 

    I am using hudson 1.314

    and perforce :- 1.0.14

    Perforce client version - 2008.1/158777

    Here is the configuration data that i have been trying.

    [perforce_plugin_err.bmp]

    Any help will be appreciated.

    Thanks,

    Dave. 

    1. Aug 06, 2009

      Chris Hilton says:

      It looks like your view specification is incomplete. Click on the question mark ...

      It looks like your view specification is incomplete. Click on the question mark to the right and you'll see that your view should include depot and workspace file specs.

  12. Aug 06, 2009

    Chris Hilton says:

    On another note, I'm just getting started on Hudson and wonder how is the FishEy...

    On another note, I'm just getting started on Hudson and wonder how is the FishEye integration supposed to work? My project has a view like this:

    //depot/userbranches/ulfertsm-main/main/... //hudson_ulfertsm-main-DEVBUILD-HUDSON-V/...
    
    //depot/zpm/main/build/new-nightly/bamboo/local-product.properties //hudson_ulfertsm-main-DEVBUILD-HUDSON-V/local.properties
    
    //depot/3rdparty/jboss/4.2.3/... //hudson_ulfertsm-main-DEVBUILD-HUDSON-V/jboss/...
    

    And I've defined the FishEye URL as "http://devtools2-v.austx.zilliant.com/browse/Zilliant_Perforce/", the top of the Perforce depot which may or may not be correct (I'm mostly interested in being able to see files under the userbranch above). I do end up with hyperlinked files in the changes area, but a file like this:

     //depot/userbranches/ulfertsm-main/main/policymgt/optimization/server/product/config/pricingDocumentDefinitions/optimization/EngineRecommendations.xml
    

    ends up with a link like this:

     http://devtools2-v.austx.zilliant.com/depot/userbranches/ulfertsm-main/main/policymgt/optimization/server/product/config/pricingDocumentDefinitions/optimization/EngineRecommendations.xml
    

    Which doesn't work nor any URL that begins with depot after the server. The URL I might have expected Hudson to make that does work is:

     http://devtools2-v.austx.zilliant.com/browse/Zilliant_Perforce/userbranches/ulfertsm-main/main/policymgt/optimization/server/product/config/pricingDocumentDefinitions/optimization/EngineRecommendations.xml
    

    So is this something wrong with my configuration or with the plugin?

    1. Feb 01, 2011

      Simon Cox says:

      Did you ever resolve this? We're seeing a similar issue.

      Did you ever resolve this? We're seeing a similar issue.

  13. Sep 16, 2009

    adrian says:

    Hi, Perforce is strongly being used in our build processes @ EA. I was able to c...

    Hi, Perforce is strongly being used in our build processes @ EA. I was able to configure the Perforce plugin in hudson but really need to be able to just sync a certain directory of the current workspace like in the Perforce front end. So multiple Hudson jobs would share a workspace but "filtering"it to just get a single unique directory.

    Could that be handled by adding some options to the p4.exe called by the client? (wrapping the call with another script for instance). If not where I could place this request?

    thanks 

  14. Oct 02, 2009

    Nicholas Folts says:

    I recently updated to Hudson 1.326 from 1.299... I also update to the latest per...

    I recently updated to Hudson 1.326 from 1.299... I also update to the latest perforce plugin, and now, although some projects work, others do not... In my catalina log I get the following error (over and over again):

    com.thoughtworks.xstream.converters.reflection.NonExistentFieldException: No such field hudson.plugins.perforce.PerforceSCM.nodeSuffix
            at com.thoughtworks.xstream.converters.reflection.FieldDictionary.field(FieldDictionary.java:106)
            at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.getFieldType(PureJavaReflectionProvider.java:152)
            at hudson.util.RobustReflectionConverter.determineType(RobustReflectionConverter.java:327)
            at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:218)
            at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:173)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
            at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
            at hudson.util.RobustReflectionConverter.unmarshallField(RobustReflectionConverter.java:262)
            at hudson.util.RobustReflectionConverter.doUnmarshal(RobustReflectionConverter.java:222)
            at hudson.util.RobustReflectionConverter.unmarshal(RobustReflectionConverter.java:173)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
            at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
            at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
            at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
            at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
            at hudson.util.XStream2.unmarshal(XStream2.java:67)
            at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
            at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
            at hudson.XmlFile.read(XmlFile.java:126)
            at hudson.model.Items.load(Items.java:106)
            at hudson.model.Hudson$9.call(Hudson.java:1995)
            at hudson.model.Hudson$9.call(Hudson.java:1988)
            at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
            at java.util.concurrent.FutureTask.run(FutureTask.java:138)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:619)
    Oct 2, 2009 12:03:00 PM hudson.util.RobustReflectionConverter doUnmarshal

    What do I need to do to make this work? Is there a newer version in the works?

  15. Oct 05, 2009

    Sri Bolle says:

    Information is showing lot of success stories of Perforce integration with Hudso...

    Information is showing lot of success stories of Perforce integration with Hudson but I have issues while setting up as Master/Slave configuration. I am getting following exception:

    [workspace] $ p4 workspace -o
    Caught Exception communicating with perforce. Connect to server failed; check $P4PORTcom.tek42.perforce.PerforceException: Connect to server failed; check $P4PORT
    at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:324)
    at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:699)
    at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:295)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:973)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:400)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:349)
    at hudson.model.Run.run(Run.java:1120)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:123)

  16. Oct 12, 2009

    hanjun.ryu says:

    I'd find critical defect using linux master with linux slave ( Ubuntu 9.04 64bit...

    I'd find critical defect using linux master with linux slave ( Ubuntu 9.04 64bit ).
    Both of perforce version 1.0.13 & 1.0.14 has this problem when using perforce.hpi.
    ===========================================================================================================================
    Using shared perforce client: (my_client_workspace_name)
    Caught Exception communicating with perforce. No output for: p4 workspace -o (my_client_workspace_name) com.tek42.perforce.PerforceException: No output for: p4 workspace -o SE_SCM_TEST_USER_1
    at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:326)
    at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:1417)
    at hudson.plugins.perforce.PerforceSCM.getWorkspaceFull(PerforceSCM.java:397)
    at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:343)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:978)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:421)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:370)
    at hudson.model.Run.run(Run.java:1120)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:123)
    =========================

  17. Oct 12, 2009

    hanjun.ryu says:

    ..
  18. Nov 10, 2009

    Julian Haslinger says:

    Hi! First of all, let me thank you for this nice plugin. However, there is...

    Hi!

    First of all, let me thank you for this nice plugin.

    However, there is one thing that doesn't work as expected: From time to time the plugin won't check out (e.g. get latest version) all the changed files in a directory.

    There are, for example, two files that have been changed in the latest submitted changelist:

    - file1.build

    - file2.vbs

    The perforce plugin, however, only detects the .build-file as being changed - the other file won't be checked out by the plugin at all!

    What can I do? Can you give me some advice or maybe some hints?

    Best Regards,

    Julian

    1. Feb 01, 2010

      Bobbi Newman says:

      Hi, We are seeing the same issue.  In our case the file that won't update ...

      Hi,

      We are seeing the same issue.  In our case the file that won't update is pom.xml.  A one-time force sync resolved the issue, but we are wondering about why it appears to be happening and what we can do to avoid it in the future.

      Any information would be greatly appreciated!

      Thanks,

      Bobbi

      1. Feb 16, 2010

        Judith Bürgstein says:

        In Mr. Haslinger's case the problem was wrong configuration. They used the same ...

        In Mr. Haslinger's case the problem was wrong configuration. They used the same clientspec for several jobs/hudson slaves. Maybe that's your problem too?

        Regards,
        Judith

  19. Nov 20, 2009

    Ben Tomasini says:

    Hi, Thanks for this plugin.  When I try to congiure it, I get this below t...

    Hi,

    Thanks for this plugin.  When I try to congiure it, I get this below the workspace name:

    "Unable to check workspace against depot"

    When I run the job, this repeats over and over.  I have the depot working fine from my command line.
    Using master perforce client: btomasini-ws-hudson
    [workspace] $ p4 workspace -o btomasini-ws-hudson
    Caught Exception communicating with perforce. Connect to server failed; check $P4PORTcom.tek42.perforce.PerforceException: Connect to server failed; check $P4PORT
    at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:324)
    at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:649)
    at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:260)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1005)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:431)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:378)
    at hudson.model.Run.run(Run.java:1176)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:304)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:123)

    1. Nov 24, 2009

      Pip says:

      I had the same issue, which was resolved by ensuring that perforce was in the sy...

      I had the same issue, which was resolved by ensuring that perforce was in the system path (ie you could run p4 from any command window - for some reason the P4 installer hadn't set this on my system) and ensuring that perforce had also set the P4PORT and P4CLIENT environment variables (ie ensure you have a default clientspec). Don't know which one it was. But Hudson no longer sits in an infinite p4 workspace -o loop for me.

  20. Jan 11, 2010

    Joris Geuens says:

    I've installed the latest version of Hudson in combination with the latest versi...

    I've installed the latest version of Hudson in combination with the latest version of the Perforce Plugin, but I can't getting it to work. This is my output :

    Started by user anonymous
    Using master perforce client: HUDSON-BUILD
    [workspace] $ p4 workspace -o HUDSON-BUILD
    Caught exception communicating with perforce. No output for: p4 workspace -o HUDSON-BUILD com.tek42.perforce.PerforceException: No output for: p4 workspace -o HUDSON-BUILD
        at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:322)
        at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
        at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:670)
        at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:293)
        at hudson.model.AbstractProject.checkout(AbstractProject.java:1013)
        at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:486)
        at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:412)
        at hudson.model.Run.run(Run.java:1179)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:122)
    Finished: FAILURE

    My environment is : Ubuntu Linux 8.04.3 - 64 bit / Hudson 1.3339 / Perforce plugin 1.0.16

    Also the configuration of a project gives problems : I always get the message "Unable to check workspace against depot", but my "p4" executable is available for all users on the system.

    1. Jan 13, 2010

      Peter Yamamoto says:

      try running the command that is failing yourself. You may see a perforce error m...

      try running the command that is failing yourself. You may see a perforce error message that indicate the problem. That's what happened to me the first time I setup a workspace/job (I can't remember what my error was but I know I figured it out from the p4 error message).

  21. Jan 14, 2010

    Levon Stepanian says:

    Where can I file a request for the Perforce plugin to provide a way to consume a...

    Where can I file a request for the Perforce plugin to provide a way to consume a Hudson property when specifying the View in the plugin GUI. In the current version (1.0.16), the Perforce View requires you to specify both the depot-location and local-workspace as such:

    //depot-location/... //local-workspace-view-of-depot

    I'd like to be able to define my own Hudson properties some.property and some.other.property, and have them consumed by the Perforce plugin:

    //some.property //some.other.property

    A colleague of mine mentioned there are other Hudson plugins which consume Hudson properties as I've described, and makes the Perforce plug-in a lot more robust.

    1. Jan 14, 2010

      oeuftete says:

      The Hudson JIRA (perforce component) would be where to raise this.

      The Hudson JIRA (perforce component) would be where to raise this.

  22. Jan 27, 2010

    Peter Yamamoto says:

    I used this on one mac without any issues. But when I tried on a second mac, set...

    I used this on one mac without any issues. But when I tried on a second mac, set up identically (afaict), when a build starts it just hangs. when I abort the build I see this call stack (interrupted by my abort):

    at java.lang.Object.wait(Native Method)
    at java.lang.Object.wait(Object.java:474)
    at hudson.slaves.WorkspaceList.acquire(WorkspaceList.java:173)
    at hudson.slaves.WorkspaceList.acquire(WorkspaceList.java:161)
    at hudson.slaves.WorkspaceList.allocate(WorkspaceList.java:129)
    at hudson.model.AbstractBuild$AbstractRunner.decideWorkspace(AbstractBuild.java:391)
    at hudson.model.FreeStyleBuild$RunnerImpl.decideWorkspace(FreeStyleBuild.java:56)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:405)
    at hudson.model.Run.run(Run.java:1198)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:122)

    I don't know how to start to debug this!? The perforce info was accepted (eg no red message about not being able to view/read the workspace).

    How can I get more info to debug? Is this a perforce plugin issue or a hudson issue (or combination?).

    Any help/suggestions appreciated.
    Peter

    1. Jan 28, 2010

      Peter Yamamoto says:

      I deleted the project, and afaik entered the same info/setup, but this time it w...

      I deleted the project, and afaik entered the same info/setup, but this time it worked!-P

  23. Jan 28, 2010

    Peter Yamamoto says:

    Feature request for Perforce plugin (where is the best place to post this?): "Ch...

    Feature request for Perforce plugin (where is the best place to post this?): "Changelist to sync to"

    I may take a stab at looking at the source, but for now, I'll request somebody else do this for me!-)

    Rather than a label (which some have reported doesn't work), I'd like to be able to manually specify a changelist number to be used for the sync and build. Seems like it would be close to the label option, hopefully somebody else would find this useful?

    Peter

    1. Jul 27, 2010

      Sean Houghton says:

      This would be extremely useful. Now that this plugin supports parameter substit...

      This would be extremely useful.

      Now that this plugin supports parameter substitution in the view I expected I could just append the following to the view spec

      //depot/MyProject/...@${CHANGELIST_TO_SYNC_TO}
      

      ... but the plugin tries to be smart about it and moves the option into the "Sync to label" field automatically.

      In the meantime you have to disable automatic syncing add the following shell command task

      p4.exe sync @%CHANGELIST_TO_SYNC_TO%
      

      This works, but unfortunately prevents the changelist view from working.

  24. Jan 28, 2010

    Peter Yamamoto says:

    I used copy project to start a new project (workspace). It's a complete branch o...

    I used copy project to start a new project (workspace). It's a complete branch of an existing project so the only thing to change was the perforce workspace name. Everything seems to work but the perforce plugin section says that the workspace does not exist (even though it does). I'm wondering if this is because of creating the project via copy project or something?

    1. Feb 09, 2010

      Haggai Philip Zagury says:

      Considering the fact Hudson can manage the workspace for you and you didn't have...

      Considering the fact Hudson can manage the workspace for you and you didn't have a pre-configured workspace for the protect during job configuration hudson displays an error.
      If it's the first time don't worry about it just make sure to have the "One Time Force Sync" chekcbox selected and you are good to go.

      Another option which seems the wrong way to go - is to use your P4 desktop client create a workspace and add it to hudson this will prevent the error message.

  25. Feb 05, 2010

    Clint Wong says:

    I am using Hudson 1.343 with the Perforce plugin 1.0.18, and the value for "Path...

    I am using Hudson 1.343 with the Perforce plugin 1.0.18, and the value for "Path to p4 executable" now requires "p4.exe" to be appended to the path.  Was this change intended?

  26. Feb 05, 2010

    Clint Wong says:

    Is there a way to make the plugin perform a force sync every time a build is sta...

    Is there a way to make the plugin perform a force sync every time a build is started?

    1. Mar 24, 2010

      John Bolton says:

      The latest version of the plug-in allows you to configure each job to perform a ...

      The latest version of the plug-in allows you to configure each job to perform a full sync for each build. The option name is "always force sync".

  27. Feb 07, 2010

    Haggai Philip Zagury says:

    Enhancement wish / request I am using Perforce with multiple views whilst a cer...

    Enhancement wish / request

    I am using Perforce with multiple views whilst a certain area of the view has build related tools for example:
    //depot/Common/Infra/JEE/ver1.0/... //Infra-JEE-ver1.0-site/...
    //depot/Configuration/cm/... //Infra-JEE-ver1.0-site/cm/...

    If I change something in path: //depot/Configuration/cm/ all SCM triggered builds are queued for build is there a way to exclude changes by path e.g like in subversion plugin see example screenshot:

  28. Feb 11, 2010

    Peter Yamamoto says:

    I don't know if this is a plugin question or hudson api question but I noticed t...

    I don't know if this is a plugin question or hudson api question but I noticed that the email extension has some replace macros/variables one of which is CHANGES so that you can embed the changelists. It would be nice if similar things could be exposed to the batch scripts eg the changelist it is syncing to, list of changes, etc

    1. Feb 25, 2011

      Dan Boger says:

      Yeah, that would be very useful.

      Yeah, that would be very useful.

  29. Feb 15, 2010

    Rory says:

    After updating to 1.0.19, it seems to have lost the ability to poll the perforce...

    After updating to 1.0.19, it seems to have lost the ability to poll the perforce server. Is there a way to get at the previous version again?

    Oh, it syncs fine if I schedule the build manually by the way. I see this in the log:

    Feb 15, 2010 7:52:22 PM hudson.triggers.SCMTrigger$Runner runPolling
    SEVERE: Failed to record SCM polling
    java.lang.NullPointerException
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:739)
    at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:538)
    at hudson.scm.SCM.poll(SCM.java:344)
    at hudson.model.AbstractProject.poll(AbstractProject.java:1150)
    at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:319)
    at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:346)
    at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

    1. Mar 24, 2010

      John Bolton says:

      I ran into a problem where the latest Perforce plug-in doesn't work for me. I di...

      I ran into a problem where the latest Perforce plug-in doesn't work for me. I discovered that each time a Hudson plug-in is upgraded, the previous one is renamed to *.bak. The plug-ins are stored in %HUDSON_HOME%\plugins.You can simply stop the Tomcat server, go into that directory, delete perforce.hpi and it's directory, rename perforce.bak to perforce.hpi, and finally restart Tomcat, or whatever your Java server is.

  30. Feb 15, 2010

    Alexey N. Solofnenko says:

    It looks like the plugin uses master's P4 path on a slave (master is 64 bit Wind...

    It looks like the plugin uses master's P4 path on a slave (master is 64 bit Windows, but slaves are 32 bit). This is what I get after few recent updates:

    [XXX] $ "C:\Program Files (x86)\Perforce\p4.exe" workspace -o YYY
    Caught exception communicating with perforce. No output for: C:\Program Files (x86)\Perforce\p4.exe workspace -o YYY
    com.tek42.perforce.PerforceException: No output for: C:\Program Files (x86)\Perforce\p4.exe workspace -o YYY
    at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:336)
    at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:723)
    at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:330)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1024)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
    at hudson.model.Run.run(Run.java:1198)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:122)
    Archiving artifacts
    Sending e-mails to: ZZZ
    Finished: FAILURE

  31. Feb 21, 2010

    Rory says:

    Thanks for fixing that previous issue so quickly. I have another problem though ...

    Thanks for fixing that previous issue so quickly. I have another problem though now. I'm using just one perforce workspace and allowing Hudson to change the view according to the current job. The problem is that it doesn't force the sync to the changelist for each job. This means that one job will sync correctly to the changelist number, but the next one won't get any files since perforce thinks that the workspace is up to date.

    How do I work around this? I'm using the free perforce, so I only have 5 workspaces to use.

    1. Mar 24, 2010

      John Bolton says:

      The latest Perforce plugin (1.0.25) has an option to "always force sync" for eac...

      The latest Perforce plugin (1.0.25) has an option to "always force sync" for each project. This should workaround your issue problem.

  32. Mar 08, 2010

    amit pugalia says:

    Hi, I upgraded Hudson as well as Perforce to 1.349 and 1.023 respectively. Hud...

    Hi,

    I upgraded Hudson as well as Perforce to 1.349 and 1.023 respectively.

    Hudson syncs in a maven project from Perforce server and my build process depends on the pom.xml which was synced recently.

    But to my surprise, the pom.xml gets deleted every time I trigger a build, to sync latest from Perforce. This makes my build fail due to unavailability of the pom.xml.

    Please help as this crucial for my project needs.

    1. Mar 08, 2010

      amit pugalia says:

      I tried with the older versions till 1.011 but I still face the same issue.

      I tried with the older versions till 1.011 but I still face the same issue.

  33. Mar 16, 2010

    Clint Wong says:

    I have Hudson 1.351 and the Perforce plugin 1.0.24 installed.  Is there a l...

    I have Hudson 1.351 and the Perforce plugin 1.0.24 installed.  Is there a limit to the length of the string used for the client name?  I had a client named "TEST-CI-cmo-app-main-master", and when the system attempted to poll perforce for changes (in a master slave environment), I got the following error:

    [TEST-CI-cmo-app-main] $ c:\\perforce
    p4.exe changes -m 2 //TEST-CI-cmo-app-main-master-854888031/...
    ERROR: Failed to record SCM polling
    java.lang.NumberFormatException: For input string: "-"
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
        at java.lang.Integer.parseInt(Integer.java:474)
        at java.lang.Integer.<init>(Integer.java:620)
        at com.tek42.perforce.parse.Changes.getChangeNumbers(Changes.java:144)
        at hudson.plugins.perforce.PerforceSCM.needToBuild(PerforceSCM.java:663)
        at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:570)
        at hudson.scm.SCM.poll(SCM.java:370)
        at hudson.model.AbstractProject.poll(AbstractProject.java:1153)
        at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:330)
        at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:359)
        at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)

    I changed the client name in the job configuration to "T-CI-cmo-app-main", and the polling error went away.

    1. Mar 16, 2010

      Haggai Philip Zagury says:

      Are you building on a Hudson master or a Hudson slave. If it's on a slave I not...

      Are you building on a Hudson master or a Hudson slave.

      If it's on a slave I noticed the same issue until I updated the salve.jar which solved the issue.

  34. Mar 24, 2010

    John Bolton says:

    I have been unable to upgrade to the latest version of the P4 Hudson plugin.Perf...

    I have been unable to upgrade to the latest version of the P4 Hudson plugin.Perforce plug-in version 1.0.15 is the last version that seems to work. As soon as I upgrade (everything works fine beforehand), I see the following error in the job configuration view: "Unable to check workspace against depot"

    Tomcat log shows:


    hudson home directory: c:\src\hudson
    Green Balls!
    93 [Handling GET /hudson/scm/PerforceSCM/validatePerforceLogin : http-8080-2] INFO perforce - Executing: C:\Program Files\Perforce counter change
    109 [Handling GET /hudson/scm/PerforceSCM/validateP4Client : http-8080-2] INFO perforce - Executing: C:\Program Files\Perforce counter change
    156 [Handling GET /hudson/scm/PerforceSCM/checkChangeList : http-8080-3] INFO perforce - Executing: C:\Program Files\Perforce counter change
    10186 [Handling GET /hudson/scm/PerforceSCM/validateP4Client : http-8080-3] INFO perforce - Executing: C:\Program Files\Perforce counter change
    Problem: Could not run perforce command.
    com.tek42.perforce.PerforceException: Could not run perforce command.
        at hudson.plugins.perforce.HudsonP4Executor.exec(HudsonP4Executor.java:83)
        at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:289)
        at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
        at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:835)
        at hudson.plugins.perforce.PerforceSCM.pollChanges(PerforceSCM.java:632)
        at hudson.scm.SCM.poll(SCM.java:370)
        at hudson.model.AbstractProject.poll(AbstractProject.java:1153)
        at hudson.triggers.SCMTrigger$Runner.runPolling(SCMTrigger.java:330)
        at hudson.triggers.SCMTrigger$Runner.run(SCMTrigger.java:359)
        at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.IOException: Cannot run program "C:\Program Files\Perforce" (in directory "c:\src\hudson\jobs\PA_for_UC_9.0.0_Windows_Incremental\workspace"): CreateProcess error=5, Access is denied
        at java.lang.ProcessBuilder.start(Unknown Source)
        at hudson.Proc$LocalProc.<init>(Proc.java:149)
        at hudson.Proc$LocalProc.<init>(Proc.java:121)
        at hudson.Launcher$LocalLauncher.launch(Launcher.java:633)
        at hudson.Launcher$ProcStarter.start(Launcher.java:268)
        at hudson.plugins.perforce.HudsonP4Executor.exec(HudsonP4Executor.java:74)
        ... 15 more
    Caused by: java.io.IOException: CreateProcess error=5, Access is denied
        at java.lang.ProcessImpl.create(Native Method)
        at java.lang.ProcessImpl.<init>(Unknown Source)
        at java.lang.ProcessImpl.start(Unknown Source)
        ... 21 more
    42057 [Handling GET /hudson/scm/PerforceSCM/validatePerforceLogin : http-8080-3] INFO perforce - Executing: C:\Program Files\Perforce counter change
    43102 [Handling GET /hudson/scm/PerforceSCM/validatePerforceLogin : http-8080-3] INFO perforce - Executing: C:\Program Files\Perforce counter change
    48328 [Handling GET /hudson/scm/PerforceSCM/validatePerforceLogin : http-8080-3] INFO perforce - Executing: C:\Program Files\Perforce counter change
    48344 [Handling GET /hudson/scm/PerforceSCM/validatePerforceLogin : http-8080-3] INFO perforce - Executing: C:\Program Files\Perforce counter change
    52603 [Handling GET /hudson/scm/PerforceSCM/checkChangeList : http-8080-3] INFO perforce - Executing: C:\Program Files\Perforce counter change
    Could not get effective client name: null
    Exception in thread "Executor #0 for Linux Build Machine" java.lang.NullPointerException
        at hudson.model.Computer.getNode(Computer.java:385)
        at hudson.slaves.SlaveComputer.getNode(SlaveComputer.java:138)
        at hudson.slaves.SlaveComputer.getRetentionStrategy(SlaveComputer.java:436)
        at hudson.slaves.SlaveComputer.taskCompletedWithProblems(SlaveComputer.java:238)
        at hudson.model.Executor.run(Executor.java:138)


    The Perforce client works just fine when I revert the plug-in back to its previous version. Nothing has changed on the system during the upgrade other than the Perforce plug-in.

    I am using Hudson version 1.352 on Windows 2008 R2, Tomcat 6.0.20, Perforce client is 2009.2, Perforce server is 2009.2.

    Ideas?

    Thanks,

    John

    1. Mar 24, 2010

      John Bolton says:

      One note, JDK is 1.6U16, 64-bit. We're also using the 64-bit platform Tomcat bin...

      One note, JDK is 1.6U16, 64-bit. We're also using the 64-bit platform Tomcat binary files, and of course Windows 2008 R2 is 64-bit only.

  35. Apr 06, 2010

    Steven Nemetz says:

    Version 1.0.27 - (Apr 5, 2010) Adding the LineEnd field broke all my builds It ...

    Version 1.0.27 - (Apr 5, 2010) Adding the LineEnd field broke all my builds

    It appears that it is now sending the LineEnd option whether it has been set or not. When it sends it without a valid value perforce returns an error and the build fails.

    Please update to only send the LineEnd field if it has been set in hudson.

    Also, it would be nice to set this globally, instead of having to define it in every job.

    Thanks,

    Steven

    1. Apr 06, 2010

      Chris Pasillas says:

      Yes, I find that a release of this plugin breaks all of our builds about every 3...

      Yes, I find that a release of this plugin breaks all of our builds about every 3 months.  I recommend upgrading with extreme caution.

      A couple examples:

      -Perforce user's password is now encrypted (issue #2499, issue #3302)

      *The change didn't encrypt current passwords, it just assumed they were all now incorrect since they don't decrypt correctly.

      -Added automatic workspace path inference for the most common 1:1 depot:workspace paths.

      *The maven pom.xml I was referencing was no longer in the root of the workspace, so all maven builds failed

  36. May 06, 2010

    Todd Zarnes says:

    Anybody having any problems with this latest release on Hudson 1.355?  I li...

    Anybody having any problems with this latest release on Hudson 1.355?  I like to upgrade to the Hudson pre release and the latest P4Plugin.  Running on Linux with no nodes.

  37. Jun 13, 2010

    Haggai Philip Zagury says:

    A great addition would be to be able and name the workspace with a variable, for...

    A great addition would be to be able and name the workspace with a variable, for exmaple "hudson_$JOB_NAME"

    What happens today is I am managing over 80 different perforce workspaces for our hudson instance, and when copying a job I need to "remember" to change the client name and unless I do so I corrupt two builds the new one and the old one with the same workspace name.

    This also means I never have to configure the workspace name once I set this param - my build is good to go ...

    I tried the following - which I presume isn't supported

  38. Jul 09, 2010

    Lemuel Typhair says:

    I am creating a matrix project to compile on windows and ubuntu. How do I speci...

    I am creating a matrix project to compile on windows and ubuntu. How do I specify the p4 binary location?

    1. Jul 09, 2010

      John Bolton says:

      Specify the full path including the binary. For example, /usr/bin/p4 or C:\Pro...

      Specify the full path including the binary.

      For example, /usr/bin/p4 or C:\Program Files\Perforce\p4.exe.

      1. Jul 09, 2010

        Lemuel Typhair says:

        Right that's how you would do it on a single os build. In a matrix project I ca...

        Right that's how you would do it on a single os build. In a matrix project I can tie the build to two slaves, one unix and the other windows. The perforce section asks for a p4 path. The p4 path is different on each os. So is it possible to enter two locations, leaving "Path to p4 executable" blank will not pick it up from the path. It seems to use a environment variable at execute time. Maybe a environment variable can be set per node, so if you leave it blank it picks up the environment variable...

        1. Jul 09, 2010

          John Bolton says:

          Sorry I somehow missed that. I don't know the answer.

          Sorry I somehow missed that. I don't know the answer.

        2. Sep 06, 2010

          Haggai Philip Zagury says:

          If p4 exec is in the path of both windows and linux machines all you have to spe...

          If p4 exec is in the path of both windows and linux machines all you have to specify is p4 which will work for you.

          1. Dec 30, 2010

            Judith Bürgstein says:

            That doesn't work for me. We have windows slaves with perforce installed in diff...

            That doesn't work for me. We have windows slaves with perforce installed in different locations (e.g. c:/program files/p4.exe and e:/program files/p4.exe). The Perforce directory is already in the PATH but it still says "No output for: C:\Program Files\\Perforce
            p4.exe workspace -o xxxx-1970421364 " when executed on the machine with perforce installed on E drive.
            Is there any other chance as to install perforce in the same location on every slave?

  39. Aug 26, 2010

    Krzysztof Oblucki says:

    I am developing a plugin that needs changelist number and the changelist owner b...

    I am developing a plugin that needs changelist number and the changelist owner but can't quite figure out how to get the last PerforceChangeLogEntry.  Could anyone help?

    Nevermind.  I must have been blind.

  40. Sep 21, 2010

    S Ash says:

    Is there a way to get an email (or other alert trigger) when the Perforce Pollin...

    Is there a way to get an email (or other alert trigger) when the Perforce Polling has failed? When someone changes the password, but forgets to update the P4PASSWD in Hudson, everything looks good on the surface, but no new builds are made since Hudson can't sync new source but it doesn't notify anyone that there is a problem.

    ---
    [workspace] $ /usr/bin/p4 workspace -o hudson
    [workspace] $ /usr/bin/p4 login -p
    [workspace] $ /usr/bin/p4 login -p
    Caught exception communicating with perforce. Login attempt failed: Password invalid.com.tek42.perforce.PerforceException: Login attempt failed: Password invalid.
    at com.tek42.perforce.parse.AbstractPerforceTemplate.p4Login(AbstractPerforceTemplate.java:488)
    at com.tek42.perforce.parse.AbstractPerforceTemplate.login(AbstractPerforceTemplate.java:430)
    at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:329)
    at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:53)
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:951)
    at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:499)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1061)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
    at hudson.model.Run.run(Run.java:1272)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:129)
    ---

  41. Sep 24, 2010

    Bobbi Newman says:

    Has anyone seen the following behavior:  If I navigate into a job and click...

    Has anyone seen the following behavior:  If I navigate into a job and click on "Recent Changes", some comments that were supplied in Perforce do not show up.  The changelist, author, date all show up fine.  I have checked the comments from the p4 command line to make sure the whitespace is correct; I have compared them to other comments that do show up and cannot find any kind of whitespace difference.  This particular project also generates a maven site, and in the maven site, the comments show up.  It appears to be isolated to one user, but does not always happen to that user.  I also tried a completely different browser after re-doing the whitespace to be sure that it wasn't a whitespace issue and that it wasn't cached in the browser...no change.  The comments were submitted via P4V, but so were the ones that show up for this user.  Most other users in our environment use either Eclipse or the command line client.  The comments are definitely there, as shown by running p4 changes from the command line as well as p4 change -o <specific changelist number> (and looking at them from P4V, too). 

    Any ideas?

    Thanks.

    1. Oct 07, 2010

      Rob Petti says:

      They're probably inserting something into their comments that the perforce plugi...

      They're probably inserting something into their comments that the perforce plugin doesn't like. I recently fixed a problem where using reserved phrases (Such as "Job fixed" and "Affected files) will cause the changeset parsing to fail. If you are still having this issue with 1.1.10, please file a bug.

      I'll also note that the wiki page is a bad place to ask for help. Either ask the newsgroup, irc, or failing both of those you can email me directly.

  42. Oct 20, 2010

    David Kuo says:

    Are there any plans in future releases to allow the plugin to get the changes wi...

    Are there any plans in future releases to allow the plugin to get the changes without having to sync?

    1. Oct 21, 2010

      Rob Petti says:

      What use would that have? If you really want to do it, you might be able to pull...

      What use would that have? If you really want to do it, you might be able to pull it off by having an empty client view, with the view mask set to the changes you want to pull into the changelog. Keep in mind that polling might not work if you do this.

      1. Oct 26, 2010

        David Kuo says:

        I just prefer to have the management and syncing of clientspecs handled through ...

        I just prefer to have the management and syncing of clientspecs handled through scripts instead of the "Poll SCM" feature in multiple-configuration projects. I like the change history that the plugin generates in Hudson so I would really like to get this to work without having to sync files.

        1. Oct 29, 2010

          Rob Petti says:

          Fair enough.

          Fair enough.

  43. Nov 01, 2010

    Paul Marquardt says:

    We're starting to link change submissions to Perforce Jobs. I see the Job listed...

    We're starting to link change submissions to Perforce Jobs. I see the Job listed under "View Details" for the Hudson job. But if a change is linked to more than one Job, which Perforce allows, only one Job is displayed in the Hudson Job details. Some questions:

    Has anyone seen this behavior?

    Is there something I can do in our Hudson config to correct it?

    Does anyone know if it's fixed in a specific version of the Perforce plugin?

    Thanks!

    Paul M.

  44. Dec 03, 2010

    Lester Pimentel says:

    I'd like to be able to use the Perforce label generated from this plugin as a pa...

    I'd like to be able to use the Perforce label generated from this plugin as a parameter for a downstream job. Is this accessible as an environment variable I can pass to the downstream job?

    Thanks,
    Lester

  45. Dec 08, 2010

    Peter Yamamoto says:

    I added a comment to http://issues.hudson-ci.org/browse/HUDSON-2678 which doesn'...

    I added a comment to http://issues.hudson-ci.org/browse/HUDSON-2678 which doesn't seem fixed.
    I also added a description of how I'd like to use the poll/sync behavior. Is it so strange?

    I would think a lot of people moving current build scripts to hudson would be starting in a similar situation (where the scripts are already perforce and changelist aware and base actions on their own results of doing these operations) and it's not that easy to extricate this from a pre-synced workspace. So I just want the plugin to track last successful CL and new CL and tell my script and a successbuild would update the last successful CL. But otherwise let the scripts do the syncing. It seems the options are there to do that (view mask with polling/syncing options) but it doesn't seem like the actual functionality matches what is described by these options.

    1. Dec 08, 2010

      Rob Petti says:

      Please don't use the wiki comments for technical advice. Nobody checks it (See t...

      Please don't use the wiki comments for technical advice. Nobody checks it (See the disclaimer above). Either ask the mailing lists, irc, email the developers, or file an issue.

      I'll look into implementing a disable sync option, since the View Mask workaround doesn't seem to work well enough for your purposes.

  46. May 24, 2011

    Paul Marquardt says:

    I'm unable to use the labeling feature to create labels with underscores, ala my...

    I'm unable to use the labeling feature to create labels with underscores, ala mycode-mainline_LAST_SUCCESSFUL_BUILD:Failed to issue perforce label. Error in label specification. The Revision field can only be added to empty labels.
    For Command: /tools/products/perforce/p4 -P XXXXXXXXXX -s label -i
    With Data:
    ===================
    Label: mycode-mainline_LAST_SUCCESSFUL_BUILD
    Owner:
    Description:
    Label automatically generated by Hudson Perforce Plugin.
    Revision: @855628
    Options:
    View:
    //mydepot/mycode/mainline/...

    ===================
    though I can create this same label from the P4V client and the Hudson Perforce plugin will create the label if I use the name mycode-mainline-LAST-SUCCESSFUL-BUILD (changing underscores to dashes). I've also noticed that the Perforce plguin will not accept dots either. Has anyone else seen this behavior?

    Thanks!