This newsletter article, Living on the Edge - Automated Merging, gives s sense of what AutoMerge is all about.
This implementation was developed by Alan Petersen in 2012. Contact Perforce Consulting if you have any questions.
The code herein is a sample implemenation derived from code that was used to deploy a production solution during a consulting engagement.
This is sample code for reference only. It is not presently documented and does not have installation documentation or automation. (The live production solution is documented of course, but contains custom and proprietary content).
We expect to add docs and update the code. That can happen a lot faster if we know someone is actively considering using it, so please do let us know if that's the case.
There is no formal roadmap for AutoMerge. Comment on the project if you'd like to see more!
This implementation works with Perforce Classic only; it does not work with Streams. Adding streams seems a natural next step.
Contributions to the AutoMerge are most welcome! Note that contributing requires a basic user knowledge of working with Perforce.
All registered Workshop users have open access (but not write), specifically to this path:
//automerge/dev/...
The open access level confers the ability to edit and shelve changes for a pre-commit review process. We'll review the change, and either incorporate it or provide feedback. Be sure to provide a detailed change description, and also include the tag/text "[review]" in your changelist description to initiate a Swarm code review.
Optionally, you may request a personal development stream. Contact Perforce Consulting to request a personal development stream.
The Perforce Server Deployment Package (SDP) is software designed to manage a Helix Versioning Engine (P4D) and other Helix components.
AutoMerge has no direct dependency on the SDP. However, using the SDP can simplfy deployment. Among other things, the SDP enshrines a home for the scripts (/p4/common/site/automerge), handles mechanics of defining shell environment in the cron wrapper script, installing the right version of Python, etc.
Some path examples in AutoMerge use SDP-style paths, e.g. /p4/common/bin and /p4/1/logs.