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:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-09-11 09:10:03 +0100
committerDanConwayDev <DanConwayDev@protonmail.com>2025-09-11 09:10:03 +0100
commit1f579f68df785fc5d89b33efe7736bedaa42b910 (patch)
treead3a1e1df080ae2eaca3caf52ef2ef82a2fa62e9 /src/bin/ngit/sub_commands
parent3b0e8e9708993ac13e8ba413249014132e1d0e0b (diff)
fix(init): simple mode non-grasp servers selection
list and allow selection / deselection of non-grasp servers when at least one grasp servers is selected and a non grasp server is a suggested default.
Diffstat (limited to 'src/bin/ngit/sub_commands')
-rw-r--r--src/bin/ngit/sub_commands/init.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/bin/ngit/sub_commands/init.rs b/src/bin/ngit/sub_commands/init.rs
index dc8c673..690714d 100644
--- a/src/bin/ngit/sub_commands/init.rs
+++ b/src/bin/ngit/sub_commands/init.rs
@@ -21,7 +21,8 @@ use ngit::{
21 list::list_from_remote, 21 list::list_from_remote,
22 repo_ref::{ 22 repo_ref::{
23 detect_existing_grasp_servers, extract_npub, extract_pks, 23 detect_existing_grasp_servers, extract_npub, extract_pks,
24 format_grasp_server_url_as_relay_url, normalize_grasp_server_url, save_repo_config_to_yaml, 24 format_grasp_server_url_as_relay_url, is_grasp_server_clone_url,
25 normalize_grasp_server_url, save_repo_config_to_yaml,
25 }, 26 },
26 repo_state::RepoState, 27 repo_state::RepoState,
27}; 28};
@@ -389,12 +390,14 @@ pub async fn launch(cli_args: &Cli, args: &SubCommandArgs) -> Result<()> {
389 .collect(); 390 .collect();
390 let mut additional_server_options: Vec<String> = git_server_defaults 391 let mut additional_server_options: Vec<String> = git_server_defaults
391 .iter() 392 .iter()
392 .filter(|s| grasp_server_git_servers.iter().any(|r| s.eq(&r))) 393 .filter(|s| !is_grasp_server_clone_url(s))
393 .cloned() 394 .cloned()
394 .collect(); 395 .collect();
395 396
396 if simple_mode && !selected_grasp_servers.is_empty() { 397 if simple_mode && !selected_grasp_servers.is_empty() {
397 if additional_server_options.is_empty() { 398 if additional_server_options.is_empty() {
399 git_server_defaults
400 } else {
398 // additional git servers were listed 401 // additional git servers were listed
399 let selected = loop { 402 let selected = loop {
400 let selections: Vec<bool> = vec![true; additional_server_options.len()]; 403 let selections: Vec<bool> = vec![true; additional_server_options.len()];
@@ -429,8 +432,6 @@ pub async fn launch(cli_args: &Cli, args: &SubCommandArgs) -> Result<()> {
429 let mut combined = grasp_server_git_servers; 432 let mut combined = grasp_server_git_servers;
430 combined.extend(selected); 433 combined.extend(selected);
431 combined 434 combined
432 } else {
433 git_server_defaults
434 } 435 }
435 } else { 436 } else {
436 // show all git servers 437 // show all git servers