Skip to content

Releases: GitoxideLabs/gitoxide

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)

gix-credentials v0.26.0

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

A maintenance release without user-facing changes.

Commit Statistics

  • 4 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 #1724 from GitoxideLabs/gix-command-api (faa0cde)
    • Adapt to changes in gix-command (c67770f)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-command v0.4.0

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

New Features

  • add Prepare::with_shell_disallow_manual_argument_splitting().
    That way it's also possible to forcefully turn off manual argument splitting.

New Features (BREAKING)

  • allow to choose the shell to use with Prepare::with_shell_program().

Bug Fixes (BREAKING)

  • rename Prepare::with_shell_allow_argument_splitting() to Prepare::with_shell_allow_manual_argument_splitting()

Commit Statistics

  • 7 commits contributed to the release over the course of 28 calendar days.
  • 28 days passed between releases.
  • 3 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 #1724 from GitoxideLabs/gix-command-api (faa0cde)
    • Rename Prepare::with_shell_allow_argument_splitting() to Prepare::with_shell_allow_manual_argument_splitting() (4d9bded)
    • Add Prepare::with_shell_disallow_manual_argument_splitting(). (26c274d)
    • Merge pull request #1718 from GitoxideLabs/with-shell-choice (801f9e9)
    • Allow to choose the shell to use with Prepare::with_shell_program(). (838420f)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

gix-archive v0.18.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)

gitoxide-core v0.44.0

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

New Features

  • add first 'debug' version of gix log
    It's primarily meant to better understand gix blame.
  • add --tree-favor to gix merge tree|commit.
    With it one can decide which side to favor in case of
    irreconcilable tree-conflicts.

Bug Fixes

  • properly indicate the end of interaction

New Features (BREAKING)

  • move all possible code from gix to gix-protocol.
    For now, just move the code down and immediately re-integrate in gix
    to be able to use its tests to validate it.

    This is a breaking change as some types move and change the layout.

Commit Statistics

  • 27 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)
    • Adapt to changes in gix-dir (329a734)
    • Merge pull request #1643 from cruessler/add-gix-log (29cb775)
    • Trim gix log to be mergeable. (162887e)
    • Add first 'debug' version of gix log (c7e04e9)
    • Merge pull request #1731 from GitoxideLabs/fix-pack-receive (ca54b8c)
    • Assure we don't try to not have wants in pack-receive (377ca46)
    • Adapt to changes in gix-protocol (41b6571)
    • Properly indicate the end of interaction (42cdc3f)
    • Merge pull request #1730 from GitoxideLabs/fix-1729 (6822689)
    • Adapt to changes in gix-dir (a7c4100)
    • Merge pull request #1727 from GitoxideLabs/dirwalk-ignore-non-regulars (69ee6a3)
    • Adapt to changes in gix-dir (a49c960)
    • Merge pull request #1726 from GitoxideLabs/radicle-tuning (a542775)
    • Adapt to changes in gix-protocol (25b8480)
    • Merge pull request #1634 from GitoxideLabs/remove-delegates (ddeb97f)
    • Adapt to changes in gix and gix-protocol (fcb21a4)
    • Move all possible code from gix to gix-protocol. (e59fc09)
    • Merge pull request #1705 from GitoxideLabs/merge (520c832)
    • Adapt to changes in gix-diff (960773e)
    • Adapt to changes in gix (9896d5d)
    • Add --tree-favor to gix merge tree|commit. (471e046)
    • Adapt to changes in gix-merge (3228de6)
    • Merge pull request #1701 from GitoxideLabs/release (e8b3b41)

v0.39.0

24 Nov 10:01
4000197
Compare
Choose a tag to compare

New Features

  • add gix merge commit --debug
    This yields additional debugging information with details about detected conflicts.
  • add gix merge commits
  • add gix merge tree to merge trees similarly to git merge-tree.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Merge pull request #1661 from GitoxideLabs/merge (0b7abfb)
    • Add gix merge commit --debug (0a5993f)
    • Merge pull request #1658 from GitoxideLabs/merge (905e5b4)
    • Add gix merge commits (4a5afc7)
    • Merge pull request #1651 from GitoxideLabs/merge (a876533)
    • Adapt to changes in gix (8d590f3)
    • Merge pull request #1618 from GitoxideLabs/merge (3fb989b)
    • Add gix merge tree to merge trees similarly to git merge-tree. (84707c2)
    • Support for merge related options in config tree (80e006b)

gix-worktree v0.38.0

24 Nov 10:00
4000197
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release.
  • 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.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 #1642 from GitoxideLabs/new-release (db5c9cf)

gix-worktree-stream v0.17.0

24 Nov 10:00
4000197
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 10 commits contributed to the release.
  • 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.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 #1687 from EliahKagan/run-ci/32bit (aeaebec)
    • Add 32-bit expectations for remaining == size assertions (daf9990)
    • Merge pull request #1662 from paolobarbolini/thiserror-v2 (7a40648)
    • Upgrade thiserror to v2.0.0 (0f0e4fe)
    • Merge pull request #1652 from EliahKagan/run-ci/chmod (8e99eba)
    • Run cargo fmt (ccb06a7)
    • Set +x in index in gix-worktree-stream basic fixture, adjust test (5aa1d1a)
    • Merge pull request #1642 from GitoxideLabs/new-release (db5c9cf)