Skip to content

Commit 3fd6684

Browse files
committed
update crate status
For pathspecs, plan to provide a type-safe version of pathspec instantiation, as suggested [in this comment](rust-lang/cargo#13592 (comment)).
1 parent 155cc45 commit 3fd6684

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

crate-status.md

+16-12
Original file line numberDiff line numberDiff line change
@@ -44,32 +44,31 @@ The top-level crate that acts as hub to all functionality provided by the `gix-*
4444
* [ ] handle other non-discovery modes and provide control over environment variable usage required in applications
4545
* [x] rev-parse
4646
- [ ] handle relative paths as relative to working directory
47-
- [ ] handle `upstream` and `push` resolution.
47+
- [x] handle `upstream` and `push` resolution.
4848
* [x] rev-walk
4949
* [x] include tips
5050
* [ ] exclude commits
5151
* [x] instantiation
5252
* [x] access to refs and objects
53+
* [x] create a pathspec-search from a set of strings
54+
- [ ] allow to construct Pathspecs using data structure instead of enforcing them to be passed as strings.
5355
* **credentials**
5456
* [x] run `git credential` directly
5557
* [x] use credential helper configuration and to obtain credentials with `gix_credentials::helper::Cascade`
56-
* **config**
57-
* [ ] facilities to apply the [url-match](https://git-scm.com/docs/git-config#Documentation/git-config.txt-httplturlgt) algorithm and to
58-
[normalize urls](https://github.com/git/git/blob/be1a02a17ede4082a86dfbfee0f54f345e8b43ac/urlmatch.c#L109:L109) before comparison.
5958
* **traverse**
6059
* [x] commit graphs
6160
* [ ] make [git-notes](https://git-scm.com/docs/git-notes) accessible
6261
* [x] tree entries
6362
* **diffs/changes**
6463
* [x] tree with other tree
65-
* [ ] respect case-sensitivity of host filesystem.
64+
* [x] respect case-sensitivity of host filesystem.
6665
* [x] a way to access various diff related settings or use them
67-
* [ ] respect `diff.*.textconv`, `diff.*.cachetextconv` and external diff viewers with `diff.*.command`,
66+
* [x] respect `diff.*.textconv`, `diff.*.cachetextconv` and external diff viewers with `diff.*.command`,
6867
[along with support for reading `diff` gitattributes](https://github.com/git/git/blob/73876f4861cd3d187a4682290ab75c9dccadbc56/Documentation/gitattributes.txt#L699:L699).
6968
* **rewrite tracking**
7069
* **deviation** - git keeps up to four candidates whereas we use the first-found candidate that matches the similarity percentage.
7170
This can lead to different sources being found. As such, we also don't consider the filename at all.
72-
* [ ] handle binary files correctly, and apply filters for that matter
71+
* [x] handle binary files correctly, and apply filters for that matter
7372
* [x] computation limit with observable reduction of precision when it is hit, for copies and renames separately
7473
* **by identity**
7574
* [x] renames (sym-links are only ever compared by identity)
@@ -78,9 +77,9 @@ The top-level crate that acts as hub to all functionality provided by the `gix-*
7877
* [x] renames
7978
* [x] copies
8079
* [x] 'find-copies-harder' - find copies with the source being the entire tree.
81-
* [ ] tree or index with working tree
82-
- [ ] rename tracking
83-
- [ ] submodule status (recursive)
80+
* [x] tree or index with working tree
81+
- [x] rename tracking
82+
- [x] submodule status (recursive)
8483
* [x] diffs between modified blobs with various algorithms
8584
* [ ] tree with index (via index-from-tree and index)
8685
- [ ] rename tracking
@@ -152,7 +151,10 @@ The top-level crate that acts as hub to all functionality provided by the `gix-*
152151
* [x] read the primitive types `boolean`, `integer`, `string`
153152
* [x] read and interpolate trusted paths
154153
* [x] low-level API for more elaborate access to all details of `git-config` files
155-
* [ ] a way to make changes to individual configuration files
154+
* [ ] a way to make changes to individual configuration files in memory
155+
* [ ] write configuration back
156+
* [ ] auto-refresh configuration values after they changed on disk
157+
* [ ] facilities to apply the [url-match](https://git-scm.com/docs/git-config#Documentation/git-config.txt-httplturlgt) algorithm and to [normalize urls](https://github.com/git/git/blob/be1a02a17ede4082a86dfbfee0f54f345e8b43ac/urlmatch.c#L109:L109) before comparison.
156158
* [x] mailmap
157159
* [x] object replacements (`git replace`)
158160
* [x] read git configuration
@@ -459,7 +461,9 @@ Check out the [performance discussion][gix-traverse-performance] as well.
459461
### gix-pathspec
460462
* [x] parse single
461463
* [ ] parse file line by line (with or without quoting, NUL and LF/CRLF line separation) (see `--pathspec-from-file` and `--pathspec-file-nul`)
462-
* [ ] matching of paths with git-attributes support
464+
* [x] matching of paths with git-attributes support
465+
* [ ] programmatic creation of pathspecs
466+
* [ ] `TryIntoPathspec` trait to parse strings or accept ready-made pathspecs as well, for use in APIs
463467

464468
### gix-refspec
465469
* [x] parse

0 commit comments

Comments
 (0)