For pull requests, we detect issues that are merged from the PR to its target branch.
When that happens, we copy the issue's state to the target branch. For example, if the issue was marked as 'won't fix', it should show up in the target branch with that state.
It only works when the issue is first seen in the target branch, to avoid overwriting changes that are done to the issue in the target branch.
We should apply the same strategy for merges between branches (without a pull request). We'll use the reference branch defined with the New Code setting to detect when we need to do the merge of issues.
Let's say that branch A is used as a reference in a New Code Period setting of another branch B. In that case, when analyzing branch A, we should do a 'light' issue tracking between the new issues found in branch A and the resolved issues present in branch B. If there are any matches, we should copy issue state from the issue in branch B to the issue in branch A. It should work in the same way as with pull requests.
The documentation will be updated to explain the behavior: by default, issues live independently in branches. When the New Code definition makes use of a reference branch, issue tracking happens between branches.
The deprecation warning displayed on old short-lived branches will be updated to point to the branch analysis documentation.