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 contain 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:
//guest/perforce_software/automerge/main/...
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 also branch the AutoMerge project folder into your own guest area. Creating a branch spec is recommended for this purpose, e.g. with a branch spec like this:
Branch: your_name-automerge
Owner: your_name
Description:
AutoMerge updates by your_name.
Options: unlocked
View:
//guest/perforce_software/automerge/main/... //guest/your_name/automerge/dev/...
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/bin/automerge), handles mechancis 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.