git_worktree_cli/core/
utils.rs1use std::path::Path;
6
7pub fn is_git_ssh_url(url: &str) -> bool {
9 url.starts_with("git@") || url.contains(":")
10}
11
12pub fn ssh_to_https_url(url: &str) -> String {
14 if url.starts_with("git@") {
15 url.replace(":", "/").replace("git@", "https://")
17 } else {
18 url.to_string()
19 }
20}
21
22pub fn get_repo_name_from_url(url: &str) -> Option<String> {
24 let path = url.strip_suffix(".git").unwrap_or(url);
25
26 Path::new(path)
27 .file_name()
28 .and_then(|name| name.to_str())
29 .map(|s| s.to_string())
30}
31
32pub fn is_main_branch(branch_name: &str) -> bool {
34 matches!(branch_name, "main" | "master" | "develop" | "dev")
35}