Skip to content

Merge another component into this one, e.g. a license or template.

a-merge is used to merge files from other components into another component typically used to add templates and licenses to a new component or to update them with new versions of licenses, etc.

It is mostly used by developers of components.

For example components are described and licensed individually which results in common tasks such as:

  1. Add COPYRIGHT, … files for organisation X into this directory.
  2. Update file as they change, e.g. new variants of licensing.
  3. Expand keywords such as @component@ which is replaced by the component name.
  1. meld - a graphical tool used for merging the changes.

To merge the files in license-astar and template-c into a-component we would use:

% cd ~/a-team/a-component
% a-merge license-a-star template-c-lib

The following keywords are expanded:

KeywordsExpands to
@date@ISO8601 date, e.g. 2025-04-01
@year@Year, e.g. 2025
@component@Componenent name, e.g. a-tv
@description@Component description, a time ...
@keywords@Keywords for this component
@author@Authorname for document from $AUTHOR

The following environment variables can be used to configure a-merge.

Environment VariableMeaning
AUTHORName to put in documents as the AUTHOR
MERGETool do the merge which defaults to meld

A TCL script which calls existing merge tools.

TBA

TBA