diff options
Diffstat (limited to 'src/bin/git_remote_nostr')
| -rw-r--r-- | src/bin/git_remote_nostr/list.rs | 16 | ||||
| -rw-r--r-- | src/bin/git_remote_nostr/push.rs | 8 |
2 files changed, 11 insertions, 13 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 |