Add Merge Support for octopus Strategy#7129
Open
jar-of-salt wants to merge 34 commits intolibgit2:mainfrom
Open
Add Merge Support for octopus Strategy#7129jar-of-salt wants to merge 34 commits intolibgit2:mainfrom
octopus Strategy#7129jar-of-salt wants to merge 34 commits intolibgit2:mainfrom
Conversation
6370674 to
ff787b5
Compare
…repare to implement aggressive merge
…fail.c -> conflict.c to more clearly indicate what the test is for
69bb484 to
ef572d3
Compare
Member
|
Wow! This is an exciting PR. It's also very large so I'll need a bit of time to review it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Resolves #5047
Implement the logic found in git-merge-octopus.sh as originally implemented by Junio C Hamano.
Changes
merge.cgit_mergenow supports merging multiple branches using the octopus strategycompute_base_octopusto verify an initial base existsgit_merge__octopus_fastforwardto perform the possible fastforward for the first branch in an octopusgit_merge__octopus_simpleto perform the simple merge of each branch in an octopusmerge_annotated_commits_octopusas the octopus variant ofmerge_annotated_commitsTests
tests/resources/merge-octopusrepository, and start withtas the HEAD branchgit merge branch1 branch1-b branch2 branch3GIT_EMERGECONFLICTaka-24git merge f1 f2 f3git merge 1 1a 1b 2 2a 3 t1 t2git merge ff skippable 1Miscellania
This is my first contribution! It was a lot of fun to work through this and see how the project works. Any and all feedback is appreciated!
I am also not sure I credited the original author correctly, so please take a look at that.
PS, sorry for triggering so many CI build actions; next time I will open the PR once I am no longer making as many pushes.