Skip to content

Releases: GitoxideLabs/gitoxide

gix-packetline v0.18.2

22 Dec 15:11
beb0ea8
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 5 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release gix-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0, gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1, gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1, gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0, safety bump 16 crates (c1ba571)
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1717 from GitoxideLabs/fix-ide (06ef1e9)
    • This tweak makes it possible to use RustRover/IntelliJ again. (9739620)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-pack v0.56.0

22 Dec 15:11
beb0ea8
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release gix-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0, gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1, gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1, gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0, safety bump 16 crates (c1ba571)
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-odb v0.66.0

22 Dec 15:11
beb0ea8
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release gix-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0, gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1, gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1, gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0, safety bump 16 crates (c1ba571)
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-object v0.46.1

22 Dec 15:07
c1ba571
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

But actually, TreeRefIter now has methods to lookup entries, also recursively.

Commit Statistics

  • 13 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1686 from cruessler/move-lookup-entry-to-gix-object (39227a9)
    • Refactors (d7f4991)
    • Add test for entry that does not exist (54e399f)
    • Match on complete entry (08a86dc)
    • Deduplicate tests (2de935d)
    • Replace FindExt by Find (579a6f2)
    • Move lookup_entry, lookup_entry_by_path to TreeRefIter (32632e9)
    • Remove superfluous trait bound (1c6e4ae)
    • Don't recurse, use loop instead (7e66a4a)
    • Sketch recursive lookup (0cf6d3a)
    • Add lookup_entry, lookup_entry_by_path to TreeRef (d121fe7)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-merge v0.2.0

22 Dec 15:11
beb0ea8
Compare
Choose a tag to compare

Bug Fixes

  • don't incorrectly mark as auto-resolved conflict if there was none.
    Previously it was possible to mark perfectly working content merges as conflicting
    if we would choose 'our' or 'their' resolution.
  • when binary merges are performed, adjust the returned resolution to indicate auto-resolution.
    Previously it wasn't possible to detect auto-resolution, even though it can be assumed if a
    resolution mode was provided.

New Features (BREAKING)

  • replace tree::Options::allow_lossy_resolution with *::tree_conflicts.
    That way it's possible to steer how to resolve tree-related conflicts while
    making it possible to detect that a conflict happened.

Bug Fixes (BREAKING)

  • assure that tree::apply_index_entries() cannot unknowingly leave unconflicted and conflicted entries.
    This is a massive footgun currently where incorrect usage is very likely while causing all kinds of mistakes.

Commit Statistics

  • 12 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release gix-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0, gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1, gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1, gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0, safety bump 16 crates (c1ba571)
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1705 from GitoxideLabs/merge (520c832)
    • Adapt to changes in gix-diff related to not tracking empty blobs anymore. (f53cec5)
    • Don't incorrectly mark as auto-resolved conflict if there was none. (da585db)
    • Assure that tree::apply_index_entries() cannot unknowingly leave unconflicted and conflicted entries. (3e94b58)
    • Implement support for resolving irreconcilable tree conflicts with 'ours' or 'ancestor' (e487cca)
    • Merge pull request #1708 from EliahKagan/run-ci/mode (34efe03)
    • Add missing executable bits on fixture scripts (ed757ea)
    • Replace tree::Options::allow_lossy_resolution with *::tree_conflicts. (1c3ba81)
    • When binary merges are performed, adjust the returned resolution to indicate auto-resolution. (a57192c)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-fs v0.12.1

22 Dec 15:07
c1ba571
Compare
Choose a tag to compare

New Features

  • add io_err module with classifiers.
    This makes it easier to portably identify IO errors, especially while
    the MSRV is not Rustc v1.83 which stabilizes the error kind variants.

Commit Statistics

  • 4 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1736 from GitoxideLabs/fix-status (3af94f9)
    • Add io_err module with classifiers. (3f6ee52)
    • Merge pull request #1642 from GitoxideLabs/new-release (db5c9cf)

gix-filter v0.16.0

22 Dec 15:07
c1ba571
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 2 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-dir v0.11.0

22 Dec 15:11
beb0ea8
Compare
Choose a tag to compare

Other

  • Clarify and expand descriptions of NonFiles
    Discussed in:
    #1730 (comment)

    At least for now, they remain called NonFiles (and sometimes
    referred to as "non-files" in text), but more specifically defined.

Bug Fixes (BREAKING)

  • rename entry::Kind::NonFile to entry::Kind::Untrackable.

  • Add entry::Kind::NonFile.
    Previously, these were misclassified as File, which can lead to blocking applications
    which get stuck reading pipes.

    Now the downstream is forced to deal with the possibility that the item at hand isn't a file,
    to do application-specific things.

  • assure fifo or non-files aren't considered files, but are pruned instead.
    That way, algorithms relying on dirwalking can still see them if they want to,
    but would have a hard time to use them (accidentally).

    Note that this replaces the From implementation with entry::Kind::try_from_file_type(),
    which makes this a breaking change.`

Commit Statistics

  • 13 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 4 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release gix-date v0.9.3, gix-object v0.46.1, gix-command v0.4.0, gix-filter v0.16.0, gix-fs v0.12.1, gix-traverse v0.43.1, gix-worktree-stream v0.18.0, gix-archive v0.18.0, gix-ref v0.49.1, gix-prompt v0.9.0, gix-url v0.28.2, gix-credentials v0.26.0, gix-diff v0.49.0, gix-dir v0.11.0, gix-revision v0.31.1, gix-merge v0.2.0, gix-pack v0.56.0, gix-odb v0.66.0, gix-shallow v0.1.0, gix-packetline v0.18.2, gix-transport v0.44.0, gix-protocol v0.47.0, gix-status v0.16.0, gix-worktree-state v0.16.0, gix v0.69.0, gitoxide-core v0.44.0, gitoxide v0.40.0, safety bump 16 crates (c1ba571)
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1734 from EliahKagan/nonfiles (ad6b9b6)
    • Reword "non-files" in documentation comments (154b21f)
    • Rename entry::Kind::NonFile to entry::Kind::Untrackable. (d90412b)
    • Clarify and expand descriptions of NonFiles (c06a57e)
    • Merge pull request #1730 from GitoxideLabs/fix-1729 (6822689)
    • Add entry::Kind::NonFile. (0d51771)
    • Merge pull request #1727 from GitoxideLabs/dirwalk-ignore-non-regulars (69ee6a3)
    • Assure fifo or non-files aren't considered files, but are pruned instead. (f7ffb91)
    • Add a test to show what FIFO does to the dirwalk. (949fe2c)
    • Refactor test-structure to match the 'new style'. (e6199a5)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-diff v0.49.0

22 Dec 15:07
c1ba571
Compare
Choose a tag to compare

Bug Fixes

  • enforce diff.renamelimit even for identical name matching
    The problem here is that our implementation avoids using a hashmap,
    but pays the price by having bad performance if there are too many
    possible candidates (binary search doesn't seem to be up to the task).

    This can lead to impossibly long runtimes, so for now, limit it explicitly.

New Features (BREAKING)

  • add support for not tracking single empty files.
    Empty files are equivalent to having no content, which also means
    such files have no identity to speak off. This definitely helps
    with false positives of .gitignore for instance, which can be empty
    to tell Git to track a directory.

    On top of that, Git has a heuristic to do rename tracking of small files
    by similarity as the similarity may be off of files just have a couple of
    lines to speak about.

    Note that empty files that are renamed as part of a whole directory will still
    be tracked as renames.

Commit Statistics

  • 7 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1705 from GitoxideLabs/merge (520c832)
    • Add support for not tracking single empty files. (d3f5f27)
    • Enforce diff.renamelimit even for identical name matching (d281ba6)
    • Merge pull request #1708 from EliahKagan/run-ci/mode (34efe03)
    • Add missing executable bits on fixture scripts (ed757ea)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-date v0.9.3

22 Dec 15:07
c1ba571
Compare
Choose a tag to compare

Bug Fixes

  • add support for 'any' unit, when parsing <count> <unit> ago.
    Similar to Git, any unit is allowed and will default to seconds, like 60 flurps ago
    will mean a minute in the past.

  • Parse relative months and years
    This extends gix_date::parse::relative::span to recognize times
    with "months" and "years", as in "3 months ago" and "2 years ago".
    Those units are supported by Git.

    The actual change here to the parsing code is very simple, because
    it is directly facilitated by #1474.

    The units "seconds", "minutes", "hours", "days", and "weeks"
    continue to be recognized (as before). Relative times like
    "1 year, 2 months ago" remain unrecognized.

    For background, see 43b6c06 (#498), c5c6bf6,
    #1474 (comment),
    and
    #1696 (comment).

    Note that this specific change does not itself fix issue #1696,
    which applies to the intepretation of "days" and "weeks", and now
    also applies in the same way to the interpretation of "months" and
    "years". (It continues not to apply to the interpretation of
    "seconds", "minutes", and "hours".)

    The tests are updated to cover "months" and "years", as well as to
    exercise a wider range of relative times, including showing which
    units (e.g. "days") are affected by #1696. A few sub-cases, of
    those adjusted or added here, test strings from a related test in
    Git, to allow comparison. But most are not related to cases there.

    As before, the tests pass on CI, or when the time zone is otherwise
    UTC, or with local time zones that never have DST adjustments.

    The sub-cases are reordered to be monotone increasing in the
    magnitude of the relative intervals tested (and thus monotone
    decreasing in the associated absolute timestamps), and the original
    input is kept zipped into the actual and expected arrays being
    compared. This way, if the assertion fails (such as due to #1696),
    it is clear and readable which sub-cases failed and exactly how, as
    well as what all the sub-cases are and what each sub-case tests.

    Reordering the sub-cases and preserving the inputs they parse in
    this way avoids the disadvantages of #1697 while keeping, and
    expanding on, its benefits.

    Failure, where it occurs, now looks like:

    --- STDERR: gix-date::date time::parse::relative::various ---
    thread 'time::parse::relative::various' panicked at gix-date\tests\time\parse.rs:252:9:
    assertion failed: (left == right): relative times differ

    Diff < left / right > :
    [
    (
    "5 seconds ago",
    2024-11-24T23:51:49Z,
    ),
    (
    "5 minutes ago",
    2024-11-24T23:46:54Z,
    ),
    (
    "5 hours ago",
    2024-11-24T18:51:54Z,
    ),
    (
    "5 days ago",
    2024-11-19T23:51:54Z,
    ),
    (
    "3 weeks ago",
    2024-11-03T23:51:54Z,
    ),
    (
    "21 days ago",
    2024-11-03T23:51:54Z,
    ),
    (
    "504 hours ago",
    2024-11-03T23:51:54Z,
    ),
    (
    "30240 minutes ago",
    2024-11-03T23:51:54Z,
    ),
    (
    "2 months ago",
    < 2024-09-24T23:51:54Z,

       2024-09-24T22:51:54Z,
    

    ),
    (
    "1460 hours ago",
    2024-09-25T03:51:54Z,
    ),
    (
    "87600 minutes ago",
    2024-09-25T03:51:54Z,
    ),
    (
    "14 weeks ago",
    < 2024-08-18T23:51:54Z,

       2024-08-18T22:51:54Z,
    

    ),
    (
    "98 days ago",
    < 2024-08-18T23:51:54Z,

       2024-08-18T22:51:54Z,
    

    ),
    (
    "2352 hours ago",
    2024-08-18T23:51:54Z,
    ),
    (
    "141120 minutes ago",
    2024-08-18T23:51:54Z,
    ),
    (
    "5 months ago",
    < 2024-06-24T23:51:54Z,

       2024-06-24T22:51:54Z,
    

    ),
    (
    "3650 hours ago",
    2024-06-25T21:51:54Z,
    ),
    (
    "219000 minutes ago",
    2024-06-25T21:51:54Z,
    ),
    (
    "26 weeks ago",
    < 2024-05-26T23:51:54Z,

       2024-05-26T22:51:54Z,
    

    ),
    (
    "182 days ago",
    < 2024-05-26T23:51:54Z,

       2024-05-26T22:51:54Z,
    

    ),
    (
    "4368 hours ago",
    2024-05-26T23:51:54Z,
    ),
    (
    "262080 minutes ago",
    2024-05-26T23:51:54Z,
    ),
    (
    "8 months ago",
    < 2024-03-24T23:51:54Z,

       2024-03-24T22:51:54Z,
    

    ),
    (
    "5840 hours ago",
    2024-03-26T15:51:54Z,
    ),
    (
    "350400 minutes ago",
    2024-03-26T15:51:54Z,
    ),
    (
    "38 weeks ago",
    2024-03-03T23:51:54Z,
    ),
    (
    "266 days ago",
    2024-03-03T23:51:54Z,
    ),
    (
    "6384 hours ago",
    2024-03-03T23:51:54Z,
    ),
    (
    "383040 minutes ago",
    2024-03-03T23:51:54Z,
    ),
    (
    "11 months ago",
    2023-12-24T23:51:54Z,
    ),
    (
    "8030 hours ago",
    2023-12-26T09:51:54Z,
    ),
    (
    "481800 minutes ago",
    2023-12-26T09:51:54Z,
    ),
    (
    "14 months ago",
    < 2023-09-24T23:51:54Z,

       2023-09-24T22:51:54Z,
    

    ),
    (
    "21 months ago",
    2023-02-24T23:51:54Z,
    ),
    (
    "2 years ago",
    2022-11-24T23:51:54Z,
    ),
    (
    "20 years ago",
    2004-11-24T23:51:54Z,
    ),
    (
    "630720000 seconds ago",
    2004-11-29T23:51:54Z,
    ),
    ]

Commit Statistics

  • 6 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Update changelogs prior to release (7ea8582)
    • Merge pull request #1702 from EliahKagan/run-ci/duration-units (b34d14e)
    • Add support for 'any' unit, when parsing <count> <unit> ago. (34d2fce)
    • Fix test expection for UTC relative dates (856b385)
    • Parse relative months and years (c95135b)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)