diff options
Diffstat (limited to 'src/bin/git_remote_nostr')
| -rw-r--r-- | src/bin/git_remote_nostr/fetch.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/bin/git_remote_nostr/fetch.rs b/src/bin/git_remote_nostr/fetch.rs index c2c0cb1..206367c 100644 --- a/src/bin/git_remote_nostr/fetch.rs +++ b/src/bin/git_remote_nostr/fetch.rs | |||
| @@ -265,14 +265,17 @@ impl<'a> FetchReporter<'a> { | |||
| 265 | let _ = self.term.write_line(msg); | 265 | let _ = self.term.write_line(msg); |
| 266 | } | 266 | } |
| 267 | } | 267 | } |
| 268 | fn write_transfer_progress(&self, lines_to_clear: usize) { | 268 | fn count_all_existing_lines(&self) -> usize { |
| 269 | self.remote_msgs.len() + self.transfer_progress_msgs.len() | ||
| 270 | } | ||
| 271 | fn just_write_transfer_progress(&self, lines_to_clear: usize) { | ||
| 269 | let _ = self.term.clear_last_lines(lines_to_clear); | 272 | let _ = self.term.clear_last_lines(lines_to_clear); |
| 270 | for msg in &self.transfer_progress_msgs { | 273 | for msg in &self.transfer_progress_msgs { |
| 271 | let _ = self.term.write_line(msg); | 274 | let _ = self.term.write_line(msg); |
| 272 | } | 275 | } |
| 273 | } | 276 | } |
| 274 | fn count_all_existing_lines(&self) -> usize { | 277 | fn just_count_transfer_progress(&self) -> usize { |
| 275 | self.remote_msgs.len() + self.transfer_progress_msgs.len() | 278 | self.transfer_progress_msgs.len() |
| 276 | } | 279 | } |
| 277 | fn process_remote_msg(&mut self, data: &[u8]) { | 280 | fn process_remote_msg(&mut self, data: &[u8]) { |
| 278 | let existing_lines = self.count_all_existing_lines(); | 281 | let existing_lines = self.count_all_existing_lines(); |
| @@ -300,7 +303,7 @@ impl<'a> FetchReporter<'a> { | |||
| 300 | if self.start_time.is_none() { | 303 | if self.start_time.is_none() { |
| 301 | self.start_time = Some(Instant::now()); | 304 | self.start_time = Some(Instant::now()); |
| 302 | } | 305 | } |
| 303 | let existing_lines = self.count_all_existing_lines(); | 306 | let existing_lines = self.just_count_transfer_progress(); |
| 304 | let updated = | 307 | let updated = |
| 305 | report_on_transfer_progress(progress_stats, &self.start_time.unwrap(), &self.end_time); | 308 | report_on_transfer_progress(progress_stats, &self.start_time.unwrap(), &self.end_time); |
| 306 | if self.transfer_progress_msgs.len() <= updated.len() { | 309 | if self.transfer_progress_msgs.len() <= updated.len() { |
| @@ -311,7 +314,7 @@ impl<'a> FetchReporter<'a> { | |||
| 311 | // reporting on it so we want to keep the old report | 314 | // reporting on it so we want to keep the old report |
| 312 | self.transfer_progress_msgs = updated; | 315 | self.transfer_progress_msgs = updated; |
| 313 | } | 316 | } |
| 314 | self.write_all(existing_lines); | 317 | self.just_write_transfer_progress(existing_lines); |
| 315 | } | 318 | } |
| 316 | } | 319 | } |
| 317 | 320 | ||