diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/bin/ngit/sub_commands/send.rs | 22 |
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 | }; |
| 17 | use nostr::{ | 20 | use 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(), |