Skip to content

Commit 43c7fd1

Browse files
committed
minor fixes after first local tests - it's up to twice as fast!!
1 parent 9660bbf commit 43c7fd1

File tree

4 files changed

+40
-9
lines changed

4 files changed

+40
-9
lines changed

Diff for: gitoxide-core/src/pack/index.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ impl FromStr for MemoryMode {
6767
"in-memory-decompressed" => InMemoryDecompressed,
6868
"resolve-bases" => ResolveBases,
6969
"resolve-deltas" => ResolveDeltas,
70-
"resolve-deltas-and-bases" => ResolveBasesAndDeltas,
70+
"resolve-bases-and-deltas" => ResolveBasesAndDeltas,
7171
_ => return Err("invalid value".into()),
7272
})
7373
}

Diff for: src/plumbing/lean.rs

+10-5
Original file line numberDiff line numberDiff line change
@@ -183,13 +183,18 @@ fn prepare(verbose: bool, name: &str) -> ((), Option<progress::Log>) {
183183
feature = "prodash-line-renderer-crossterm",
184184
feature = "prodash-line-renderer-termion"
185185
))]
186-
fn prepare(verbose: bool, name: &str) -> (Option<prodash::line::JoinHandle>, Option<prodash::tree::Item>) {
186+
fn prepare(
187+
verbose: bool,
188+
name: &str,
189+
level_start: u8,
190+
level_end: u8,
191+
) -> (Option<prodash::line::JoinHandle>, Option<prodash::tree::Item>) {
187192
super::init_env_logger(false);
188193

189194
if verbose {
190195
let progress = prodash::Tree::new();
191196
let sub_progress = progress.add_child(name);
192-
let handle = crate::shared::setup_line_renderer(progress, 2, false);
197+
let handle = crate::shared::setup_line_renderer_range(progress, level_start..=level_end, false);
193198
(Some(handle), Some(sub_progress))
194199
} else {
195200
(None, None)
@@ -208,7 +213,7 @@ pub fn main() -> Result<()> {
208213
pack_path,
209214
directory,
210215
}) => {
211-
let (_handle, progress) = prepare(verbose, "pack-explode");
216+
let (_handle, progress) = prepare(verbose, "pack-explode", 2, 3);
212217
core::pack::index::from_pack(
213218
pack_path,
214219
directory,
@@ -229,7 +234,7 @@ pub fn main() -> Result<()> {
229234
check,
230235
delete_pack,
231236
}) => {
232-
let (_handle, progress) = prepare(verbose, "pack-explode");
237+
let (_handle, progress) = prepare(verbose, "pack-explode", 2, 2);
233238
core::pack::explode::pack_or_pack_index(
234239
pack_path,
235240
object_path,
@@ -252,7 +257,7 @@ pub fn main() -> Result<()> {
252257
re_encode,
253258
}) => {
254259
use self::core::pack::verify;
255-
let (_handle, progress) = prepare(verbose, "pack-verify");
260+
let (_handle, progress) = prepare(verbose, "pack-verify", 2, 2);
256261
core::pack::verify::pack_or_pack_index(
257262
path,
258263
progress,

Diff for: src/shared.rs

+24
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,30 @@ pub fn setup_line_renderer(
2525
)
2626
}
2727

28+
#[allow(unused)]
29+
#[cfg(feature = "prodash-line-renderer")]
30+
pub fn setup_line_renderer_range(
31+
progress: prodash::Tree,
32+
levels: std::ops::RangeInclusive<prodash::tree::Level>,
33+
hide_cursor: bool,
34+
) -> prodash::line::JoinHandle {
35+
let output_is_terminal = atty::is(atty::Stream::Stderr);
36+
prodash::line::render(
37+
std::io::stderr(),
38+
progress,
39+
prodash::line::Options {
40+
level_filter: Some(levels),
41+
frames_per_second: DEFAULT_FRAME_RATE,
42+
initial_delay: Some(std::time::Duration::from_millis(1000)),
43+
output_is_terminal,
44+
colored: output_is_terminal && crosstermion::color::allowed(),
45+
timestamp: true,
46+
hide_cursor,
47+
..prodash::line::Options::default()
48+
},
49+
)
50+
}
51+
2852
#[cfg(all(feature = "lean-cli", not(feature = "pretty-cli")))]
2953
pub fn from_env<T: argh::TopLevelCommand>() -> T {
3054
static VERSION: &str = concat!(env!("CARGO_PKG_NAME"), " ", env!("CARGO_PKG_VERSION"));

Diff for: tasks.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@
1818
* [x] use progress (one for reading bytes, one for objects, solving the long-standing problem on how to visualize this)
1919
* [x] use new show_throughput method everywhere
2020
* **cli index-from-pack**
21-
* [ ] build index from pack
22-
* [ ] from stdin()
23-
* [ ] complete pack with trailer
21+
* [x] build index from pack
22+
* [x] from stdin()
23+
* [x] complete pack with trailer
24+
* [ ] unit tests for bundle index write
25+
* [ ] journey test for command-line capabilities
2426
* [ ] stress test generating an index for the linux kernel pack (uses 64 bit offsets)
2527
* **cli - verify**
2628
* break progress up into bytes decompressed and compressed bytes read

0 commit comments

Comments
 (0)