The prototype merge script "vmerge" adds a "merged-versions" attribute to the working directory when it modifies it. To make this useful on subsequent versions, that attribute needs to be copied to immutable versions.

The package containing vmerge includes the Python trigger script propagate-merge-history.py for copying the attribute. Its intended to run at two different times:

  1. As a post-vadvance trigger, it copies the "merged-versions" attribute from a Vesta checkout working directory to the new vadvaced snapshot.
  2. As a pre-vcheckin trigger, it copies the "merged-versions" attribute from snapshot being used as the contewnt of the checkin to the version reservation stub. (The attributes from the version reservation stub are preserved on the checked-in version, and this ensure that the attributes will be present before the replication in the case of a checkout from a remote master repository.)

The script covers a number of cases people might not usually think about (like using the -R flag with either vadvance or vcheckin or using the -C flag with vcheckin) and makes for a pretty good example.