upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/git_remote_nostr/list.rs16
-rw-r--r--src/bin/git_remote_nostr/push.rs8
-rw-r--r--src/bin/ngit/sub_commands/sync.rs10
3 files changed, 19 insertions, 15 deletions
diff --git a/src/bin/git_remote_nostr/list.rs b/src/bin/git_remote_nostr/list.rs
index d06d202..7753ba1 100644
--- a/src/bin/git_remote_nostr/list.rs
+++ b/src/bin/git_remote_nostr/list.rs
@@ -8,7 +8,7 @@ use ngit::{
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},
11 list::{generate_remote_sync_warnings, identify_remote_sync_issues, list_from_remotes}, 11 list::list_from_remotes,
12 login::get_curent_user, 12 login::get_curent_user,
13 repo_ref::{self}, 13 repo_ref::{self},
14 utils::{get_all_proposals, get_open_or_draft_proposals}, 14 utils::{get_all_proposals, get_open_or_draft_proposals},
@@ -27,23 +27,17 @@ 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 let remote_states = list_from_remotes( 31 let remote_states = list_from_remotes(
31 &term, 32 &term,
32 git_repo, 33 git_repo,
33 &repo_ref.git_server, 34 &repo_ref.git_server,
34 &repo_ref.to_nostr_git_url(&None), 35 &repo_ref.to_nostr_git_url(&None),
35 ); 36 nostr_state.as_ref(),
37 )
38 .await;
36 39
37 let mut state = if let Some(nostr_state) = nostr_state { 40 let mut state = if let Some(nostr_state) = nostr_state {
38 // Identify sync issues using shared abstraction
39 let remote_issues = identify_remote_sync_issues(git_repo, &nostr_state, &remote_states);
40
41 // Generate and print warnings
42 let warnings = generate_remote_sync_warnings(&remote_issues, &remote_states);
43 for warning in warnings {
44 term.write_line(&warning)?;
45 }
46
47 nostr_state.state 41 nostr_state.state
48 } else { 42 } else {
49 let (state, _is_grasp_server) = repo_ref 43 let (state, _is_grasp_server) = repo_ref
diff --git a/src/bin/git_remote_nostr/push.rs b/src/bin/git_remote_nostr/push.rs
index 12350e7..9cf2c52 100644
--- a/src/bin/git_remote_nostr/push.rs
+++ b/src/bin/git_remote_nostr/push.rs
@@ -69,14 +69,18 @@ pub async fn run_push(
69 69
70 let term = console::Term::stderr(); 70 let term = console::Term::stderr();
71 71
72 let list_outputs = list_outputs.unwrap_or_else(|| { 72 let list_outputs = if let Some(outputs) = list_outputs {
73 outputs
74 } else {
73 list_from_remotes( 75 list_from_remotes(
74 &term, 76 &term,
75 git_repo, 77 git_repo,
76 &repo_ref.git_server, 78 &repo_ref.git_server,
77 &repo_ref.to_nostr_git_url(&None), 79 &repo_ref.to_nostr_git_url(&None),
80 None,
78 ) 81 )
79 }); 82 .await
83 };
80 84
81 let existing_state = { 85 let existing_state = {
82 // if no state events - create from first git server listed 86 // if no state events - create from first git server listed
diff --git a/src/bin/ngit/sub_commands/sync.rs b/src/bin/ngit/sub_commands/sync.rs
index d84feb6..daebb1b 100644
--- a/src/bin/ngit/sub_commands/sync.rs
+++ b/src/bin/ngit/sub_commands/sync.rs
@@ -77,8 +77,14 @@ pub async fn launch(args: &SubCommandArgs) -> Result<()> {
77 77
78 let term = console::Term::stderr(); 78 let term = console::Term::stderr();
79 79
80 let remote_states = 80 let remote_states = list_from_remotes(
81 list_from_remotes(&term, &git_repo, &repo_ref.git_server, &decoded_nostr_url); 81 &term,
82 &git_repo,
83 &repo_ref.git_server,
84 &decoded_nostr_url,
85 Some(&nostr_state),
86 )
87 .await;
82 88
83 let missing_refs = 89 let missing_refs =
84 fetch_missing_refs(&git_repo, &nostr_state, &remote_states, &decoded_nostr_url); 90 fetch_missing_refs(&git_repo, &nostr_state, &remote_states, &decoded_nostr_url);