diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-09-11 09:10:03 +0100 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-09-11 09:10:03 +0100 |
| commit | 1f579f68df785fc5d89b33efe7736bedaa42b910 (patch) | |
| tree | ad3a1e1df080ae2eaca3caf52ef2ef82a2fa62e9 /src/bin/ngit/sub_commands | |
| parent | 3b0e8e9708993ac13e8ba413249014132e1d0e0b (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.rs | 9 |
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 |