59 lines
1.9 KiB
Bash
Executable File
59 lines
1.9 KiB
Bash
Executable File
#!/bin/zsh
|
|
|
|
CONFIG="$HOME/.config/gclone/gclone.conf"
|
|
|
|
# Detect if there is already a default user. If not, set it to quaxlyqueen.
|
|
if [[ $(grep -c "default-user: " $CONFIG) -gt 0 ]]; then
|
|
DEFAULT_USER=`grep "default-user: " $CONFIG | cut -d " " -f 2`
|
|
else
|
|
echo "default-user: quaxlyqueen" >> $CONFIG
|
|
fi
|
|
|
|
# Catch any invalid input.
|
|
if [[ $# -eq 0 || $# -gt 2 ]]; then
|
|
echo "\nImproper usage. Try:"
|
|
echo "\ngclone [ { owner }/[ repo { -h | --help | --set-default [ username ] } ] ]"
|
|
echo " gclone gclone"
|
|
echo " gclone quaxlyqueen/gclone"
|
|
echo " gclone -h"
|
|
echo " gclone --help"
|
|
echo " gclone --set-default quaxlyqueen"
|
|
|
|
exit
|
|
|
|
# Display help.
|
|
elif [[ $1 == "-h" || $1 == "--help" ]]; then
|
|
echo "\nMaking the Git command line tool easier to use with simpler commands."
|
|
echo "User must provide an argument. This argument is in the format of:"
|
|
echo " \"owner/repository\""
|
|
echo "The \"owner/\" portion may be excluded. By default, this will clone from"
|
|
echo "the owner quaxlyqueen. WIP: This may be configured at \"$CONFIG\"."
|
|
echo "an example is below."
|
|
|
|
echo "\n\ndefault-user: quaxlyqueen"
|
|
|
|
echo "\n\nUsage:"
|
|
echo "gclone [ { owner }/[ repo ] ] { -h | --help | --set-default [ username ] }"
|
|
echo " gclone gclone"
|
|
echo " gclone quaxlyqueen/gclone"
|
|
echo " gclone -h"
|
|
echo " gclone --help"
|
|
echo " gclone --set-default quaxlyqueen"
|
|
|
|
exit
|
|
|
|
# Set the default owner to clone repo's.
|
|
elif [[ $1 == "--set-default" ]]; then
|
|
sed -i "/default-user: /c\default-user: $2" $CONFIG
|
|
echo "\nDefault user has been set to $2"
|
|
exit
|
|
|
|
# Clone a git repo from a specified owner.
|
|
elif [[ $1 =~ "/" ]]; then
|
|
git clone https://github.com/$1
|
|
|
|
# Clone a git repo from the owner. By default, this will be the owner quaxlyqueen.
|
|
else
|
|
git clone https://github.com/$DEFAULT_USER/$1
|
|
fi
|