Declare merge-ort ready for general usage
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest13 patches 1 replyIn review
- v213 patches 5 repliesSuperseded
- v12 patches 3 repliesSuperseded
Changes in v3 from the cover letter
* changed the last patch to default testing to ort so people don't have to wait until CI for failures (but still keep linux-gcc testing merge-recursive so it retains coverage), as suggested by Stolee
[1]
https://lore.kernel.org/git/[email protected]/
[2]
https://lore.kernel.org/git/[email protected]/
[3] See commit 14c4586c2d ("merge,rebase,revert: select ort or recursive by config or environment", 2020-11-02)
Patches in v3 No applies recorded yet
Reviews trailers per patch
None of the 13 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Derrick Stolee |
|---|---|
| Series | R-b |
| 1/13 | |
| 2/13 | |
| 3/13 | |
| 4/13 | |
| 5/13 | |
| 6/13 | |
| 7/13 | |
| 8/13 | |
| 9/13 | |
| 10/13 | |
| 11/13 | |
| 12/13 | |
| 13/13 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v3 00/13] Declare merge-ort ready for general usage
This series depends on ort-perf-batch-10[1], and obsoletes the ort-remainder topic[2] (that hadn't been picked up yet, so hopefully this doesn't cause any confusion)
With this series, merge-ort is ready for general usage -- it passes all tests, passes dozens of tests that don't under merge-recursive, and merge-ort is is already significantly faster than merge-recursive when rename detection is involved. Users can select merge-ort by (a) passing -sort to either git merge or git rebase, or (b) by setting pull.twohead=ort [3], or (c) by setting GIT_TEST_MERGE_ALGORITHM=ort.
Changes since v2:
* changed the last patch to default testing to ort so people don't have to wait until CI for failures (but still keep linux-gcc testing merge-recursive so it retains coverage), as suggested by Stolee
[1]
https://lore.kernel.org/git/[email protected]/
[2]
https://lore.kernel.org/git/[email protected]/
[3] See commit 14c4586c2d ("merge,rebase,revert: select ort or recursive by config or environment", 2020-11-02)
Elijah Newren (13):
merge-ort: use STABLE_QSORT instead of QSORT where required
merge-ort: add a special minimal index just for renormalization
merge-ort: have ll_merge() use a special attr_index for
renormalization
merge-ort: let renormalization change modify/delete into clean delete
merge-ort: support subtree shifting
t6428: new test for SKIP_WORKTREE handling and conflicts
merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries
t: mark several submodule merging tests as fixed under merge-ort
merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict
merge-recursive: add a bunch of FIXME comments documenting known bugs Revert "merge-ort: ignore the directory rename split conflict for now"
t6423: mark remaining expected failure under merge-ort as such Add testing with merge-ort merge strategy
branch.c | 1 + builtin/rebase.c | 1 + ci/run-build-and-tests.sh | 1 + merge-ort.c | 242 ++++++++++++++++-- merge-recursive.c | 37 +++ path.c | 1 + path.h | 2 + sequencer.c | 5 + t/t3512-cherry-pick-submodule.sh | 7 +- t/t3513-revert-submodule.sh | 5 +- t/t5572-pull-submodule.sh | 7 +- t/t6423-merge-rename-directories.sh | 2 +- t/t6428-merge-conflicts-sparse.sh | 158 ++++++++++++ t/t6437-submodule-merge.sh | 5 +- t/t6438-submodule-directory-file-conflicts.sh | 7 +- t/test-lib.sh | 2 + 16 files changed, 445 insertions(+), 38 deletions(-) create mode 100755 t/t6428-merge-conflicts-sparse.sh
base-commit: ac0ba91ce275227f5df8f16fb986308ff88b198b
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-905%2Fgitgitgadget%2Fort-readiness-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-905/gitgitgadget/ort-readiness-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/905
Range-diff vs v2:
1: e223f842748c = 1: e223f842748c merge-ort: use STABLE_QSORT instead of QSORT where required 2: 6d34cc466bd5 = 2: 6d34cc466bd5 merge-ort: add a special minimal index just for renormalization 3: 4ff23d2f52a0 = 3: 4ff23d2f52a0 merge-ort: have ll_merge() use a special attr_index for renormalization 4: c1c9605c1932 = 4: c1c9605c1932 merge-ort: let renormalization change modify/delete into clean delete 5: 41fffcdd3b78 = 5: 41fffcdd3b78 merge-ort: support subtree shifting 6: 6aec1f499b80 = 6: 6aec1f499b80 t6428: new test for SKIP_WORKTREE handling and conflicts 7: fe3baf696785 = 7: fe3baf696785 merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries 8: f9325647a9fc = 8: f9325647a9fc t: mark several submodule merging tests as fixed under merge-ort 9: 4a79e6134691 = 9: 4a79e6134691 merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict 10: a37979454069 = 10: a37979454069 merge-recursive: add a bunch of FIXME comments documenting known bugs 11: 6bda855f2980 = 11: 6bda855f2980 Revert "merge-ort: ignore the directory rename split conflict for now" 12: 1c6361c9b88a = 12: 1c6361c9b88a t6423: mark remaining expected failure under merge-ort as such 13: d8536f56ab29 < -: ------------ Add testing with merge-ort merge strategy -: ------------ > 13: c2d2a1ccaea7 Add testing with merge-ort merge strategy
Signature · 1 line
gitgitgadget