upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src/bin/ngit/sub_commands
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/ngit/sub_commands')
-rw-r--r--src/bin/ngit/sub_commands/send.rs22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/bin/ngit/sub_commands/send.rs b/src/bin/ngit/sub_commands/send.rs
index 835153e..fa2b64d 100644
--- a/src/bin/ngit/sub_commands/send.rs
+++ b/src/bin/ngit/sub_commands/send.rs
@@ -6,7 +6,10 @@ use ngit::{
6 cli_interactor::{PromptChoiceParms, multi_select_with_custom_value}, 6 cli_interactor::{PromptChoiceParms, multi_select_with_custom_value},
7 client::{Params, send_events}, 7 client::{Params, send_events},
8 git::nostr_url::CloneUrl, 8 git::nostr_url::CloneUrl,
9 git_events::{EventRefType, KIND_PULL_REQUEST, generate_cover_letter_and_patch_events}, 9 git_events::{
10 EventRefType, KIND_PULL_REQUEST, KIND_PULL_REQUEST_UPDATE,
11 generate_cover_letter_and_patch_events,
12 },
10 push::push_refs_and_generate_pr_or_pr_update_event, 13 push::push_refs_and_generate_pr_or_pr_update_event,
11 repo_ref::{ 14 repo_ref::{
12 format_grasp_server_url_as_clone_url, format_grasp_server_url_as_relay_url, 15 format_grasp_server_url_as_clone_url, format_grasp_server_url_as_relay_url,
@@ -16,7 +19,7 @@ use ngit::{
16}; 19};
17use nostr::{ 20use nostr::{
18 ToBech32, 21 ToBech32,
19 event::Event, 22 event::{Event, Kind},
20 nips::{ 23 nips::{
21 nip01::Coordinate, 24 nip01::Coordinate,
22 nip19::{Nip19Coordinate, Nip19Event}, 25 nip19::{Nip19Coordinate, Nip19Event},
@@ -255,7 +258,7 @@ pub async fn launch(cli_args: &Cli, args: &SubCommandArgs, no_fetch: bool) -> Re
255 } 258 }
256 259
257 let mut git_ref = None; 260 let mut git_ref = None;
258 loop { 261 let events = loop {
259 let (events, _server_responses) = push_refs_and_generate_pr_or_pr_update_event( 262 let (events, _server_responses) = push_refs_and_generate_pr_or_pr_update_event(
260 &git_repo, 263 &git_repo,
261 &repo_ref, 264 &repo_ref,
@@ -464,7 +467,18 @@ pub async fn launch(cli_args: &Cli, args: &SubCommandArgs, no_fetch: bool) -> Re
464 to_try.push(url); 467 to_try.push(url);
465 } 468 }
466 // the loop with continue with the grasp servers 469 // the loop with continue with the grasp servers
467 } 470 };
471 println!(
472 "posting {}",
473 if events.iter().any(|e| e.kind.eq(&Kind::GitStatusClosed)) {
474 "proposal revision as new PR event, and a close status for the old patch"
475 } else if events.iter().any(|e| e.kind.eq(&KIND_PULL_REQUEST_UPDATE)) {
476 "proposal revision as PR update event"
477 } else {
478 "proposal as PR event"
479 }
480 );
481 events
468 } else { 482 } else {
469 let events = generate_cover_letter_and_patch_events( 483 let events = generate_cover_letter_and_patch_events(
470 cover_letter_title_description.clone(), 484 cover_letter_title_description.clone(),