Hello All,
I was wondering if it were possible to run a custom rebase as part of a scriptrunner pre/post hook.
An example of what I am trying to accomplish.
If there are 4 commits being pushed, I want to run a rebase so that the end product is a single commit that contains all changes and the revisions of the other 3 are deleted so that they no longer exist in git's history.
I already know the git command that I would have to run for the actual rebase itself. I just need to know if it's possible to make all pull requests go through that rebase before being merged. Either via scriptrunner or some other method. The rebase would have to be run at any point between the user pushing up their changes and the pull request for those changes being merged back into master.
Any and all help is appreciated!
Thanks!
Hi @Omar Morales ,
The ScriptRunner for Bitbucket team would advise against automating this functionality in a pre/post hook.
However, we do have a custom merge-check Script on our Library which can be used to enforce squashed commits before a Pull Request is allowed to be merged into the target branch.
This merge-check would then advise the user attempting the merge to squash their commits, which they would then need to do manually.
The custom merge-check can be found here: https://library.adaptavist.com/entity/enforce-squashed-commits
If however, you do still want to automate squashing on Pull Request merge, an alternative would be to use Bitbucket's built-in merge strategies, as documented here: https://confluence.atlassian.com/bitbucketserver/pull-request-merge-strategies-844499235.html
Using Bitbucket's merge strategies, you can select to have all commits squashed on merge.
Kind regards,
Robert Giddings,
Product Manager, ScriptRunner for Bitbucket
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.