New Features
-
Add support for
index
application in merge results viamerge::tree::Outcome::index_changed_after_applying_conflicts()
-
add
Repository::merge_base_octopus()
-
add
Repository::virtual_merge_base()
andRepository::virtual_merge_base_with_graph()
. -
add
Repository::merge_commits()
It's often more convenient to work with commits when merging, especially
when merge-bases are dealt with automatically. -
add
objects::tree::Editor::detach()
to get the underlying editor back.
This can be useful to have more control over what gets written, or how. -
add
Repository::index_or_load_from_head_or_empty()
.
It's useful to get a reasonable index in any case, even on unborn repositories.
It's for cases where theHEAD
isn't setup at all, despite content being available,
and to avoid unnecessary restrictions on what works. -
add
Object::peel_to_commit()
to assure an object turns into a commit. -
add
Repository::merge_trees()
-
gix::Repository
implements all traits for object reading and writing.
That way it becomes usable when merging trees, which benefits from automatic
checking of hashes before writing loose objects. -
add
tree()
andcommit()
merge support, en par withmerge-ORT
as far as tests go.
Note that this judgement of quality is based on a limited amount of partially complex
test, but it's likely that in practice there will be deviations of sorts.Also, given the complexity of the implementation it is definitely under-tested,
but with that it's mostly en par with Git, unfortunatly.On the bright side, some of the tests are very taxing and I'd hope this
means something for real-world quality.
Bug Fixes
-
Repository::tree_merge_options()
now comes with rewrite tracking.
This is the way Git acts, as it's either configured, or defaults to the value
coming from thediff.renames
configuration. -
respect
core.bare=true
in conjunction with the main worktree -
propagate errors that are triggered when writing objects
Previously it was assumed that writing objects could never fail unless
there isn't enough memory to do so. However, it turns out that
some last-minute validation can always be triggered and prevent an object
to be written.Now that error is propagated instead.
-
assure submodules are skipped everywhere
This also addsRepository::head_tree()
for convenience.
New Features (BREAKING)
Repository::merge_trees()
now takes portable version ofOptions
.Repository::merge_trees()
now has a fully-wrapped outcome.
That way, more attached types are used for greater convenience.
Bug Fixes (BREAKING)
-
rename
blob-merge
feature totree-merge
.
By now,blob-merge
is the lowest-level of features which is required
for both tree-merges and commit based merges. Hence it's better
to just call itmerge
. -
Adjust blob-merge baseline to also test the reverse of each operation
This also fixes an issue with blob merge computations.It's breaking because the marker-size was reduced to
u8
.
Commit Statistics
- 46 commits contributed to the release.
- 18 commits were understood as conventional.
- 2 unique issues were worked on: #1678, #1683
Commit Details
view details
- #1678
- #1683
- Respect
core.bare=true
in conjunction with the main worktree (88d9d43)
- Respect
- Uncategorized
- Release gix-date v0.9.2, gix-actor v0.33.1, gix-hash v0.15.1, gix-features v0.39.1, gix-validate v0.9.2, gix-object v0.46.0, gix-path v0.10.13, gix-quote v0.4.14, gix-attributes v0.23.1, gix-packetline-blocking v0.18.1, gix-filter v0.15.0, gix-chunk v0.4.10, gix-commitgraph v0.25.1, gix-revwalk v0.17.0, gix-traverse v0.43.0, gix-worktree-stream v0.17.0, gix-archive v0.17.0, gix-config-value v0.14.10, gix-lock v15.0.1, gix-ref v0.49.0, gix-config v0.42.0, gix-prompt v0.8.9, gix-url v0.28.1, gix-credentials v0.25.1, gix-bitmap v0.2.13, gix-index v0.37.0, gix-worktree v0.38.0, gix-diff v0.48.0, gix-discover v0.37.0, gix-pathspec v0.8.1, gix-dir v0.10.0, gix-mailmap v0.25.1, gix-revision v0.31.0, gix-merge v0.1.0, gix-negotiate v0.17.0, gix-pack v0.55.0, gix-odb v0.65.0, gix-packetline v0.18.1, gix-transport v0.43.1, gix-protocol v0.46.1, gix-refspec v0.27.0, gix-status v0.15.0, gix-submodule v0.16.0, gix-worktree-state v0.15.0, gix v0.68.0, gix-fsck v0.8.0, gitoxide-core v0.43.0, gitoxide v0.39.0, safety bump 25 crates (8ce4912)
- Prepare changelogs prior to release (bc9d994)
- Merge pull request #1661 from GitoxideLabs/merge (0b7abfb)
- Add support for
index
application in merge results viamerge::tree::Outcome::index_changed_after_applying_conflicts()
(71b0cea) Repository::tree_merge_options()
now comes with rewrite tracking. (b57be71)- Adapt to changes in
gix-merge
. (47110d6) - Merge pull request #1687 from EliahKagan/run-ci/32bit (aeaebec)
- Add 32-bit expectations for remaining
==
size assertions (daf9990) - Use
<=
on 32-bit for some size assertions (fc13fc3) - Merge pull request #1684 from GitoxideLabs/fixes (9ab86a2)
- Merge pull request #1679 from GitoxideLabs/fix-1678 (275a0c5)
- Turn single-mod directories into a file (49ba115)
- Merge pull request #1662 from paolobarbolini/thiserror-v2 (7a40648)
- Upgrade thiserror to v2.0.0 (0f0e4fe)
- Merge pull request #1659 from GitoxideLabs/merge (cf0c7ee)
- Add
Repository::merge_base_octopus()
(65ae68e) - Merge pull request #1658 from GitoxideLabs/merge (905e5b4)
- Add
Repository::virtual_merge_base()
andRepository::virtual_merge_base_with_graph()
. (7aee32a) - Add
Repository::merge_commits()
(5f3f63a) - Merge pull request #1656 from GitoxideLabs/hasconfig (c5955fc)
- Add test to assure
hasconfig
is working ongix
level as well. (d51aec9) - Merge pull request #1653 from GitoxideLabs/merge (697a632)
- Assure submodules are skipped everywhere (4079519)
- Merge pull request #1651 from GitoxideLabs/merge (a876533)
Repository::merge_trees()
now takes portable version ofOptions
. (a43e563)- Rename
blob-merge
feature totree-merge
. (2547935) Repository::merge_trees()
now has a fully-wrapped outcome. (1d2262f)- Add
objects::tree::Editor::detach()
to get the underlying editor back. (27b663e) - Add
Repository::index_or_load_from_head_or_empty()
. (1f9556a) - Add
Object::peel_to_commit()
to assure an object turns into a commit. (2fce14f) - Remove a TODO that turned out to be unnecessary. (5b428a9)
- Merge pull request #1652 from EliahKagan/run-ci/chmod (8e99eba)
- Fix
chmod
in make_rev_spec_parse_repos; regenerate archive on macOS (d74e919) - Regenerate gix make_rev_spec_parse_repos fixture archive (72cd7f3)
- Avoid unneeded +x in make_rev_spec_parse_repos (8720acb)
- Merge pull request #1618 from GitoxideLabs/merge (3fb989b)
- Add
Repository::merge_trees()
(d1ac584) gix::Repository
implements all traits for object reading and writing. (07746f3)- Support for merge related options in config tree (80e006b)
- Add
tree()
andcommit()
merge support, en par withmerge-ORT
as far as tests go. (4b1764c) - Adapt to changes in
gix-object
andgix-odb
(96488f7) - Adjust blob-merge baseline to also test the reverse of each operation (de1cfb6)
- Merge pull request #1642 from GitoxideLabs/new-release (db5c9cf)