- Commit message: the pull request title and description are now used for the merge commit message. This creates a more informative and consistent git history, linking the merge commit directly to the resulting PR.
- Interactive editing: a new -e, --edit flag allows the user to open their default editor to interactively refine the PR title and description before submission.
- Unrelated history check: the command now checks for unrelated histories before merging and provides a clearer error message. A new --allow-unrelated-histories flag allows the user to override this check.
The command handles:
- Automatic forking of the target repository if it doesn't exist.
- Smart workspace detection and cloning.
- Syncing the target branch with upstream.
- Merging the source branch using the 'theirs' strategy.
- Cleaning up files not present in the source branch to ensure a clean forward.
- Optimized LFS fetching for specific incoming commits.
- Force pushing the synchronized state to the fork and opening the Pull Request.