1003 lines · 74.2 KB · Markdown
RawDownload

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.19.0 (2022-11-21)

New Features

  • Make reqwest TLS backend configuration easy. We provide the choice of native-tls or rust-tls. If none is provided, the user can configure on their on similar to how it's done in git-repository.

    Please note that a choice now has to be made or HTTPS will not be available, so use one of…

    • blocking-http-transport-reqwest-rust-tls
  • blocking-http-transport-reqwest-native-tls

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Make reqwest TLS backend configuration easy. (3ddbd2d)

0.18.0 (2022-11-17)

This releases fixes gix fetch so that it is able to clone or fetch pytorch or other repositories on case-insensitive file systems.

It's also an attempt to trigger CI to build binary releases.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Merge branch 'http-config' (665b53e)
    • Document that histogram is now the default diff algorithm (c76572b)
    • Introduce new gitoxide.http.connectTimeout for more control for git clients (2ab80e4)
    • keep track of no_proxy environment variable support (f0625de)
    • update progress (3d9fb6c)
    • don't forget to update 'progress' (0ec5220)
    • update progress with gitoxide.userAgent (1c012f4)
    • plan for user agent string configuration (f5499a5)
    • keep track of http related configuration keys. (1afaebd)

0.17.0 (2022-11-06)

New Features

  • gix remote ref-map --show-unmapped-remote-refs. That way it's more obvious to see what was filtered out by ref-specs.

    It's also great to validate that server-side filtering via ref-prefix will not send refs that are referred to by symbolic refs that are not filtered out. That should be fine as it's all about objects, it's just something to deal with as we may have to deal with symbolic refs that aren't in the set of refs the server sent to us.

  • diff algorithm is controlled by git configuration diff.algorithm

  • ein t hours allows to specify the amount of worker threads.

Bug Fixes

  • collect stderr and print it afterwards to avoid intersection with line progress. Previously it would happen that stderr would be printed directly and mix with the line progress (as in -v) which also prints to stderr.

    Now errors are collected and output at the end once the line renderer was already shutdown.

Changed (BREAKING)

  • remote lock_mode from all methods dealing with reference edits. It is now read from core.filesRefLockTimeout accordingly.

New Features (BREAKING)

  • remove gix remote --url in favor of determining the intention similar to git fetch

Commit Statistics

  • 65 commits contributed to the release over the course of 47 calendar days.
  • 47 days passed between releases.
  • 6 commits were understood as conventional.
  • 2 unique issues were worked on: #450, #536

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #450
    • keep track of several branch related keys (443a75a)
    • gix remote ref-map --show-unmapped-remote-refs. (e973dfe)
    • update progress as we now respect diff.algorithm (30d32e7)
    • apply configuration overrides to newborn repo during clone (c8ef759)
    • collect stderr and print it afterwards to avoid intersection with line progress. (3a05328)
    • reduce verbosity of clone and print once entire clone is done (9a476df)
    • first rough sketch of gix clone (23a5e8b)
    • progress totals (planned, devitaion) (63947ae)
    • prepare attribute-group setup as far as possible. (f5e2eeb)
    • update usage of core.checkState (8b2aba1)
    • update progress based on filesystem config usage (de13c66)
    • inform about even more keys in gix progress (0e9bd41)
    • plan more core filesystem attributes (d10a82e)
    • update init.defaultBranch - now used by custom initialization. (4d6d7bb)
    • support for handshake information in gix fetch (c47dcc6)
    • fix build (d034882)
    • remove gix remote --url in favor of determining the intention similar to git fetch (92bbe33)
    • support for --url for arbitrary urls when fetching (8c7351c)
    • Frame for gix fetch (5b72d27)
    • update progress information to include packedRefsTimeout (fd18320)
    • remote lock_mode from all methods dealing with reference edits. (3a0fb1b)
    • add information about planned lock timeout support (from configuration) (7076891)
    • Add remotes. as planned feature for remotes (3c188b2)
    • slightly nicer styling of config keys (eade88f)
    • complete listing of records based on current usage, probably (6abd5a4)
    • add more records (5c0d0ab)
    • Add tabled for nicer printing (65e6496)
    • refactor (b42b08a)
    • add support for more types of configurations (317e02a)
    • A very first version of gix progress show (92e082a)
  • #536
    • ein t hours allows to specify the amount of worker threads. (20259da)
  • Uncategorized
    • Merge branch 'write-sparse-index' (ba17db0)
    • plan index.version for when we can write V4 indices. (da96d34)
    • notes about the split-index extension. (ad44982)
    • take note of additional options for promisor packs and partial clone filters (1ec27f8)
    • make note of extension.worktreeConfig (fe1e646)
    • Merge branch 'main' into write-sparse-index (c4e6849)
    • add init.templateDir to gix progress (9fab050)
    • make fmt (ea2136b)
    • Merge branch 'gix-clone' (def53b3)
    • diff algorithm is controlled by git configuration diff.algorithm (b1edb9e)
    • Merge branch 'main' into gix-clone (fa27570)
    • Merge branch 'imra-diff' (f53f942)
    • adapt to changes in git-diff for a 2x speedup when calculating line changes (296f3b6)
    • update gix progress records (b05a2e7)
    • Merge branch 'main' into gix-clone (de4fe06)
    • Mark the upcoming usage of init.defaultBranch. (6225f35)
    • Merge branch 'fix-gix-index-from-tree' (da5f63c)
    • write index without output path to memory only. (c8d0345)
    • Merge branch 'gix-index-from-tree' (8c24386)
    • refactor (67f2247)
    • refactor (01ab5ca)
    • update with various configuration variables relevant to checking out worktrees (09d767a)
    • Merge branch 'clone' (507dc7e)
    • update usage of clone related configuration (1a1e862)
    • update progress with intended uses of clone. variables (8b804a3)
    • Merge branch 'main' into new-http-impl (702a161)
    • make fmt (53acf25)
    • Merge branch 'fetch-pack' (f47c891)
    • Merge branch 'fetch-pack' (3c49400)
    • update docs (c5c0ac5)
    • input id can now be a commit or tree as prefix or full object id (8ef3fcb)
    • thanks clippy (8dadd70)
    • Merge branch 'fix-odb-race' (b862fc5)
    • Merge branch 'diff' (25a7726)

0.16.0 (2022-09-20)

Changed

  • 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

  • ein tool hours --stat to collect additional statistics per author. Note that these are expensive and unconditionally use threads to speed up these computations.
  • ein tool hours -b ignores bots. For now it only considers bots with names containing [bot].

Commit Statistics

  • 21 commits contributed to the release over the course of 20 calendar days.
  • 27 days passed between releases.
  • 3 commits were understood as conventional.
  • 2 unique issues were worked on: #450, #470

Commit Details

view details
  • #450
    • refactor (11851f3)
    • option to print server information about the connection (4720666)
    • show fixes as well (2237495)
    • Correct printing of tag information (even though it doesn't look great) (f4d8198)
    • wire up the ref-map sub-command. (94c2b78)
    • Select gix commands will now load the git installation configuration (23d2dec)
    • refactor (7abc0a3)
    • Add sketch of gix credential (642e21f)
  • #470
    • ein tool hours -s was split into -f|--file-stats and -l|line-stats. (3c7c9a7)
    • upgrade to prodash 20.1 for Progress::counter() feature (0ac4a2c)
    • ein tool hours --stat to collect additional statistics per author. (28c4cae)
  • Uncategorized
    • Merge branch 'hours-upgrade' (26489d1)
    • use rev-specs instead of ref-names (cf7182e)
    • ein tool hours -b ignores bots. (5d0332f)
    • Merge branch 'filter-refs' (3773b92)
    • implement gix index from-tree (2fbd3df)
    • make fmt (535e967)
    • Merge branch 'filter-refs-by-spec' (5c05198)
    • Merge branch 'main' into index-from-tree (bc64b96)
    • Merge branch 'main' into filter-refs-by-spec (56ba481)
    • A basic implementation of rev-list without anything fancy (791dd66)

0.15.0 (2022-08-24)

Chore

  • uniformize deny attributes

New Features

  • Support for -c/--config in gix
  • 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.
  • use docsrs feature in code to show what is feature-gated automatically on docs.rs

Changed (BREAKING)

  • 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

  • 15 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

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #450
    • Support for -c CLI config overrides in gix config. (19c1746)
    • remove gix free remote ref-list in favor of gix remote refs (dda9957)
    • Support for -c/--config in gix (45a30f0)
    • refactor (e0be6e9)
    • Add support for passing urls directly to bypass all remote repository logic. (df3cf18)
    • gix remote refs to 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 refs without any implementation. (f8f1249)
  • Uncategorized
    • Merge branch 'remote-ls-refs' (39d585d)
    • thanks clippy (bb6813a)
    • Merge branch 'main' into remote-ls-refs (e2ee3de)
    • Merge branch 'docsrs-show-features' (31c2351)
    • use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
    • uniformize deny attributes (f7f136d)
    • Merge branch 'main' into remote-ls-refs (bd5f3e8)

0.14.0 (2022-08-17)

Changed

  • Invert behaviour to open::Options::strict_config(), with lenient being the default. This means API users will get libgit2 behaviour but commands like gix can change options to emulate git behaviour.

New Features

  • --cat-file flag for gix rev parse to cat instead of resolving.
  • gix rev previous-branches subcommand

Changed (BREAKING)

  • ein tools to ein tool for as it's more intuitive

New Features (BREAKING)

  • gix rev resolve --explain

Commit Statistics

  • 21 commits contributed to the release over the course of 26 calendar days.
  • 26 days passed between releases.
  • 5 commits were understood as conventional.
  • 1 unique issue was worked on: #427

Commit Details

view details
  • #427
    • --cat-file flag for gix rev parse to cat instead of resolving. (b83f6bd)
    • gix rev resolve --explain (c5846e0)
    • gix rev previous-branches subcommand (e972aad)
    • support for parsing multiple specs in one invocation (84b5448)
    • support overriding cache settings with environment variables in gix (b838202)
  • Uncategorized
    • Merge branch 'core-abbrev-handling' (dbaff13)
    • Control which command is lenient or not. That way gix-config can be lenient. (6a9c58f)
    • Invert behaviour to open::Options::strict_config(), with lenient being the default. (0235111)
    • Merge branch 'main' into remote-ls-refs (c4bf958)
    • Merge branch 'index-write-refactor' (805f432)
    • ein tools to ein tool for as it's more intuitive (edf73dd)
    • Merge branch 'main' into write-index-v2 (a938986)
    • add aliases to make revision sub-commands more accessible (a6d79e3)
    • Merge branch 'rev-parse-delegate' (2f506c7)
    • Merge pull request #2 from SidneyDouw/main (ce885ad)
    • Merge branch 'Byron:main' into main (9b9ea02)
    • Merge branch 'main' into rev-parse-delegate (6da8250)
    • Merge branch 'main' into pathspec (7b61506)
    • make fmt (47724c0)
    • Merge branch 'kianmeng-fix-typos' (4e7b343)
    • Fix typos (e9fcb70)

0.13.0 (2022-07-22)

New Features

  • gix config with section and sub-section filtering.
  • gix config lists all entries of all configuration files git considers. Filters allow to narrow down the output.

Commit Statistics

  • 47 commits contributed to the release over the course of 101 calendar days.
  • 108 days passed between releases.
  • 2 commits were understood as conventional.
  • 3 unique issues were worked on: #301, #331, #427

Thanks Clippy

Clippy helped 3 times to make code idiomatic.

Commit Details

view details
  • #301
    • Allow reading patterns from stdin (0c597fe)
    • Add --show-ignore-patterns to gix 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)
    • fix build (cb56f12)
    • refactor (3ff991d)
    • frame for gix repo exclude query (a331314)
    • make fmt (50ff7aa)
  • #331
    • fix journey tests after gix restructuring (59b95c9)
    • gix config with section and sub-section filtering. (eda39ec)
    • gix config lists all entries of all configuration files git considers. (d99453e)
    • refactor (a437abe)
    • move 'exclude' up one level and dissolve 'repo' subcommand (8e5b796)
    • move 'mailmap' up one level (5cf08ce)
    • move 'odb' up one level (0ed65da)
    • move 'tree' up one level (38a8350)
    • move 'commit' up one level (72876f1)
    • move 'verify' up one level (ac7d99a)
    • move 'revision' one level up (c9c78e8)
    • move 'remote' to 'free' (8967fcd)
    • move commitgraph to 'free' (f99c3b2)
    • move index to 'free' (83585bd)
    • move 'pack' to 'free' (1cdecbc)
    • migrate mailmap to the new 'free' section (141c5f1)
    • first step towards moving all repository-commands one level up. (f4e1810)
    • make obvious what plumbing and porcelain really are (faaf791)
    • adjustments due to breaking changes in git_path (4420ae9)
  • #427
    • Add rough but working version of rev-parse (f3f176d)
    • basic infrastructure for delegate implementation (d3c0bc6)
    • Hookup explain command (1049b00)
    • frame for gix repo rev explain (12e6277)
  • Uncategorized
    • Merge branch 'gix-repo-config' (afecb63)
    • thanks clippy (48b3f4a)
    • Merge pull request #1 from Byron/main (085e76b)
    • make fmt (0700b09)
    • Merge branch 'main' into pathspec (89ea12b)
    • Merge branch 'main' into cont_include_if (0e9df36)
    • Use git_path::realpath in all places that allow it right now (229dc91)
    • Merge branch 'main' into cont_include_if (41ea8ba)
    • Merge branch 'main' into git_includeif (05eb340)
    • Merge branch 'main' into msrv-for-windows (7cb1972)
    • make fmt (251b6df)
    • Merge branch 'worktree-stack' (98da8ba)
    • thanks clippy (056e8d2)
    • thanks clippy (fdec111)
    • Merge branch 'main' into repo-status (4086335)
    • Merge branch 'worktree-stack' (e90d3fd)

0.12.0 (2022-04-05)

New Features

  • Add gix repo commit describe It supports typical but basic flags mostly similar to the ones in git.

Commit Statistics

  • 5 commits contributed to the release over the course of 1 calendar day.
  • 2 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #298

Commit Details

view details
  • #298
    • Use all tags by default, instead of requiring annotated tags (00c42ca)
    • support for the --max-candidates flag (b9e6754)
    • Reduce amount of max candidates, add --debug flag (c8c13e3)
    • Add gix repo commit describe (7e99e6a)
    • a first sketch of the gix repo describe plumbing command (2d6ccef)

0.11.0 (2022-04-03)

Adapt to changes in git-features which change Send + Sync to Send + Clone. This happens to allow non-sync implementations (i.e. thread-local), along with Sync ones which usually are Clone too as they are passed by immutable reference (which is Clone + Copy).

Refactor (BREAKING)

Lines 1–500 of 1003.