30 lines
1.7 KiB
Fish
30 lines
1.7 KiB
Fish
function gsa
|
|
# ─< Prompt the user to enter the repository URL to add as a submodule >────────────────────
|
|
echo "-- enter the repository to add as a submodule --"
|
|
read -l repo
|
|
|
|
# ─< Prompt the user to enter the branch to checkout (e.g., main, master) >─────────────────
|
|
echo "-- enter the branch to checkout (main/master..) --"
|
|
read -l branch
|
|
|
|
# ─< Prompt the user to enter the relative path where the submodule will be cloned >────────
|
|
# ─< Advise not to use the leading / or ./ >────────────────────────────────────────────────
|
|
echo "-- enter the relative path, where the submodule will be cloned to. (don't use fist / or ./) --"
|
|
read -l -S path
|
|
|
|
# ─< Ask the user for confirmation if the constructed command looks correct >───────────────
|
|
echo "-- does this command look right to you? [y/n] --"
|
|
echo "git submodule add --branch $branch --name $path $repo"
|
|
read -l comm
|
|
|
|
# ─< Switch statement to handle the user's confirmation input >─────────────────────────────
|
|
switch $comm
|
|
# ─< If the user inputs 'y' or 'Y', execute the git submodule add command >─────────────────
|
|
case 'y' 'Y'
|
|
git submodule add --branch $branch --name $path $repo
|
|
|
|
# ─< If the user inputs 'n' or 'N', notify them to try again >──────────────────────────────
|
|
case 'n' 'N'
|
|
echo "-- all right, just try again :) --"
|
|
end
|
|
end
|