Skip to content

Commit a517f26

Browse files
committed
Add git-bitmap crate for use in git-index (#293)
1 parent e18a2fd commit a517f26

File tree

7 files changed

+47
-0
lines changed

7 files changed

+47
-0
lines changed

Cargo.lock

Lines changed: 8 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
@@ -115,6 +115,7 @@ members = [
115115
"git-diff",
116116
"git-traverse",
117117
"git-index",
118+
"git-bitmap",
118119
"git-worktree",
119120
"git-packetline",
120121
"git-transport",

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ Follow linked crate name for detailed status. Please note that all crates follow
8484
* `gitoxide-core`
8585
* **very early**
8686
* [git-index](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-index)
87+
* [git-bitmap](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-bitmap)
8788
* **idea**
8889
* [git-worktree](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-worktree)
8990
* [git-tui](https://github.com/Byron/gitoxide/blob/main/crate-status.md#git-tui)

crate-status.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,18 @@ Check out the [performance discussion][git-traverse-performance] as well.
211211
* manage multiple worktrees
212212
* deal with exclude specifications, like .gitignore and other exclude files.
213213

214+
### git-bitmap
215+
216+
A plumbing crate with shared functionality regarding EWAH compressed bitmaps.
217+
218+
* [ ] `Array` type to read and write bits
219+
* [ ] decode on-disk representation
220+
* [ ] encode on-disk representation
221+
214222
### git-index
223+
224+
The git staging area.
225+
215226
* read
216227
* [x] V2
217228
* [x] V3

etc/check-package-size.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ echo "in root: gitoxide CLI"
1919
(enter cargo-smart-release && indent cargo diet -n --package-size-limit 85KB)
2020
(enter git-actor && indent cargo diet -n --package-size-limit 5KB)
2121
(enter git-index && indent cargo diet -n --package-size-limit 15KB)
22+
(enter git-bitmap && indent cargo diet -n --package-size-limit 5KB)
2223
(enter git-tempfile && indent cargo diet -n --package-size-limit 25KB)
2324
(enter git-lock && indent cargo diet -n --package-size-limit 15KB)
2425
(enter git-config && indent cargo diet -n --package-size-limit 65KB)

git-bitmap/Cargo.toml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
[package]
2+
name = "git-bitmap"
3+
version = "0.0.0"
4+
repository = "https://github.com/Byron/gitoxide"
5+
license = "MIT/Apache-2.0"
6+
description = "A WIP crate of the gitoxide project dedicated implementing the standard git bitmap format"
7+
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
8+
edition = "2021"
9+
10+
[lib]
11+
doctest = false
12+
test = true
13+
14+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
15+
16+
[dependencies]
17+
quick-error = "2.0.0"
18+
19+
[dev-dependencies]
20+
git-testtools = { path = "../tests/tools"}

git-bitmap/src/lib.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#![deny(unsafe_code, missing_docs, rust_2018_idioms)]
2+
#![allow(missing_docs, dead_code)]
3+
//! An implementation of the shared parts of git bitmaps used in `git-pack`, `git-index` and `git-worktree`.
4+
//!
5+
//! Note that many tests are performed indirectly by tests in the aforementioned consumer crates.

0 commit comments

Comments
 (0)