Skip to content

Commit 74fcbe3

Browse files
committed
initial version of the gix-dir crate
It's main purpose is to hold the traversal algorithm which is used to determine which files are tracked, untracked, ignored or precious. It's also automatically ignoring anything called '.git'.
1 parent bc040aa commit 74fcbe3

File tree

9 files changed

+43
-0
lines changed

9 files changed

+43
-0
lines changed

Cargo.lock

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ members = [
239239
"gix-diff",
240240
"gix-date",
241241
"gix-traverse",
242+
"gix-dir",
242243
"gix-index",
243244
"gix-bitmap",
244245
"gix-worktree",

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ is usable to some extent.
133133
* `gitoxide-core`
134134
* **very early** _(possibly without any documentation and many rough edges)_
135135
* [gix-date](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-date)
136+
* [gix-dir](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-dir)
136137
* **idea** _(just a name placeholder)_
137138
* [gix-note](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-note)
138139
* [gix-fetchhead](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-fetchhead)

crate-status.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -608,6 +608,18 @@ A plumbing crate with shared functionality regarding EWAH compressed bitmaps, as
608608
* [x] decode on-disk representation
609609
* [ ] encode on-disk representation
610610

611+
### gix-dir
612+
613+
A git directory walk.
614+
615+
* [ ] list untracked files
616+
- [ ] `normal` - files and directories
617+
- [ ] `all` - expand to untracked files in untracked directories
618+
* [ ] list ignored files
619+
- [ ] `matching` mode (show every ignored file, do not aggregate into parent directory)
620+
- [ ] `traditional` mode (aggregate all ignored files of a folder into ignoring the folder itself)
621+
* [ ] accelerated walk with `untracked`-cache (as provided by `UNTR` extension of `gix_index::File`)
622+
611623
### gix-index
612624

613625
The git staging area.

gix-dir/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

gix-dir/Cargo.toml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[package]
2+
name = "gix-dir"
3+
version = "0.0.0"
4+
repository = "https://github.com/Byron/gitoxide"
5+
license = "MIT OR Apache-2.0"
6+
description = "A crate of the gitoxide project dealing with directory walks"
7+
authors = ["Sebastian Thiel <[email protected]>"]
8+
edition = "2021"
9+
rust-version = "1.65"
10+
11+
[lib]
12+
doctest = false
13+
14+
[dependencies]

gix-dir/LICENSE-APACHE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../LICENSE-APACHE

gix-dir/LICENSE-MIT

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../LICENSE-MIT

gix-dir/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
//! A crate for handling a git-style directory walk.
2+
#![deny(rust_2018_idioms)]
3+
#![forbid(unsafe_code)]

0 commit comments

Comments
 (0)