Releases: GitoxideLabs/gitoxide
gix-packetline v0.18.2
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
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
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
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
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
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
gix-filter v0.16.0
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
gix-dir v0.11.0
Other
-
Clarify and expand descriptions of
NonFile
s
Discussed in:
#1730 (comment)At least for now, they remain called
NonFile
s (and sometimes
referred to as "non-files" in text), but more specifically defined.
Bug Fixes (BREAKING)
-
rename
entry::Kind::NonFile
toentry::Kind::Untrackable
. -
Add
entry::Kind::NonFile
.
Previously, these were misclassified asFile
, 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 withentry::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
toentry::Kind::Untrackable
. (d90412b) - Clarify and expand descriptions of
NonFile
s (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
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
Bug Fixes
-
add support for 'any' unit, when parsing
<count> <unit> ago
.
Similar to Git, any unit is allowed and will default to seconds, like60 flurps ago
will mean a minute in the past. -
Parse relative months and years
This extendsgix_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 theactual
andexpected
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 differDiff < 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)