Clobber is what happens when a deployment overwrites changes in a Salesforce org. Sometimes clobber is desirable (such as during a rollback), but in most cases it is safer to avoid clobber. OrgFlow can check for clobber before finalizing a deployment, allowing you to block the deployment entirely or manually intervene in the event of clobber.
OrgFlow uses Source Tracking to determine the scope of clobber that a deployment may cause.
Types of clobber
There are two types of clobber:
- Confirmed clobber is anything that would definitely be overwritten if OrgFlow deployed the metadata in to the org.
- Potential clobber can happen if we are unable to definitively determine whether or not metadata items in the org would get overwritten by the deployment. Reasons for not being able to definitively determine clobber include: source tracking being disabled in the target org, source tracking values cannot be relied upon, or the deployment contains non-source tracked types.
Some deployments may have both confirmed and potential clobber. This can happen when OrgFlow is able to determine via source tracking that some changes in the org would get overwritten by the deployment (confirmed clobber), and the deployment also contains some metadata types thst are not source tracked (possible clobber).
Preventing (or allowing) clobber
The env:flowout and env:flowmerge commands both have
--clobber arguments that can be used to prevent (or allow) deployments that may cause clobber.
The Flow In process (applied during both the env:flowin and env:flowmerge commands) can be used to merge any changes in the org with changes that might be deployed from the Git repository. A common scenario would be to flow an environment in immediately before flowing out, in order to reduce the scope of clobber.