Skip to content

Commit 1029830

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 e81a1da commit 1029830

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
@@ -132,6 +132,7 @@ is usable to some extent.
132132
* `gitoxide-core`
133133
* **very early** _(possibly without any documentation and many rough edges)_
134134
* [gix-date](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-date)
135+
* [gix-dir](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-dir)
135136
* **idea** _(just a name placeholder)_
136137
* [gix-note](https://github.com/Byron/gitoxide/blob/main/crate-status.md#gix-note)
137138
* [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
@@ -607,6 +607,18 @@ A plumbing crate with shared functionality regarding EWAH compressed bitmaps, as
607607
* [x] decode on-disk representation
608608
* [ ] encode on-disk representation
609609

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

612624
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)