Pull Requests Not Reflecting Changes Pushed to Remote Branch After an Upgrade
症状
- Pull requests are not updated when changes are pushed to their branches. Browsing commits on the pull request branches (i.e. select Commits and then the appropriate branch) shows the commits as expected.
- Branch permissions are not being applied when users push commits.
原因とソリューション
Stash relies on hook scripts that are installed into each repository (and managed by the system) to provide change information that, in turn, allows it to update pull requests and check branch permissions. If the hooks are not installed correctly, or are damaged, these required callbacks do not happen and the functionality associated with them fails.
ソリューション
Confirming the fix
The hooks will not work retroactively after installing them properly, so if the pull request in your repository was previously in a 'bad' (out-of-date) state and there were no new commits to the source branch of the pull request, the pull request will remain in an outdated state. To test whether the hooks are working after installation:
- A new commit must be made to the source branch - this should now automatically update the pull request in Stash with all missing commits
- Alternatively, a merge from source branch to the target branch may be performed locally and pushed to Stash, which should result in closing the pull request as 'Merged' automatically