There is no procedure for recording or recovering branch origins
As noted at https://stackoverflow.com/q/4477765 , Git does not permanently record where a branch begins, and so it is hard to record exactly what changes were made for a purpose or topic. This is something we have relied on in Perforce, and information we would like to avoid losing when migrating to Git #98 .
We need to think of a way that we can record this information, or a way that it can reliably be retrieved from Git. If necessary, we might need to export the information from Perforce as well.
This issue is mentioned in proc.review.entry.change, where it required to record the complete change for a topic https://github.com/Ravenbrook/mps/blob/654c24c4eccec4716478165a252fe51f07e5afdb/procedure/review.rst#L300-L302
Comment from @rptb1 : the world seems to get along without this capability - how? Are our assumptions incorrect?
The underlying requirement here seems to be able to find the purpose of a change, that is, what feature it was intended to implement, or what defect it was intended to fix. In a configuration management system where each change is associated with a branch, you can find the purpose of a change by looking up its branch and then finding the purpose of the branch (somehow; but note that this depends on following some discipline so that each branch has a single purpose).
In Git this approach is not practical because the association between changes (commits) and branches (refs) is transient, so what people do instead is to record the purpose of each commit in the commit message, for example, by referring to an issue according to some convention. For example, in the cpython repo each commit message starts "gh-N" where N is the number of the GitHub issue with which the commit is associated.
If you use GitHub pull requests you can look at a commit and GitHub will tell you which pull request it originated in (if any). This is less satisfactory because GitHub pull requests are not represented in the Git repository, so you risk losing the information if you switch away from GitHub.