Skip to content

gix-diff-v0.47.0

@Byron Byron tagged this 22 Oct 18:59
 - 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)
Assets 2
Loading