Releases: GitoxideLabs/gitoxide
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)
gix-credentials v0.26.0
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
gix-command v0.4.0
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()
toPrepare::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()
toPrepare::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
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
gitoxide-core v0.44.0
New Features
- add first 'debug' version of
gix log
It's primarily meant to better understandgix blame
. - add
--tree-favor
togix 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
togix-protocol
.
For now, just move the code down and immediately re-integrate ingix
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
andgix-protocol
(fcb21a4) - Move all possible code from
gix
togix-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
togix merge tree|commit
. (471e046) - Adapt to changes in
gix-merge
(3228de6) - Merge pull request #1701 from GitoxideLabs/release (e8b3b41)
v0.39.0
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 togit 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 togit merge-tree
. (84707c2) - Support for merge related options in config tree (80e006b)
gix-worktree v0.38.0
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
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)