We just released Lure Version 1.0.1. This is a minor enhancement release in which we added first class support for the Perforce configuration management system. The same integration features already available for Subversion are now also available for Perforce.

Lure makes use of the Perforce command-line client, p4. Before using Lure together with Perforce you will need to set up a Perforce client workspace and synchronize with any files already present in the depot.

Perforce integration plays a role during both Export and Import.

  • During Export Lure will query Perforce to determine the HEAD change number. This number is then used as the revision number for all versioned patch files that are generated during the Export.
  • Before exporting any source file Lure will first determine if the file is in a read-only status on the file system. If it is then Lure will execute "p4 edit" against this file which will then add the file to the default changelist. This eliminates the need for users to add these files manually to the changelist before running Export.
  • Before exporting any changes to a table source file Lure will query the Perforce repository to determine if any later versions of the table source file has been committed to the depot. If there is a later version available then Lure will not export the change to the table file but instead log a message to indicate to the user that the table file must first be synchronized with the depot. This is required since otherwise the generated patch file will not correctly update the table to the latest version.
  • During Import Lure will connect to the Perforce depot and retrieve older versions of the table source files as required. This procedure is needed in order to determine which patch files to apply to the target table.
  • Finally, the integration with Subversion was also enhanced in this release. Before Lure exports changes to any source file it will first determine if the source file is in a read-only state. If it is then Lure will attempt to make it writable by executing the "svn lock" command against this file.

We believe that these changes will allow for a much smoother workflow when using Lure together with either Subversion or Perforce.