- provide facilities to perform rewrite-tracking for tree-diffs in plumbing.
This effectively pulls down a higher-level implementation in `gix` to the plumbing
level, to allow it to be used there as well.
- Add `blob::pipeline::WorktreeRoots::is_unset()`
That way it's easy to determine if a worktree root has any root set.
### Bug Fixes
- improve directory matching
Previously the sorting wasn't accounted for, so an assumption about
the order of changes weren't actually true.
### Other
- Update "cmp" links in `tree::function::diff`
This updates the "git_cmp_c" and "git_cmp_rs" links in the
`gix_diff::tree::function::diff` documentation comment.
- The significant change is to the "git_cmp_rs" link (the second
link), which accounts for how files have renamed and how code has
been moved, and also changed in #849 to fix issue #848.
This hyperlink change completes the third task listed in #1627.
- The other change is to update the "git_cmp_c" link at the same
time. That code has not changed, and this is just referring to a
later commit (the current tip of the master branch in git/git).
The reason to also do this change is to make it easier to verify,
both now and for anyone reading the documentation, that that link
remains current.
- Update gitoxide repository URLs
This updates `Byron/gitoxide` URLs to `GitoxideLabs/gitoxide` in:
- Markdown documentation, except changelogs and other such files
where such changes should not be made.
- Documentation comments (in .rs files).
- Manifest (.toml) files, for the value of the `repository` key.
- The comments appearing at the top of a sample hook that contains
a repository URL as an example.
When making these changes, I also allowed my editor to remove
trailing whitespace in any lines in files already being edited
(since, in this case, there was no disadvantage to allowing this).
The gitoxide repository URL changed when the repository was moved
into the recently created GitHub organization `GitoxideLabs`, as
detailed in #1406. Please note that, although I believe updating
the URLs to their new canonical values is useful, this is not
needed to fix any broken links, since `Byron/gitoxide` URLs
redirect (and hopefully will always redirect) to the coresponding
`GitoxideLabs/gitoxide` URLs.
While this change should not break any URLs, some affected URLs
were already broken. This updates them, but they are still broken.
They will be fixed in a subsequent commit.
This also does not update `Byron/gitoxide` URLs in test fixtures
or test cases, nor in the `Makefile`. (It may make sense to change
some of those too, but it is not really a documentation change.)
### New Features (BREAKING)
- optional rename tracking for directories.
Depending on the source of the rename-information, items that are children
of renamed parents may be provided to enable rename tracking based on these
containers, instead of always resorting to tracking leaf nodes (i.e. blobs).
- better handling and tracking of directory renames
Deletations that are caused by deletions higher up will now carry
IDs to associate them with each other. This allows to bundle them
at a later stage to re-obtain directory deletions.
### Refactor (BREAKING)
- add `tree()` function to diff a tree.
Remove `tree::Changes()` and the ceremony required to diff a tree.
### Commit Statistics
- 23 commits contributed to the release.
- 60 days passed between releases.
- 8 commits were understood as [conventional](https://www.conventionalcommits.org).
- 0 issues like '(#ID)' were seen in commit messages
### Thanks Clippy
[Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic.
### Commit Details
* **Uncategorized**
- Merge pull request #1630 from GitoxideLabs/diff-fix (155b5e1)
- Improve directory matching (53fa8ab)
- Merge pull request #1628 from EliahKagan/update-git-cmp-rs-url (4cff32c)
- Update "cmp" links in `tree::function::diff` (991c939)
- Merge pull request #1624 from EliahKagan/update-repo-url (795962b)
- Update gitoxide repository URLs (64ff0a7)
- Merge pull request #1612 from Byron/merge (37c1e4c)
- Provide facilities to perform rewrite-tracking for tree-diffs in plumbing. (f2e813d)
- Add `tree()` function to diff a tree. (989276f)
- Thanks clippy (af03832)
- Optional rename tracking for directories. (7be142d)
- Better handling and tracking of directory renames (cebef0b)
- Merge pull request #1585 from Byron/merge (2261de4)
- Sketch the entire API surface to capture all parts of blob-merges (9efa09f)
- Add `blob::pipeline::WorktreeRoots::is_unset()` (fe7ecd0)
- Merge pull request #1582 from Byron/gix-path-release (93e86f1)
- Release gix-trace v0.1.10, gix-path v0.10.11 (012a754)
- Merge pull request #1557 from Byron/merge-base (649f588)
- Allow empty-docs (beba720)
- Merge branch 'global-lints' (37ba461)
- Workspace Clippy lint management (2e0ce50)
- Merge pull request #1546 from nyurik/semilocons (f992fb7)
- Add missing semicolons (ec69c88)