Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.18.0 (2022-09-20)
Changed
-
ein tool hours -swas split into-f|--file-statsand-l|line-stats. That way more information is generated at increasingly high costs.
New Features
-
ein tool hours -sshows statistics about files added/removed/modified. -
ein tool hours --statto collect additional statistics per author. Note that these are expensive and unconditionally use threads to speed up these computations. -
ein tool hoursis (even) faster and uses half the peak memory. On the linux kernel, this causes a peak memory usage of 120MB, whereas git hovers at 1.4GB. -
ein tool hours -bignores bots. For now it only considers bots with names containing[bot]. -
ein tool hours -pnow shows the percentage of hours worked as well. That way it's easier to tell how much time was invested per author. -
protocol::Context::to_bstring(), and use it inexample/git-credential-lite
New Features (BREAKING)
-
git-diffis now included by default as part of core functionality
Commit Statistics
- 70 commits contributed to the release over the course of 27 calendar days.
- 27 days passed between releases.
- 8 commits were understood as conventional.
- 3 unique issues were worked on: #450, #470, #XXX
Commit Details
view details
- #450
- refactor (
11851f3) - option to print server information about the connection (
4720666) - don't print tags as target, as it's misleading (
098961f) - nicer printing of fixes (
fec6db8) - adapt to changes in
git-refspec(91d1a3a) - show fixes as well (
2237495) - Correct printing of tag information (even though it doesn't look great) (
f4d8198) - better refmap printing (
6f60a79) - first basic implementation of
ref-map(4dbfa4c) - wire up the
ref-mapsub-command. (94c2b78) - adjust to changes in
git-protocol(06d45ff) - remove quick-error in favor of thiserror (
ea84e62) - Use repository configuration for calling credential helper (
8e07784) - refactor (
7abc0a3) - Add sketch of
gix credential(642e21f) protocol::Context::to_bstring(), and use it inexample/git-credential-lite(15f1afc)- adjust to deal with changes to git-repository (
b99b6bf) - adjust to changes in
git-credentials(dc32898) - adjust to changes in
git-credentials(cabe40a)
- refactor (
- #470
- update changelogs prior to release (
caa7a1b) - percentages for files and lines added (
bf63a13) - only diff files that are probably not a binary file (as per extension). (
2a3c5b0) - replace
flumewithcrossbeam-channelas it's already in the dependency graph (e27b65a) - refactor (
e3e3211) - make stat extractions interruptable (
cb53324) - collect changes lines as well (
84eb777) - show discovered file chnages in real-time (
0614318) ein tool hours -swas split into-f|--file-statsand-l|line-stats. (3c7c9a7)- avoid binary search if there is nothing to find (
ffd4f0f) ein tool hours -sshows statistics about files added/removed/modified. (b8f2f8b)- working progress printing (
67ec2c7) - First attempt to get progress information from stat worker. (
0947c70) ein tool hours --statto collect additional statistics per author. (28c4cae)
- update changelogs prior to release (
- #XXX
git-diffis now included by default as part of core functionality (e090f84)
- Uncategorized
- Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (
29a043b) - Speed up
ein t hourseven more by optimizinggit-mailmap. (2549195) ein tool hoursis (even) faster and uses half the peak memory. (4d0977d)- ein t hours: introduce string heap for cutting peak memory in half (
d79133b) - prepare for deduplicating strings (
98465a6) - remove rayon in favor of a simple worker thread (
5d70f87) - use rev-specs instead of ref-names (
cf7182e) - make fmt (
429cccc) ein tool hours -bignores bots. (5d0332f)ein tool hours -pnow shows the percentage of hours worked as well. (f28783b)- Merge branch 'filter-refs' (
fd14489) - Merge branch 'index-from-tree' (
172f73c) - use rev_parse_single() instead of rev_parse().single() (
09948a5) - Merge branch 'git_date_relative' (
83a3832) - Merge branch 'filter-refs' (
e10554d) - remove explicit
git-featurescrate (c41c94b) - remove
git-configdependency (cf63d87) - remove unnecessary git-date dependency (
cbc9ba9) - gix rev parse uses ISO8601 time format. (
efefac4) - make fmt (
535e967) - Merge branch 'main' into filter-refs-by-spec (
9aa1d3d) - Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates (
1d4600a) - Merge branch 'main' into filter-refs-by-spec (
1f6e5ab) - Merge branch 'git_date_parse' (
75591fb) - Merge branch 'main' into filter-refs-by-spec (
51dc828) - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 (
2571831) - Merge branch 'macos-exfat' (
f256f8f) - Merge branch 'main' into filter-refs-by-spec (
56ba481) - Make sure we start out at a commit for the traversal to work (
ce01093) - A basic implementation of rev-list without anything fancy (
791dd66) - Merge branch 'main' into filter-refs-by-spec (
a36c05d) - Merge branch 'main' into filter-refs-by-spec (
cef0b51) - Release git-object v0.20.3, git-ref v0.15.4, git-config v0.7.1, git-diff v0.18.0, git-traverse v0.16.3, git-pack v0.22.0, git-odb v0.32.0, git-url v0.7.3, git-transport v0.19.3, git-protocol v0.19.1, git-refspec v0.1.1, git-repository v0.23.0, safety bump 6 crates (
85a3bed) - Release git-features v0.22.3, git-revision v0.4.4 (
c2660e2) - Merge branch 'main' into filter-refs-by-spec (
dbfa328) - Merge branch 'main' into filter-refs-by-spec (
cfa1440)
- Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (
0.17.0 (2022-08-24)
Chore
- uniformize deny attributes
New Features
-
gix remote refsto list all remote references of a suitable remote. This takes into account either a named remote, or the remote associated with the current branch, or the default remote it could deduce or obtain from the configuration. - use docsrs feature in code to show what is feature-gated automatically on docs.rs
- pass --cfg docsrs when compiling for https://docs.rs
Changed (BREAKING)
- remove
gix free remote ref-listin favor ofgix remote refsThe functinality is the same, but the latter is built on top of a repository which is slightly less flexible, but preferable over maintaining a non-repo version.
Commit Statistics
- 22 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- 5 commits were understood as conventional.
- 1 unique issue was worked on: #450
Commit Details
view details
- #450
- Support for -c CLI config overrides in
gix config. (19c1746) - remove
gix free remote ref-listin favor ofgix remote refs(dda9957) - refactor (
e0be6e9) - Add support for passing urls directly to bypass all remote repository logic. (
df3cf18) gix remote refsto list all remote references of a suitable remote. (5d6d5ca)- Try to use maybe async for the simplest of possibly blocking remote interactions (
db4df25) - basic parsing of
gix remote refswithout any implementation. (f8f1249)
- Support for -c CLI config overrides in
- Uncategorized
- Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 (
1fb931a) - update changelogs prior to release (
23cb58f) - Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates (
4974eca) - Merge branch 'example-write-blob' (
afedd7f) - Merge pull request #494 from ultrasaurus/patch-1 (
86fe22c) - Merge branch 'main' into remote-ls-refs (
95f2f4f) - Merge branch 'example-new-repo' (
946dd3a) - Merge branch 'main' into remote-ls-refs (
e2ee3de) - use docsrs feature in code to show what is feature-gated automatically on docs.rs (
b1c40b0) - uniformize deny attributes (
f7f136d) - pass --cfg docsrs when compiling for https://docs.rs (
5176771) - Merge branch 'main' into remote-ls-refs (
c82bbfa) - prepare for release of git-repository (
8aa5389) - Merge branch 'main' into remote-ls-refs (
bd5f3e8) - greatly improve
gix commit describeperformance by adding an object cache (d07daaa)
- Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 (
0.16.0 (2022-08-17)
New Features
-
--cat-fileflag forgix rev parseto cat instead of resolving. -
gix rev previous-branchessubcommand
Changed (BREAKING)
-
remove
Repository::load_index()in favor ofrepo.worktree().open_index(). -
git_revisionis now available inrevision::plumbing. That way it won't clash with the higher-level constructs on top of it which use the same names. -
adapt to changes in
git-urland useBStringto represent URLs. They can contain paths, which is whyStringcan't repsent a URL losslessly.For HTTP urls these are ultimately UTF-8 strings though.
New Features (BREAKING)
-
gix rev resolve --explain -
Repository::rev_parse()returns aRevSpec. This lays the foundation for actually handling rev-specs faithfully. Previous users should userev_parse().single()to obtain a single object id which was the only supported usecase previously.
Commit Statistics
- 42 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- 7 commits were understood as conventional.
- 3 unique issues were worked on: #427, #450, #482
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
- #427
--cat-fileflag forgix rev parseto cat instead of resolving. (b83f6bd)gix rev resolve --explain(c5846e0)- make fmt (
4b320e7) gix rev previous-branchessubcommand (e972aad)- support for parsing multiple specs in one invocation (
84b5448) - adapt to changes in
git-repository(ebb788c) - remove
Repository::load_index()in favor ofrepo.worktree().open_index(). (ea35183) - Assure desirable performance by assuring an object cache exists. (
af32128) - Use
Displayfor revision printing instead ofDebug(d194f15) git_revisionis now available inrevision::plumbing. (4fd0968)- Make use of
git-revision::SpecinRevSpecdata structure. (004915e) - adjust to change in git-revision (
51762bb) - adjust to changes in git-revision (
df7da1f) - adjust to changes in
git-revision(a70f262) gix rev parsenow usesRepository::rev_parse()(e191681)Repository::rev_parse()returns aRevSpec. (e2aff28)
- #450
- adjust to changes in
git-transport(94a623b) - adapt to changes in
git-transportandgit-url ([4ae2390`](https://github.com/Byron/gitoxide/commit/4ae2390578e086705c640fa74d273e1f82c9ab62)) - use
git-transportasync-std support and connect (bb90741) - adjust to changes in
git-transport(3a024ed) - refactor (
9d9fe6c) - adapt to changes in
git-url(624b180) - adapt to changes in
git-urland useBStringto represent URLs. (12589cc) - first successful test for returning a refspec. (
6e5bd5c)
- adjust to changes in
- #482
- Bring back conversion from discovery kind to
git-repository::Kind(ebb5bee)
- Bring back conversion from discovery kind to
- Uncategorized
- Release git-commitgraph v0.8.1, gitoxide-core v0.16.0, gitoxide v0.14.0 (
183c048) - prepare for gitoxide release (
6305d52) - Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (
c96473d) - Release git-hash v0.9.7, git-features v0.22.1 (
232784a) - Merge branch 'main' into remote-ls-refs (
c4bf958) - fix tree ext reading and writing; round-trip with long path works now (
f93febe) - Merge branch 'format_git_date_time' (
99e12be) - Merge branch 'main' into remote-ls-refs (
de61c4d) - thanks clippy (
4bd747c) - Merge branch 'main' into remote-ls-refs (
e8fc89d) - Merge branch 'write-index-files' into write-index-v2 (
cddc2ca) - Merge branch 'write-index-files' into rev-parse-delegate (
370110d) - Merge branch 'main' into rev-parse-delegate (
4ae2bed) - Merge branch 'main' into rev-parse-delegate (
6da8250) - make fmt (
47724c0) - Merge branch 'kianmeng-fix-typos' (
4e7b343) - Fix typos (
e9fcb70)
- Release git-commitgraph v0.8.1, gitoxide-core v0.16.0, gitoxide v0.14.0 (
0.15.0 (2022-07-22)
Changed (BREAKING)
-
remove local-time-support feature toggle. We treat local time as default feature without a lot of fuzz, and will eventually document that definitive support needs a compile time switch in the compiler (
--cfg unsound_local_offsetor something).One day it will perish. Failure is possible anyway and we will write code to deal with it while minimizing the amount of system time fetches when asking for the current local time.
-
Associate
file::Metadatawith eachFile. This is the first step towards knowing more about the source of each value to filter them based on some properties.This breaks various methods handling the instantiation of configuration files as
file::Metadatatypically has to be provided by the caller now or be associated with each path to read configuration from.
New Features
-
gix configwith section and sub-section filtering. -
gix configlists all entries of all configuration files git considers. Filters allow to narrow down the output. - Use
git-configto write config file on initialization, includinglogallrefupdatesandprecomposeunicode.
Bug Fixes
-
ein tool organizenow ignores worktrees. Previously it would report an error due to invalid assumptions. The new behaviour acknowledges that worktrees are placed by hand and moving them is almost always not what the user would want, even ignoring the added complexity in doing so correctly. - improve error messages related to object decoding
Commit Statistics
- 71 commits contributed to the release over the course of 101 calendar days.
- 108 days passed between releases.
- 7 commits were understood as conventional.
- 3 unique issues were worked on: #301, #331, #427
Thanks Clippy
Clippy helped 2 times to make code idiomatic.
Commit Details
view details
- #301
- fix build (
d7dac11) - refactor (
7b5fe1d) - adjust to changes in git-repository (
e1dbf85) - fix build (
40b8d4c) - Allow reading patterns from stdin (
0c597fe) - Add
--show-ignore-patternstogix repo exclude query(09f904b) - Basic prefix support as well the first working version of
exclude query(9cb8385) - Support for overrides on the command-line (
7d98b21) - preliminary access to a fully configured exclusion cache (
259d015) - fix build (
cb56f12) - sketch
open_index()onWorktree, but… (ff76261) - a sketch of basic Worktree support (
732f6fb) - refactor (
3ff991d) - frame for
gix repo exclude query(a331314) - adapt to changes in git-path (
cc2d810) - Use
git-pathcrate instead ofgit_features::path(47e607d) - fix build (
ffe92ca) - Make attributes and ignore configuration possible, but… (
8a75fd7) - make fmt (
50ff7aa)
- fix build (
- #331
- Group similarly named sections together more by not separating them with newline (
4c69541) - Make lossy-configuration configurable (
b0e4da6) - update README with
gix configinformation (c19d9fd) - remove local-time-support feature toggle. (
89a41bf) gix configwith section and sub-section filtering. (eda39ec)gix configlists all entries of all configuration files git considers. (d99453e)- Associate
file::Metadatawith eachFile. (6f4eea9) - Use
git-configto write config file on initialization, includinglogallrefupdatesandprecomposeunicode. (7f67b23) - adjust to changes in
git-config(c52cb95)
- Group similarly named sections together more by not separating them with newline (
- #427
- fix build (
4355e6b) - improve describe hinting to allow hinting with describe-anchors as well (
d993992) - support disambiguation of describe prefixes (
637dcb0) - Add rough but working version of
rev-parse(f3f176d) - improve error messages related to object decoding (
761695c) - First implementation of object peeling (
b1ef03a) - refactor (
a3cb4da) - Handle 'kind' changes which completes 'explain' (
45022a0) - Support for explaining all navitation (
ace9c89) - start navigation implementation (
ea1c009) - Implement
Revisionanchors (a1f0e3d) - basic infrastructure for delegate implementation (
d3c0bc6) - Hookup explain command (
1049b00)
- fix build (
- Uncategorized
- Release git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 (
d4df661) - Release git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 (
aa639d8) - Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates (
4737b1e) - prepare changelog prior to release (
3c50625) - make fmt (
0700b09) - fix build after changes to
git-urlandgit-config(1f02420) - Merge branch 'main' into cont_include_if (
daa71c3) - Merge branch 'main' into cont_include_if (
0e9df36) - Merge branch 'main' into cont_include_if (
41ea8ba) - Release git-path v0.3.0, safety bump 14 crates (
400c9be) - Release git-date v0.0.1, git-hash v0.9.5, git-features v0.21.1, git-actor v0.10.1, git-path v0.2.0, git-attributes v0.2.0, git-ref v0.14.0, git-sec v0.2.0, git-config v0.5.0, git-credentials v0.2.0, git-discover v0.2.0, git-pack v0.20.0, git-odb v0.30.0, git-url v0.6.0, git-transport v0.18.0, git-protocol v0.17.0, git-revision v0.2.1, git-worktree v0.3.0, git-repository v0.19.0, safety bump 13 crates (
a417177) - update changelogs prior to release (
bb424f5) - Merge branch 'main' into svetli-n-cont_include_if (
315c87e) - Refact. (
a342e53) ein tool organizenow ignores worktrees. (5667a7c)- Revert "ignore worktrees in 'organize', but…" (
f59471f) - ignore worktrees in 'organize', but… (
e501c9e) - Merge branch 'davidkna-admin-sec' (
3d0e2c2) - Release git-path v0.1.3, git-discover v0.1.2, git-repository v0.18.1, cargo-smart-release v0.10.1 (
b7399cc) - Merge branch 'davidkna-discover-x-fs' (
9abaeda) - Release git-path v0.1.2, git-sec v0.1.1, git-config v0.4.0, git-discover v0.1.1, git-pack v0.19.1, git-repository v0.18.0, cargo-smart-release v0.10.0, safety bump 2 crates (
ceb6dff) - fix most of docs (
1fe053f) - refactor (
07e0f5e) - Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates (
654cf39) - make fmt (
e043807) - make fmt (
251b6df) - Merge branch 'git_includeif' of https://github.com/svetli-n/gitoxide into svetli-n-git_includeif (
0e01da7) - thanks clippy (
d011d4e) - thanks clippy (
fdec111) - Release git-glob v0.2.0, safety bump 3 crates (
ab6bed7)
- Release git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 (
0.14.0 (2022-04-05)
New Features
-
Add
gix repo commit describeIt supports typical but basic flags mostly similar to the ones in git. -
Commit::describe()A way to fluidly configure agit describeoperation and run it.Along that, a new
Tagtop-level object was added as well to provide convenient access to otherwise lower-level objects. It's not strictly required for our implementation here but it's needed for a symmetric API.
Commit Statistics
- 8 commits contributed to the release.
- 2 days passed between releases.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #298
Commit Details
view details
- #298
- restrict signature changes to 'Ancestores::sorting()
([d71bd9d`](https://github.com/Byron/gitoxide/commit/d71bd9ded1e5e5a61a27be3d55f4b85ee4049bcf)) - Adjust to changes in git-traverse (
8240622) - support for the --max-candidates flag (
b9e6754) - Reduce amount of max candidates, add --debug flag (
c8c13e3) - Add
gix repo commit describe(7e99e6a) Commit::describe()(654f4af)
- restrict signature changes to 'Ancestores::sorting()
- Uncategorized
- Release git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0 (
f041c00) - Release git-config v0.2.1, git-diff v0.15.0, git-traverse v0.14.0, git-pack v0.18.0, git-odb v0.28.0, git-ref v0.12.1, git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0, safety bump 6 crates (
b612021)
- Release git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0 (
0.13.0 (2022-04-03)
Refactor (BREAKING)
- clarify different repository types much better
- Remove light* features, add 'lean-async' in its place; remove termion support
- remove pack-cache from
Find::try_find(…)With the new architecture this can be an implementation detail without forcing it to be Sync. - move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases.
Other
- Try to make Handle usable for pack creation It's nearly there, but for some reason the boxed dyn traits don't get to be Send even though it's specified.
Bug Fixes
-
Allow resolution of in-pack ref-deltas This finally allows delta tree caches to be used on typical small packs returned by GitHub.
-
keep non "git" repository name extensions When converting a remote URL to a destination directory name, keep extension strings if they are not equal to "git". For example,
-
Avoid the dashmap being cloned for each thread Intead, share it by reference, it's sync after all.
This issue was introduced when switching to a
Send + Clonemodel, instead ofSend + Sync, to allow thread-local caches in database handles of all kinds.
Lines 1–500 of 1607. Load more
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## 0.18.0 (2022-09-20) ### Changed - <csr-id-3c7c9a735f5771ef787cbc86b46cbafc9226f4d6/> `ein tool hours -s` was split into `-f|--file-stats` and `-l|line-stats`. That way more information is generated at increasingly high costs. ### New Features - <csr-id-b8f2f8bac8af5ea5edd774860ee06117a54a723f/> `ein tool hours -s` shows statistics about files added/removed/modified. - <csr-id-28c4cae70aab2bd5b479961fcc6ee91ff80f651b/> `ein tool hours --stat` to collect additional statistics per author. Note that these are expensive and unconditionally use threads to speed up these computations. - <csr-id-4d0977dce6ffd8adeeb0af02922cd8e04db8e94e/> `ein tool hours` is (even) faster and uses half the peak memory. On the linux kernel, this causes a peak memory usage of 120MB, whereas git hovers at 1.4GB. - <csr-id-5d0332f51c63c5456a28c8f3f466ad805b2e0626/> `ein tool hours -b` ignores bots. For now it only considers bots with names containing `[bot]`. - <csr-id-f28783b0d6a8ad37028960f7094c7570768d45cc/> `ein tool hours -p` now shows the percentage of hours worked as well. That way it's easier to tell how much time was invested per author. - <csr-id-15f1afccb7ed0ebaf217cbbdd58e6ae651a31e42/> `protocol::Context::to_bstring()`, and use it in `example/git-credential-lite` ### New Features (BREAKING) - <csr-id-e090f843f5cffc8e8e47a8cac2e6fb98e4c47771/> `git-diff` is now included by default as part of core functionality ### Commit Statistics <csr-read-only-do-not-edit/> - 70 commits contributed to the release over the course of 27 calendar days. - 27 days passed between releases. - 8 commits were understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470), [#XXX](https://github.com/Byron/gitoxide/issues/XXX) ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#450](https://github.com/Byron/gitoxide/issues/450)** - refactor ([`11851f3`](https://github.com/Byron/gitoxide/commit/11851f334f642e7bd69bcbfc7ad4f1990fc326ba)) - option to print server information about the connection ([`4720666`](https://github.com/Byron/gitoxide/commit/4720666c8bfdaa3acc5c832b44755d4b4f86e16e)) - don't print tags as target, as it's misleading ([`098961f`](https://github.com/Byron/gitoxide/commit/098961f9842f8c7d6f6254eb1ffe83fed8a403ce)) - nicer printing of fixes ([`fec6db8`](https://github.com/Byron/gitoxide/commit/fec6db8fc3fb13ba15b032751d0414da93adb113)) - adapt to changes in `git-refspec` ([`91d1a3a`](https://github.com/Byron/gitoxide/commit/91d1a3abf02841c9b43fd8a3102375315a6db160)) - show fixes as well ([`2237495`](https://github.com/Byron/gitoxide/commit/2237495d82624b39bf75c6430549424a5e36b8bb)) - Correct printing of tag information (even though it doesn't look great) ([`f4d8198`](https://github.com/Byron/gitoxide/commit/f4d8198992b4c45f64d81e20f40a1cad69883162)) - better refmap printing ([`6f60a79`](https://github.com/Byron/gitoxide/commit/6f60a793297e2a29cf835591add6669c067da3e5)) - first basic implementation of `ref-map` ([`4dbfa4c`](https://github.com/Byron/gitoxide/commit/4dbfa4c7a06a61caa28288a354e3ca3b68aafc82)) - wire up the `ref-map` sub-command. ([`94c2b78`](https://github.com/Byron/gitoxide/commit/94c2b785f892f85503b8927c7fa98ae99d677be7)) - adjust to changes in `git-protocol` ([`06d45ff`](https://github.com/Byron/gitoxide/commit/06d45ff10ec2c401ac52d77f7430a8c8c0ba93a6)) - remove quick-error in favor of thiserror ([`ea84e62`](https://github.com/Byron/gitoxide/commit/ea84e62493f9a8193603fd43da0de9d581d15637)) - Use repository configuration for calling credential helper ([`8e07784`](https://github.com/Byron/gitoxide/commit/8e07784d5935efa62fc70085bb81259c038a7330)) - refactor ([`7abc0a3`](https://github.com/Byron/gitoxide/commit/7abc0a39205b9f374c90c4750fe6cc9b3749d7b9)) - Add sketch of `gix credential` ([`642e21f`](https://github.com/Byron/gitoxide/commit/642e21fc58d8d4b68cba3067c88d44c019ec4ace)) - `protocol::Context::to_bstring()`, and use it in `example/git-credential-lite` ([`15f1afc`](https://github.com/Byron/gitoxide/commit/15f1afccb7ed0ebaf217cbbdd58e6ae651a31e42)) - adjust to deal with changes to git-repository ([`b99b6bf`](https://github.com/Byron/gitoxide/commit/b99b6bfea47a4485496c2eb565693a6a53efe166)) - adjust to changes in `git-credentials` ([`dc32898`](https://github.com/Byron/gitoxide/commit/dc32898e9dda9cb8eee2bcad31cbe1c13d31f214)) - adjust to changes in `git-credentials` ([`cabe40a`](https://github.com/Byron/gitoxide/commit/cabe40a15460cffd14618d4bb936e1f2805d687a)) * **[#470](https://github.com/Byron/gitoxide/issues/470)** - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd)) - percentages for files and lines added ([`bf63a13`](https://github.com/Byron/gitoxide/commit/bf63a139292ffe265b1d7bcbbd0c0980dc042e1e)) - only diff files that are probably not a binary file (as per extension). ([`2a3c5b0`](https://github.com/Byron/gitoxide/commit/2a3c5b000493a5a4cf62a5d5e2a509bc12a9fedd)) - replace `flume` with `crossbeam-channel` as it's already in the dependency graph ([`e27b65a`](https://github.com/Byron/gitoxide/commit/e27b65abfceb90cadd1902381414d9052ec6d8d0)) - refactor ([`e3e3211`](https://github.com/Byron/gitoxide/commit/e3e3211e8ae3470556a12666c1c99fdd5221e887)) - make stat extractions interruptable ([`cb53324`](https://github.com/Byron/gitoxide/commit/cb533241255922993bb1275428a97e6b4c3f6fdc)) - collect changes lines as well ([`84eb777`](https://github.com/Byron/gitoxide/commit/84eb777e52808c7c9019a7a0b004ed4d81a8be7c)) - show discovered file chnages in real-time ([`0614318`](https://github.com/Byron/gitoxide/commit/0614318c67927f84c07640234d266b8d24bc74d3)) - `ein tool hours -s` was split into `-f|--file-stats` and `-l|line-stats`. ([`3c7c9a7`](https://github.com/Byron/gitoxide/commit/3c7c9a735f5771ef787cbc86b46cbafc9226f4d6)) - avoid binary search if there is nothing to find ([`ffd4f0f`](https://github.com/Byron/gitoxide/commit/ffd4f0f7edcf403573044120caf789cddb38b868)) - `ein tool hours -s` shows statistics about files added/removed/modified. ([`b8f2f8b`](https://github.com/Byron/gitoxide/commit/b8f2f8bac8af5ea5edd774860ee06117a54a723f)) - working progress printing ([`67ec2c7`](https://github.com/Byron/gitoxide/commit/67ec2c7f9a4a6cefdf7148f5c7e48a79f201c4d2)) - First attempt to get progress information from stat worker. ([`0947c70`](https://github.com/Byron/gitoxide/commit/0947c703f9cecc31ceba101565e6ecafb00adb08)) - `ein tool hours --stat` to collect additional statistics per author. ([`28c4cae`](https://github.com/Byron/gitoxide/commit/28c4cae70aab2bd5b479961fcc6ee91ff80f651b)) * **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)** - `git-diff` is now included by default as part of core functionality ([`e090f84`](https://github.com/Byron/gitoxide/commit/e090f843f5cffc8e8e47a8cac2e6fb98e4c47771)) * **Uncategorized** - Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates ([`29a043b`](https://github.com/Byron/gitoxide/commit/29a043be6808a3e9199a9b26bd076fe843afe4f4)) - Speed up `ein t hours` even more by optimizing `git-mailmap`. ([`2549195`](https://github.com/Byron/gitoxide/commit/2549195b601a2020ecdba21168ef9066a3ddfc50)) - `ein tool hours` is (even) faster and uses half the peak memory. ([`4d0977d`](https://github.com/Byron/gitoxide/commit/4d0977dce6ffd8adeeb0af02922cd8e04db8e94e)) - ein t hours: introduce string heap for cutting peak memory in half ([`d79133b`](https://github.com/Byron/gitoxide/commit/d79133b1f70011f2a4075b557868ebcf9f8a992f)) - prepare for deduplicating strings ([`98465a6`](https://github.com/Byron/gitoxide/commit/98465a61d11c6eac298d65da149338dd60004e5d)) - remove rayon in favor of a simple worker thread ([`5d70f87`](https://github.com/Byron/gitoxide/commit/5d70f873661492fee540a941ce5c291d597ea918)) - use rev-specs instead of ref-names ([`cf7182e`](https://github.com/Byron/gitoxide/commit/cf7182e3390c03df97c10cd101440f7aa8874904)) - make fmt ([`429cccc`](https://github.com/Byron/gitoxide/commit/429cccc5831c25a7205a12dc7a0443ac48616e2c)) - `ein tool hours -b` ignores bots. ([`5d0332f`](https://github.com/Byron/gitoxide/commit/5d0332f51c63c5456a28c8f3f466ad805b2e0626)) - `ein tool hours -p` now shows the percentage of hours worked as well. ([`f28783b`](https://github.com/Byron/gitoxide/commit/f28783b0d6a8ad37028960f7094c7570768d45cc)) - Merge branch 'filter-refs' ([`fd14489`](https://github.com/Byron/gitoxide/commit/fd14489f729172d615d0fa1e8dbd605e9eacf69d)) - Merge branch 'index-from-tree' ([`172f73c`](https://github.com/Byron/gitoxide/commit/172f73cf26878d153d51790fa01853fa4ba6beb7)) - use rev_parse_single() instead of rev_parse().single() ([`09948a5`](https://github.com/Byron/gitoxide/commit/09948a56449c372444e1ee13138128482a97b0be)) - Merge branch 'git_date_relative' ([`83a3832`](https://github.com/Byron/gitoxide/commit/83a38329c59e9ebc057221da832fd8320bbeddb1)) - Merge branch 'filter-refs' ([`e10554d`](https://github.com/Byron/gitoxide/commit/e10554d2a3b9c027353a432b0c84f7d3797b7cae)) - remove explicit `git-features` crate ([`c41c94b`](https://github.com/Byron/gitoxide/commit/c41c94bc322f60f81b144b27c520938d600487d1)) - remove `git-config` dependency ([`cf63d87`](https://github.com/Byron/gitoxide/commit/cf63d87d3fc19d317988d718adf53eeaedf0c8ca)) - remove unnecessary git-date dependency ([`cbc9ba9`](https://github.com/Byron/gitoxide/commit/cbc9ba949ca52c847dfa1d8e79f7686cafcac291)) - gix rev parse uses ISO8601 time format. ([`efefac4`](https://github.com/Byron/gitoxide/commit/efefac4576ca8a49010c10356a828f0006551065)) - make fmt ([`535e967`](https://github.com/Byron/gitoxide/commit/535e967666c6da657ff1b7eff7c64ab27cafb182)) - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8)) - Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates ([`1d4600a`](https://github.com/Byron/gitoxide/commit/1d4600ae51475c2e225f96c16c41e2c4a2b3f2aa)) - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe)) - Merge branch 'git_date_parse' ([`75591fb`](https://github.com/Byron/gitoxide/commit/75591fb108ce440ba2f920bebf99158b407e3046)) - Merge branch 'main' into filter-refs-by-spec ([`51dc828`](https://github.com/Byron/gitoxide/commit/51dc8282fb77b519ff7d2c94c6bd73af306cfe8b)) - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 ([`2571831`](https://github.com/Byron/gitoxide/commit/2571831e5939bf4ea6f19537b0c1ccd71dc99088)) - Merge branch 'macos-exfat' ([`f256f8f`](https://github.com/Byron/gitoxide/commit/f256f8fb7603f83d44acda07386f277c65ac652c)) - Merge branch 'main' into filter-refs-by-spec ([`56ba481`](https://github.com/Byron/gitoxide/commit/56ba481f4c48f74f10397feb1b6dc3d7dd3704fb)) - Make sure we start out at a commit for the traversal to work ([`ce01093`](https://github.com/Byron/gitoxide/commit/ce0109366ef46d014447c1609070d306930115dc)) - A basic implementation of rev-list without anything fancy ([`791dd66`](https://github.com/Byron/gitoxide/commit/791dd666430fe0586c7db75b352487a72d3789e7)) - Merge branch 'main' into filter-refs-by-spec ([`a36c05d`](https://github.com/Byron/gitoxide/commit/a36c05d281269f3f8b297e7adc463bfb3c306663)) - Merge branch 'main' into filter-refs-by-spec ([`cef0b51`](https://github.com/Byron/gitoxide/commit/cef0b51ade2a3301fa09ede7a425aa1fe3527e78)) - Release git-object v0.20.3, git-ref v0.15.4, git-config v0.7.1, git-diff v0.18.0, git-traverse v0.16.3, git-pack v0.22.0, git-odb v0.32.0, git-url v0.7.3, git-transport v0.19.3, git-protocol v0.19.1, git-refspec v0.1.1, git-repository v0.23.0, safety bump 6 crates ([`85a3bed`](https://github.com/Byron/gitoxide/commit/85a3bedd68d2e5f36592a2f691c977dc55298279)) - Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51)) - Merge branch 'main' into filter-refs-by-spec ([`dbfa328`](https://github.com/Byron/gitoxide/commit/dbfa3282cf876596b250b2040c1ec0b761741796)) - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475)) </details> ## 0.17.0 (2022-08-24) <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> ### Chore - <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> uniformize deny attributes ### New Features - <csr-id-5d6d5ca305615568dfedbcc10ea86294c0a0472d/> `gix remote refs` to list all remote references of a suitable remote. This takes into account either a named remote, or the remote associated with the current branch, or the default remote it could deduce or obtain from the configuration. - <csr-id-b1c40b0364ef092cd52d03b34f491b254816b18d/> use docsrs feature in code to show what is feature-gated automatically on docs.rs - <csr-id-517677147f1c17304c62cf97a1dd09f232ebf5db/> pass --cfg docsrs when compiling for https://docs.rs ### Changed (BREAKING) - <csr-id-dda995790c260131048484a11e66185b9c841311/> remove `gix free remote ref-list` in favor of `gix remote refs` The functinality is the same, but the latter is built on top of a repository which is slightly less flexible, but preferable over maintaining a non-repo version. ### Commit Statistics <csr-read-only-do-not-edit/> - 22 commits contributed to the release over the course of 5 calendar days. - 6 days passed between releases. - 5 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450) ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#450](https://github.com/Byron/gitoxide/issues/450)** - Support for -c CLI config overrides in `gix config`. ([`19c1746`](https://github.com/Byron/gitoxide/commit/19c1746cefca9bc76537637ec99634eb4cf66a92)) - remove `gix free remote ref-list` in favor of `gix remote refs` ([`dda9957`](https://github.com/Byron/gitoxide/commit/dda995790c260131048484a11e66185b9c841311)) - refactor ([`e0be6e9`](https://github.com/Byron/gitoxide/commit/e0be6e9558add3255de63f3785306daace2707a6)) - Add support for passing urls directly to bypass all remote repository logic. ([`df3cf18`](https://github.com/Byron/gitoxide/commit/df3cf18a6ac1e4f35f6d11d62184a43722397bbe)) - `gix remote refs` to list all remote references of a suitable remote. ([`5d6d5ca`](https://github.com/Byron/gitoxide/commit/5d6d5ca305615568dfedbcc10ea86294c0a0472d)) - Try to use maybe async for the simplest of possibly blocking remote interactions ([`db4df25`](https://github.com/Byron/gitoxide/commit/db4df250d7e58518015bed0b9a1e3391b209cb29)) - basic parsing of `gix remote refs` without any implementation. ([`f8f1249`](https://github.com/Byron/gitoxide/commit/f8f124943f73bacf816c6d0055f0b66659fd3906)) * **Uncategorized** - Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 ([`1fb931a`](https://github.com/Byron/gitoxide/commit/1fb931a7ea59f1cf895a6c1392fd8615b723c743)) - update changelogs prior to release ([`23cb58f`](https://github.com/Byron/gitoxide/commit/23cb58f02043e0e5027136fd6e8e724c03a2efbe)) - Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates ([`4974eca`](https://github.com/Byron/gitoxide/commit/4974eca96d525d1ee4f8cad79bb713af7a18bf9d)) - Merge branch 'example-write-blob' ([`afedd7f`](https://github.com/Byron/gitoxide/commit/afedd7f86ec8ea18a8165f71698ecc886f5cf643)) - Merge pull request #494 from ultrasaurus/patch-1 ([`86fe22c`](https://github.com/Byron/gitoxide/commit/86fe22cb1aad5944a229bc2a5252b36ef1fd59ef)) - Merge branch 'main' into remote-ls-refs ([`95f2f4f`](https://github.com/Byron/gitoxide/commit/95f2f4f17f7eae174a64c7d9f6a1513d73b21bbb)) - Merge branch 'example-new-repo' ([`946dd3a`](https://github.com/Byron/gitoxide/commit/946dd3a80522ef437e09528a93aa1433f01b0ee8)) - Merge branch 'main' into remote-ls-refs ([`e2ee3de`](https://github.com/Byron/gitoxide/commit/e2ee3ded97e5c449933712883535b30d151c7c78)) - use docsrs feature in code to show what is feature-gated automatically on docs.rs ([`b1c40b0`](https://github.com/Byron/gitoxide/commit/b1c40b0364ef092cd52d03b34f491b254816b18d)) - uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78)) - pass --cfg docsrs when compiling for https://docs.rs ([`5176771`](https://github.com/Byron/gitoxide/commit/517677147f1c17304c62cf97a1dd09f232ebf5db)) - Merge branch 'main' into remote-ls-refs ([`c82bbfa`](https://github.com/Byron/gitoxide/commit/c82bbfaddc45bf9b5b55f056613046d977d9ef09)) - prepare for release of git-repository ([`8aa5389`](https://github.com/Byron/gitoxide/commit/8aa5389d5a1bdd3a07f1caa1c2f55c8af4f9844a)) - Merge branch 'main' into remote-ls-refs ([`bd5f3e8`](https://github.com/Byron/gitoxide/commit/bd5f3e8db7e0bb4abfb7b0f79f585ab82c3a14ab)) - greatly improve `gix commit describe` performance by adding an object cache ([`d07daaa`](https://github.com/Byron/gitoxide/commit/d07daaae8ed33161097f3007057c9993546ceb75)) </details> ## 0.16.0 (2022-08-17) ### New Features - <csr-id-b83f6bdf7f8d8f5cef2a57fa3932b6a0e0988db1/> `--cat-file` flag for `gix rev parse` to cat instead of resolving. - <csr-id-e972aad020d3653a53b20fa6e535d5759e239a45/> `gix rev previous-branches` subcommand ### Changed (BREAKING) - <csr-id-ea35183b53f2ff71bdf2270ac4f7470a85d7756f/> remove `Repository::load_index()` in favor of `repo.worktree().open_index()`. - <csr-id-4fd096840ba27da6ce86678a85ede33e3be974ff/> `git_revision` is now available in `revision::plumbing`. That way it won't clash with the higher-level constructs on top of it which use the same names. - <csr-id-12589cc6f08e4d7aabae30bcdadaa0c2b4850229/> adapt to changes in `git-url` and use `BString` to represent URLs. They can contain paths, which is why `String` can't repsent a URL losslessly. For HTTP urls these are ultimately UTF-8 strings though. ### New Features (BREAKING) - <csr-id-c5846e05aa54f0601ac7b8e2e59bcf1ffaa305f1/> `gix rev resolve --explain` - <csr-id-e2aff28e818951785d933f4b55b2f1b882729cb6/> `Repository::rev_parse()` returns a `RevSpec`. This lays the foundation for actually handling rev-specs faithfully. Previous users should use `rev_parse().single()` to obtain a single object id which was the only supported usecase previously. ### Commit Statistics <csr-read-only-do-not-edit/> - 42 commits contributed to the release over the course of 26 calendar days. - 26 days passed between releases. - 7 commits were understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: [#427](https://github.com/Byron/gitoxide/issues/427), [#450](https://github.com/Byron/gitoxide/issues/450), [#482](https://github.com/Byron/gitoxide/issues/482) ### Thanks Clippy <csr-read-only-do-not-edit/> [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#427](https://github.com/Byron/gitoxide/issues/427)** - `--cat-file` flag for `gix rev parse` to cat instead of resolving. ([`b83f6bd`](https://github.com/Byron/gitoxide/commit/b83f6bdf7f8d8f5cef2a57fa3932b6a0e0988db1)) - `gix rev resolve --explain` ([`c5846e0`](https://github.com/Byron/gitoxide/commit/c5846e05aa54f0601ac7b8e2e59bcf1ffaa305f1)) - make fmt ([`4b320e7`](https://github.com/Byron/gitoxide/commit/4b320e773368ac5e8c38dd8a779ef3d6d2d024ec)) - `gix rev previous-branches` subcommand ([`e972aad`](https://github.com/Byron/gitoxide/commit/e972aad020d3653a53b20fa6e535d5759e239a45)) - support for parsing multiple specs in one invocation ([`84b5448`](https://github.com/Byron/gitoxide/commit/84b5448deb7b87f67a1b7461f00793e7ae33ef31)) - adapt to changes in `git-repository` ([`ebb788c`](https://github.com/Byron/gitoxide/commit/ebb788c5d43e16049589955858d2c687b6e0dbc6)) - remove `Repository::load_index()` in favor of `repo.worktree().open_index()`. ([`ea35183`](https://github.com/Byron/gitoxide/commit/ea35183b53f2ff71bdf2270ac4f7470a85d7756f)) - Assure desirable performance by assuring an object cache exists. ([`af32128`](https://github.com/Byron/gitoxide/commit/af321285e359911a9503bcb3736c7fbae657bcc7)) - Use `Display` for revision printing instead of `Debug` ([`d194f15`](https://github.com/Byron/gitoxide/commit/d194f155212d71d7d258b5a3e63ce12e8327f158)) - `git_revision` is now available in `revision::plumbing`. ([`4fd0968`](https://github.com/Byron/gitoxide/commit/4fd096840ba27da6ce86678a85ede33e3be974ff)) - Make use of `git-revision::Spec` in `RevSpec` data structure. ([`004915e`](https://github.com/Byron/gitoxide/commit/004915ea118e3ea6b710aa405eedc6a7a5a1a1f3)) - adjust to change in git-revision ([`51762bb`](https://github.com/Byron/gitoxide/commit/51762bb627a9e001a5a3eebc4ec4a7cfc30dbb9e)) - adjust to changes in git-revision ([`df7da1f`](https://github.com/Byron/gitoxide/commit/df7da1f575111cd8de0155271b6d220b92174eb7)) - adjust to changes in `git-revision` ([`a70f262`](https://github.com/Byron/gitoxide/commit/a70f26274bb2d67428f4917882a94a8fc8b648c8)) - `gix rev parse` now uses `Repository::rev_parse()` ([`e191681`](https://github.com/Byron/gitoxide/commit/e191681a9e700d8a49e2ab6ffb19cfc5f43312a5)) - `Repository::rev_parse()` returns a `RevSpec`. ([`e2aff28`](https://github.com/Byron/gitoxide/commit/e2aff28e818951785d933f4b55b2f1b882729cb6)) * **[#450](https://github.com/Byron/gitoxide/issues/450)** - adjust to changes in `git-transport` ([`94a623b`](https://github.com/Byron/gitoxide/commit/94a623b57e8fa2876731f74224b406ac56838edc)) - adapt to changes in `git-transport` and `git-url ([`4ae2390`](https://github.com/Byron/gitoxide/commit/4ae2390578e086705c640fa74d273e1f82c9ab62)) - use `git-transport` async-std support and connect ([`bb90741`](https://github.com/Byron/gitoxide/commit/bb9074140f6b79097001692c06a64ad5c76fddef)) - adjust to changes in `git-transport` ([`3a024ed`](https://github.com/Byron/gitoxide/commit/3a024ed2bbab19c613349e88abc41502c5cfa8e2)) - refactor ([`9d9fe6c`](https://github.com/Byron/gitoxide/commit/9d9fe6c75de3a8cacdb47e42a1829ec8c732f94f)) - adapt to changes in `git-url` ([`624b180`](https://github.com/Byron/gitoxide/commit/624b1807600344f6969402f5bd193443ec1f1bd6)) - adapt to changes in `git-url` and use `BString` to represent URLs. ([`12589cc`](https://github.com/Byron/gitoxide/commit/12589cc6f08e4d7aabae30bcdadaa0c2b4850229)) - first successful test for returning a refspec. ([`6e5bd5c`](https://github.com/Byron/gitoxide/commit/6e5bd5c152403d76ba1cf3da2b984689cb6fe8c5)) * **[#482](https://github.com/Byron/gitoxide/issues/482)** - Bring back conversion from discovery kind to `git-repository::Kind` ([`ebb5bee`](https://github.com/Byron/gitoxide/commit/ebb5bee7b71272013f43f18a5a7ce48eccb587a0)) * **Uncategorized** - Release git-commitgraph v0.8.1, gitoxide-core v0.16.0, gitoxide v0.14.0 ([`183c048`](https://github.com/Byron/gitoxide/commit/183c0488a808ef760a9f6795f5c040e73926c3a8)) - prepare for gitoxide release ([`6305d52`](https://github.com/Byron/gitoxide/commit/6305d52236c094c412b221967f59eb264c2c3038)) - Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates ([`c96473d`](https://github.com/Byron/gitoxide/commit/c96473dce21c3464aacbc0a62d520c1a33172611)) - Release git-hash v0.9.7, git-features v0.22.1 ([`232784a`](https://github.com/Byron/gitoxide/commit/232784a59ded3e8016e4257c7e146ad385cdd64a)) - Merge branch 'main' into remote-ls-refs ([`c4bf958`](https://github.com/Byron/gitoxide/commit/c4bf9585d815bc342e5fb383336cc654280dd34f)) - fix tree ext reading and writing; round-trip with long path works now ([`f93febe`](https://github.com/Byron/gitoxide/commit/f93febe2d2c55938ac8f698b57144583caab54ef)) - Merge branch 'format_git_date_time' ([`99e12be`](https://github.com/Byron/gitoxide/commit/99e12bee16ab3f344c71818bfd1c95cf50e1721b)) - Merge branch 'main' into remote-ls-refs ([`de61c4d`](https://github.com/Byron/gitoxide/commit/de61c4db7855d6925d66961f62ae3d12cc4acf78)) - thanks clippy ([`4bd747c`](https://github.com/Byron/gitoxide/commit/4bd747cb3e126fe5b1d540270cfbd731cffd42ef)) - Merge branch 'main' into remote-ls-refs ([`e8fc89d`](https://github.com/Byron/gitoxide/commit/e8fc89d36ab17a66e799bdec3ed71388b9730266)) - Merge branch 'write-index-files' into write-index-v2 ([`cddc2ca`](https://github.com/Byron/gitoxide/commit/cddc2ca06f63f66e887ff821452d1f56fb08fe6a)) - Merge branch 'write-index-files' into rev-parse-delegate ([`370110d`](https://github.com/Byron/gitoxide/commit/370110d3356528af38150c2280ed505354ceca5b)) - Merge branch 'main' into rev-parse-delegate ([`4ae2bed`](https://github.com/Byron/gitoxide/commit/4ae2bedfc25d1881d58ebdc54aca0936c68d4859)) - Merge branch 'main' into rev-parse-delegate ([`6da8250`](https://github.com/Byron/gitoxide/commit/6da82507588d3bc849217c11d9a1d398b67f2ed6)) - make fmt ([`47724c0`](https://github.com/Byron/gitoxide/commit/47724c0edb382c036a3fc99884becfd2b0740d4b)) - Merge branch 'kianmeng-fix-typos' ([`4e7b343`](https://github.com/Byron/gitoxide/commit/4e7b34349c0a01ad8686bbb4eb987e9338259d9c)) - Fix typos ([`e9fcb70`](https://github.com/Byron/gitoxide/commit/e9fcb70e429edb2974afa3f58d181f3ef14c3da3)) </details> ## 0.15.0 (2022-07-22) ### Changed (BREAKING) - <csr-id-89a41bf2b37db29b9983b4e5492cfd67ed490b23/> remove local-time-support feature toggle. We treat local time as default feature without a lot of fuzz, and will eventually document that definitive support needs a compile time switch in the compiler (`--cfg unsound_local_offset` or something). One day it will perish. Failure is possible anyway and we will write code to deal with it while minimizing the amount of system time fetches when asking for the current local time. - <csr-id-6f4eea936d64fb9827277c160f989168e7b1dba2/> Associate `file::Metadata` with each `File`. This is the first step towards knowing more about the source of each value to filter them based on some properties. This breaks various methods handling the instantiation of configuration files as `file::Metadata` typically has to be provided by the caller now or be associated with each path to read configuration from. ### New Features - <csr-id-eda39ec7d736d49af1ad9e2ad775e4aa12b264b7/> `gix config` with section and sub-section filtering. - <csr-id-d99453ebeb970ed493be236def299d1e82b01f83/> `gix config` lists all entries of all configuration files git considers. Filters allow to narrow down the output. - <csr-id-7f67b23b9462b805591b1fe5a8406f8d7404f372/> Use `git-config` to write config file on initialization, including `logallrefupdates` and `precomposeunicode`. ### Bug Fixes - <csr-id-5667a7c1bafcfdff1a278b3ad0e1198cd0cc4653/> `ein tool organize` now ignores worktrees. Previously it would report an error due to invalid assumptions. The new behaviour acknowledges that worktrees are placed by hand and moving them is almost always not what the user would want, even ignoring the added complexity in doing so correctly. - <csr-id-761695cd10222eccb720812fa41d5295d506fce9/> improve error messages related to object decoding ### Commit Statistics <csr-read-only-do-not-edit/> - 71 commits contributed to the release over the course of 101 calendar days. - 108 days passed between releases. - 7 commits were understood as [conventional](https://www.conventionalcommits.org). - 3 unique issues were worked on: [#301](https://github.com/Byron/gitoxide/issues/301), [#331](https://github.com/Byron/gitoxide/issues/331), [#427](https://github.com/Byron/gitoxide/issues/427) ### Thanks Clippy <csr-read-only-do-not-edit/> [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#301](https://github.com/Byron/gitoxide/issues/301)** - fix build ([`d7dac11`](https://github.com/Byron/gitoxide/commit/d7dac11be455ee99299a8d7dfd412853f0d709f3)) - refactor ([`7b5fe1d`](https://github.com/Byron/gitoxide/commit/7b5fe1de5332ca8a85741c7c0872130b5ebd31f2)) - adjust to changes in git-repository ([`e1dbf85`](https://github.com/Byron/gitoxide/commit/e1dbf85999f2b6a56467419687319b79b65899a9)) - fix build ([`40b8d4c`](https://github.com/Byron/gitoxide/commit/40b8d4c072b62f0c4ef3eb452578055cd332b6a9)) - Allow reading patterns from stdin ([`0c597fe`](https://github.com/Byron/gitoxide/commit/0c597fe78acdd5672b4535a7d82620c5f7f93649)) - Add `--show-ignore-patterns` to `gix repo exclude query` ([`09f904b`](https://github.com/Byron/gitoxide/commit/09f904b1f393f03176882d491d7fffcad4058b49)) - Basic prefix support as well the first working version of `exclude query` ([`9cb8385`](https://github.com/Byron/gitoxide/commit/9cb83859f9bb76f38ab5bbd0ae6d6f20a691e9e1)) - Support for overrides on the command-line ([`7d98b21`](https://github.com/Byron/gitoxide/commit/7d98b2196c130263ace4a948418affdd950302ed)) - preliminary access to a fully configured exclusion cache ([`259d015`](https://github.com/Byron/gitoxide/commit/259d015c4c0195fb77d372545d790ea4c4d01b8a)) - fix build ([`cb56f12`](https://github.com/Byron/gitoxide/commit/cb56f12ad83cf2932a068ef4fa0ca5ce4aa73e84)) - sketch `open_index()` on `Worktree`, but… ([`ff76261`](https://github.com/Byron/gitoxide/commit/ff76261f568f6b717a93b1f2dcf5d8e8b63acfca)) - a sketch of basic Worktree support ([`732f6fb`](https://github.com/Byron/gitoxide/commit/732f6fb0aa9cdc843087352b12bed2cd142ed6ec)) - refactor ([`3ff991d`](https://github.com/Byron/gitoxide/commit/3ff991d0ca0d63632fc5710680351840f51c14c3)) - frame for `gix repo exclude query` ([`a331314`](https://github.com/Byron/gitoxide/commit/a331314758629a93ba036245a5dd03cf4109dc52)) - adapt to changes in git-path ([`cc2d810`](https://github.com/Byron/gitoxide/commit/cc2d81012d107da7a61bf4de5b28342dea5083b7)) - Use `git-path` crate instead of `git_features::path` ([`47e607d`](https://github.com/Byron/gitoxide/commit/47e607dc256a43a3411406c645eb7ff04239dd3a)) - fix build ([`ffe92ca`](https://github.com/Byron/gitoxide/commit/ffe92ca3cf066c09020bf6fa875bea06552cbd0d)) - Make attributes and ignore configuration possible, but… ([`8a75fd7`](https://github.com/Byron/gitoxide/commit/8a75fd745a194786f0da7c1fd660211446ea51f7)) - make fmt ([`50ff7aa`](https://github.com/Byron/gitoxide/commit/50ff7aa7fa86e5e2a94fb15aab86470532ac3f51)) * **[#331](https://github.com/Byron/gitoxide/issues/331)** - Group similarly named sections together more by not separating them with newline ([`4c69541`](https://github.com/Byron/gitoxide/commit/4c69541cd7192ebd5bdd696a833992d5a52cd9b6)) - Make lossy-configuration configurable ([`b0e4da6`](https://github.com/Byron/gitoxide/commit/b0e4da621114d188a73b9f40757f59564da3c079)) - update README with `gix config` information ([`c19d9fd`](https://github.com/Byron/gitoxide/commit/c19d9fdc569528972f7f6255760ae86ba99848cc)) - remove local-time-support feature toggle. ([`89a41bf`](https://github.com/Byron/gitoxide/commit/89a41bf2b37db29b9983b4e5492cfd67ed490b23)) - `gix config` with section and sub-section filtering. ([`eda39ec`](https://github.com/Byron/gitoxide/commit/eda39ec7d736d49af1ad9e2ad775e4aa12b264b7)) - `gix config` lists all entries of all configuration files git considers. ([`d99453e`](https://github.com/Byron/gitoxide/commit/d99453ebeb970ed493be236def299d1e82b01f83)) - Associate `file::Metadata` with each `File`. ([`6f4eea9`](https://github.com/Byron/gitoxide/commit/6f4eea936d64fb9827277c160f989168e7b1dba2)) - Use `git-config` to write config file on initialization, including `logallrefupdates` and `precomposeunicode`. ([`7f67b23`](https://github.com/Byron/gitoxide/commit/7f67b23b9462b805591b1fe5a8406f8d7404f372)) - adjust to changes in `git-config` ([`c52cb95`](https://github.com/Byron/gitoxide/commit/c52cb958f85b533e791ec6b38166a9d819f12dd4)) * **[#427](https://github.com/Byron/gitoxide/issues/427)** - fix build ([`4355e6b`](https://github.com/Byron/gitoxide/commit/4355e6b5092892349a3483a6eb9dede857b4c660)) - improve describe hinting to allow hinting with describe-anchors as well ([`d993992`](https://github.com/Byron/gitoxide/commit/d99399287966ba2adf143222c3bd9ccdb4d135f9)) - support disambiguation of describe prefixes ([`637dcb0`](https://github.com/Byron/gitoxide/commit/637dcb09771c8df83436dc48d6a72804b400c5e1)) - Add rough but working version of `rev-parse` ([`f3f176d`](https://github.com/Byron/gitoxide/commit/f3f176db42cef4036cc7c0ced1ee68f247424896)) - improve error messages related to object decoding ([`761695c`](https://github.com/Byron/gitoxide/commit/761695cd10222eccb720812fa41d5295d506fce9)) - First implementation of object peeling ([`b1ef03a`](https://github.com/Byron/gitoxide/commit/b1ef03abc8342adb4a0b67d7c86136720ee600e2)) - refactor ([`a3cb4da`](https://github.com/Byron/gitoxide/commit/a3cb4da8854a8c1f4e2aa055b5bf8d0372f75834)) - Handle 'kind' changes which completes 'explain' ([`45022a0`](https://github.com/Byron/gitoxide/commit/45022a0efe6e71404868a7ba816c6972050098b9)) - Support for explaining all navitation ([`ace9c89`](https://github.com/Byron/gitoxide/commit/ace9c8953bebc4a808c639e365010ed53c031622)) - start navigation implementation ([`ea1c009`](https://github.com/Byron/gitoxide/commit/ea1c009e1b064deccf242fc60876a8535f4814b5)) - Implement `Revision` anchors ([`a1f0e3d`](https://github.com/Byron/gitoxide/commit/a1f0e3d463397be201f4df40184ce38b830f3bde)) - basic infrastructure for delegate implementation ([`d3c0bc6`](https://github.com/Byron/gitoxide/commit/d3c0bc6e8d7764728f4e10500bb895152ccd0b0b)) - Hookup explain command ([`1049b00`](https://github.com/Byron/gitoxide/commit/1049b00eaa261a67f060eaca4eb50dcda831eafd)) * **Uncategorized** - Release git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 ([`d4df661`](https://github.com/Byron/gitoxide/commit/d4df661dbf60dad75d07002ef9979cabe8a86935)) - Release git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 ([`aa639d8`](https://github.com/Byron/gitoxide/commit/aa639d8c43f3098cc4a5b50614c5ae94a8156928)) - Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates ([`4737b1e`](https://github.com/Byron/gitoxide/commit/4737b1eea1d4c9a8d5a69fb63ecac5aa5d378ae5)) - prepare changelog prior to release ([`3c50625`](https://github.com/Byron/gitoxide/commit/3c50625fa51350ec885b0f38ec9e92f9444df0f9)) - make fmt ([`0700b09`](https://github.com/Byron/gitoxide/commit/0700b09d6828849fa2470df89af1f75a67bfb27d)) - fix build after changes to `git-url` and `git-config` ([`1f02420`](https://github.com/Byron/gitoxide/commit/1f0242034071ce317743df75cc685e7428b604b0)) - Merge branch 'main' into cont_include_if ([`daa71c3`](https://github.com/Byron/gitoxide/commit/daa71c3b753c6d76a3d652c29237906b3e28728f)) - Merge branch 'main' into cont_include_if ([`0e9df36`](https://github.com/Byron/gitoxide/commit/0e9df364c4cddf006b1de18b8d167319b7cc1186)) - Merge branch 'main' into cont_include_if ([`41ea8ba`](https://github.com/Byron/gitoxide/commit/41ea8ba78e74f5c988148367386a1f4f304cb951)) - Release git-path v0.3.0, safety bump 14 crates ([`400c9be`](https://github.com/Byron/gitoxide/commit/400c9bec49e4ec5351dc9357b246e7677a63ea35)) - Release git-date v0.0.1, git-hash v0.9.5, git-features v0.21.1, git-actor v0.10.1, git-path v0.2.0, git-attributes v0.2.0, git-ref v0.14.0, git-sec v0.2.0, git-config v0.5.0, git-credentials v0.2.0, git-discover v0.2.0, git-pack v0.20.0, git-odb v0.30.0, git-url v0.6.0, git-transport v0.18.0, git-protocol v0.17.0, git-revision v0.2.1, git-worktree v0.3.0, git-repository v0.19.0, safety bump 13 crates ([`a417177`](https://github.com/Byron/gitoxide/commit/a41717712578f590f04a33d27adaa63171f25267)) - update changelogs prior to release ([`bb424f5`](https://github.com/Byron/gitoxide/commit/bb424f51068b8a8e762696890a55ab48900ab980)) - Merge branch 'main' into svetli-n-cont_include_if ([`315c87e`](https://github.com/Byron/gitoxide/commit/315c87e18c6cac0fafa7b4e59fdd3c076a58a45a)) - Refact. ([`a342e53`](https://github.com/Byron/gitoxide/commit/a342e53dac58cea1787a94eaa1a9d24fb1389df2)) - `ein tool organize` now ignores worktrees. ([`5667a7c`](https://github.com/Byron/gitoxide/commit/5667a7c1bafcfdff1a278b3ad0e1198cd0cc4653)) - Revert "ignore worktrees in 'organize', but…" ([`f59471f`](https://github.com/Byron/gitoxide/commit/f59471f0cf883176594ab4635248b4029bcb6caf)) - ignore worktrees in 'organize', but… ([`e501c9e`](https://github.com/Byron/gitoxide/commit/e501c9e6348e1595fee4a5e0bd712fc2433b10df)) - Merge branch 'davidkna-admin-sec' ([`3d0e2c2`](https://github.com/Byron/gitoxide/commit/3d0e2c2d4ebdbe3dff01846aac3375128353a2e1)) - Release git-path v0.1.3, git-discover v0.1.2, git-repository v0.18.1, cargo-smart-release v0.10.1 ([`b7399cc`](https://github.com/Byron/gitoxide/commit/b7399cc44ee419355a649a7b0ba7b352cd48b400)) - Merge branch 'davidkna-discover-x-fs' ([`9abaeda`](https://github.com/Byron/gitoxide/commit/9abaeda2d22e2dbb1db1632c6eb637f1458d06e1)) - Release git-path v0.1.2, git-sec v0.1.1, git-config v0.4.0, git-discover v0.1.1, git-pack v0.19.1, git-repository v0.18.0, cargo-smart-release v0.10.0, safety bump 2 crates ([`ceb6dff`](https://github.com/Byron/gitoxide/commit/ceb6dff13362a2b4318a551893217c1d11643b9f)) - fix most of docs ([`1fe053f`](https://github.com/Byron/gitoxide/commit/1fe053f60fa4843e7da6a6328fc293b4bcd25277)) - refactor ([`07e0f5e`](https://github.com/Byron/gitoxide/commit/07e0f5e91b3c41614b9182cf9716120fe41ddf40)) - Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates ([`654cf39`](https://github.com/Byron/gitoxide/commit/654cf39c92d5aa4c8d542a6cadf13d4acef6a78e)) - make fmt ([`e043807`](https://github.com/Byron/gitoxide/commit/e043807abf364ca46d00760e2f281528efe20c75)) - make fmt ([`251b6df`](https://github.com/Byron/gitoxide/commit/251b6df5dbdda24b7bdc452085f808f3acef69d8)) - Merge branch 'git_includeif' of https://github.com/svetli-n/gitoxide into svetli-n-git_includeif ([`0e01da7`](https://github.com/Byron/gitoxide/commit/0e01da74dffedaa46190db6a7b60a2aaff190d81)) - thanks clippy ([`d011d4e`](https://github.com/Byron/gitoxide/commit/d011d4ec3b58234cc3ea07cf6808a8ce580811c5)) - thanks clippy ([`fdec111`](https://github.com/Byron/gitoxide/commit/fdec11135692b3503087b0a3245c12cc87554d67)) - Release git-glob v0.2.0, safety bump 3 crates ([`ab6bed7`](https://github.com/Byron/gitoxide/commit/ab6bed7e2aa19eeb9990441741008c430f373708)) </details> ## 0.14.0 (2022-04-05) ### New Features - <csr-id-7e99e6aeee9bf200a561d215c586301f5e4a8cbc/> Add `gix repo commit describe` It supports typical but basic flags mostly similar to the ones in git. - <csr-id-654f4afb794a370b7cd9d9502ff6d0c3378ec417/> `Commit::describe()` A way to fluidly configure a `git describe` operation and run it. Along that, a new `Tag` top-level object was added as well to provide convenient access to otherwise lower-level objects. It's not strictly required for our implementation here but it's needed for a symmetric API. ### Commit Statistics <csr-read-only-do-not-edit/> - 8 commits contributed to the release. - 2 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#298](https://github.com/Byron/gitoxide/issues/298) ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#298](https://github.com/Byron/gitoxide/issues/298)** - restrict signature changes to 'Ancestores::sorting()` ([`d71bd9d`](https://github.com/Byron/gitoxide/commit/d71bd9ded1e5e5a61a27be3d55f4b85ee4049bcf)) - Adjust to changes in git-traverse ([`8240622`](https://github.com/Byron/gitoxide/commit/824062215865e6ec12afeb2d51b3c63f15291244)) - support for the --max-candidates flag ([`b9e6754`](https://github.com/Byron/gitoxide/commit/b9e67540801f2630be8aa1acbfddfec4202360ac)) - Reduce amount of max candidates, add --debug flag ([`c8c13e3`](https://github.com/Byron/gitoxide/commit/c8c13e398671a21e96282547fc0e3bd445627e2f)) - Add `gix repo commit describe` ([`7e99e6a`](https://github.com/Byron/gitoxide/commit/7e99e6aeee9bf200a561d215c586301f5e4a8cbc)) - `Commit::describe()` ([`654f4af`](https://github.com/Byron/gitoxide/commit/654f4afb794a370b7cd9d9502ff6d0c3378ec417)) * **Uncategorized** - Release git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0 ([`f041c00`](https://github.com/Byron/gitoxide/commit/f041c00a7df2455ca52fac7b83af1e9f335f5688)) - Release git-config v0.2.1, git-diff v0.15.0, git-traverse v0.14.0, git-pack v0.18.0, git-odb v0.28.0, git-ref v0.12.1, git-revision v0.1.0, git-repository v0.16.0, gitoxide-core v0.14.0, gitoxide v0.12.0, safety bump 6 crates ([`b612021`](https://github.com/Byron/gitoxide/commit/b612021683ba709b693bd48aef3e2e3c2f5b9ead)) </details> ## 0.13.0 (2022-04-03) <csr-id-bbc6efeceb26050973e1425e68a52e51b9df4572/> <csr-id-4d2d433e7e98ac42db858688edac06e68ee4d10d/> <csr-id-ebc7f47708a63c3df4415ba0e702660d976dfb3e/> <csr-id-2290d006705ff47ad780b009fe58ee422b3285af/> <csr-id-424c9b3a2b467f5a1e339700257cd4ab72e2e692/> ### Refactor (BREAKING) - <csr-id-bbc6efeceb26050973e1425e68a52e51b9df4572/> clarify different repository types much better - <csr-id-4d2d433e7e98ac42db858688edac06e68ee4d10d/> Remove light* features, add 'lean-async' in its place; remove termion support - <csr-id-ebc7f47708a63c3df4415ba0e702660d976dfb3e/> remove pack-cache from `Find::try_find(…)` With the new architecture this can be an implementation detail without forcing it to be Sync. - <csr-id-2290d006705ff47ad780b009fe58ee422b3285af/> move git_pack::data::Object to git_object::Data, massively alter git_odb::Find trait This will break a lot, but has to happen to prepare these traits for the next generation of object databases. ### Other - <csr-id-424c9b3a2b467f5a1e339700257cd4ab72e2e692/> Try to make Handle usable for pack creation It's nearly there, but for some reason the boxed dyn traits don't get to be Send even though it's specified. ### Bug Fixes - <csr-id-84ade1d23060f10bf6c8529f8f693d06660b4f4e/> Allow resolution of in-pack ref-deltas This finally allows delta tree caches to be used on typical small packs returned by GitHub. - <csr-id-d33795f9e99d5ad7191c807e42a6fce368932f6b/> keep non "git" repository name extensions When converting a remote URL to a destination directory name, keep extension strings if they are not equal to "git". For example, - <csr-id-6d3f52dc13d7243a6bce6dab89a985114a75d94b/> Avoid the dashmap being cloned for each thread Intead, share it by reference, it's sync after all. This issue was introduced when switching to a `Send + Clone` model, instead of `Send + Sync`, to allow thread-local caches in database handles of all kinds.