upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src/bin/git_remote_nostr
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2026-02-13 10:51:25 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2026-02-13 10:51:25 +0000
commit40b439ae4d69b858274be51dd5af513c3b4f46f0 (patch)
tree64beb8589b8a2da5aee7aecf8dc9564e21d676d0 /src/bin/git_remote_nostr
parentcfd8cc19b6a81ad78bc30d5b21cefe21d574d09e (diff)
feat: add spinner for git fetch in non-verbose mode
Shows a progress spinner when fetching from git remotes in non-verbose mode. Suppresses git fetch output and listing messages when not in verbose mode. Uses NGITTEST environment variable for test timeouts.
Diffstat (limited to 'src/bin/git_remote_nostr')
-rw-r--r--src/bin/git_remote_nostr/list.rs6
-rw-r--r--src/bin/git_remote_nostr/main.rs13
2 files changed, 13 insertions, 6 deletions
diff --git a/src/bin/git_remote_nostr/list.rs b/src/bin/git_remote_nostr/list.rs
index 7753ba1..4a7c1ec 100644
--- a/src/bin/git_remote_nostr/list.rs
+++ b/src/bin/git_remote_nostr/list.rs
@@ -4,7 +4,7 @@ use anyhow::{Context, Result};
4use client::get_state_from_cache; 4use client::get_state_from_cache;
5use git::RepoActions; 5use git::RepoActions;
6use ngit::{ 6use ngit::{
7 client, 7 client::{self, is_verbose},
8 fetch::fetch_from_git_server, 8 fetch::fetch_from_git_server,
9 git::{self}, 9 git::{self},
10 git_events::{KIND_PULL_REQUEST, KIND_PULL_REQUEST_UPDATE, event_to_cover_letter, tag_value}, 10 git_events::{KIND_PULL_REQUEST, KIND_PULL_REQUEST_UPDATE, event_to_cover_letter, tag_value},
@@ -27,7 +27,9 @@ pub async fn run_list(
27 27
28 let term = console::Term::stderr(); 28 let term = console::Term::stderr();
29 29
30 term.write_line("git servers: listing refs...")?; 30 if is_verbose() {
31 term.write_line("git servers: listing refs...")?;
32 }
31 let remote_states = list_from_remotes( 33 let remote_states = list_from_remotes(
32 &term, 34 &term,
33 git_repo, 35 git_repo,
diff --git a/src/bin/git_remote_nostr/main.rs b/src/bin/git_remote_nostr/main.rs
index b26981d..3663d5b 100644
--- a/src/bin/git_remote_nostr/main.rs
+++ b/src/bin/git_remote_nostr/main.rs
@@ -12,7 +12,7 @@ use std::{
12}; 12};
13 13
14use anyhow::{Context, Result, bail}; 14use anyhow::{Context, Result, bail};
15use client::{Connect, consolidate_fetch_reports, get_repo_ref_from_cache}; 15use client::{Connect, consolidate_fetch_reports, get_repo_ref_from_cache, is_verbose};
16use git::{RepoActions, nostr_url::NostrUrlDecoded}; 16use git::{RepoActions, nostr_url::NostrUrlDecoded};
17use ngit::{ 17use ngit::{
18 client::{self, Params}, 18 client::{self, Params},
@@ -156,7 +156,10 @@ async fn fetching_with_report_for_helper(
156 trusted_maintainer_coordinate: &Nip19Coordinate, 156 trusted_maintainer_coordinate: &Nip19Coordinate,
157) -> Result<()> { 157) -> Result<()> {
158 let term = console::Term::stderr(); 158 let term = console::Term::stderr();
159 term.write_line("nostr: fetching...")?; 159 let verbose = is_verbose();
160 if verbose {
161 term.write_line("nostr: fetching...")?;
162 }
160 let (relay_reports, progress_reporter) = client 163 let (relay_reports, progress_reporter) = client
161 .fetch_all( 164 .fetch_all(
162 Some(git_repo_path), 165 Some(git_repo_path),
@@ -166,10 +169,12 @@ async fn fetching_with_report_for_helper(
166 .await?; 169 .await?;
167 let report = consolidate_fetch_reports(relay_reports); 170 let report = consolidate_fetch_reports(relay_reports);
168 if report.to_string().is_empty() { 171 if report.to_string().is_empty() {
169 term.write_line("nostr: no updates")?; 172 if verbose {
173 term.write_line("nostr: no updates")?;
174 }
170 } else { 175 } else {
171 term.write_line(&format!("nostr updates: {report}"))?; 176 term.write_line(&format!("nostr updates: {report}"))?;
172 } 177 }
173 progress_reporter.clear()?; 178 let _ = progress_reporter.clear();
174 Ok(()) 179 Ok(())
175} 180}