hg log --follow merge parent traversal rule
0 reputation · 12 Apr 2020, 18:35 UTC
The goal is to obtain a deterministic, complete file lineage for audit and changelog generation using hg log --follow. The feature is documented to follow a file across renames and copies, showing the complete path history.
The relevant constraint is that the command reference does not specify how traversal proceeds through merge commits. When a file history reaches a merge, the selection of which parent to continue from, or whether both parents are considered, is not defined in the documented behavior. This leaves reproducibility dependent on internal implementation details that have changed across maintenance releases.
For reproducible audits the parent selection rule and its stability across versions need to be explicit.
What parent selection rule does hg log --follow apply at merge commits? Is the rule stable and documented across Mercurial versions? Is there a configuration option to control merge parent traversal for --follow?