(bash) update repo cl function
This commit is contained in:
parent
20dd4e841b
commit
f5368c7109
1 changed files with 22 additions and 10 deletions
|
|
@ -145,25 +145,37 @@ fcd() {
|
||||||
cl() {
|
cl() {
|
||||||
local url=$1
|
local url=$1
|
||||||
local ghq_dir="$HOME/ghq"
|
local ghq_dir="$HOME/ghq"
|
||||||
|
local argc=$#
|
||||||
|
local project_name=""
|
||||||
|
local repository_name=""
|
||||||
|
local url=""
|
||||||
|
|
||||||
# extract project name
|
# extract project name
|
||||||
if [[ $url =~ git@github\.com:([^/]+)/([^/]+)\.git ]]; then
|
if [[ $url =~ git@git(lab|hub)\.com:([^/]+)/([^/]+)\.git ]]; then
|
||||||
local project_name="${BASH_REMATCH[1]}"
|
local project_name="${BASH_REMATCH[2]}"
|
||||||
local repository_name="${BASH_REMATCH[2]}"
|
local repository_name="${BASH_REMATCH[3]}"
|
||||||
elif [[ $url =~ https://github\.com/([^/]+)/([^/]+)\.git ]]; then
|
elif [[ $url =~ https://git(lab|hub)\.com/([^/]+)/([^/]+)\.git ]]; then
|
||||||
local project_name="${BASH_REMATCH[1]}"
|
local project_name="${BASH_REMATCH[2]}"
|
||||||
local repository_name="${BASH_REMATCH[2]}"
|
local repository_name="${BASH_REMATCH[3]}"
|
||||||
elif [[ $# -ne 0 ]]; then
|
elif [[ $# -ne 0 ]]; then
|
||||||
local project_name="juancwu"
|
repository_name=$1
|
||||||
local repository_name="$url"
|
namespace="juancwu"
|
||||||
local url="git@github.com:juancwu/$repository_name.git"
|
# default domain to github
|
||||||
|
local domain="hub"
|
||||||
|
# possible domain given
|
||||||
|
if [[ $# -eq 2 ]]; then
|
||||||
|
domain=$1
|
||||||
|
repository_name=$2
|
||||||
|
fi
|
||||||
|
url="git@git$domain.com:$namespace/$repository_name.git"
|
||||||
else
|
else
|
||||||
echo -e "$ERROR Invalid URL format"
|
echo -e "$ERROR Invalid URL format"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# check if directory for project exists or not
|
# check if directory for project exists or not
|
||||||
local project_dir="${ghq_dir}/${project_name}/${repository_name}"
|
local project_dir="${ghq_dir}/${namespace}/${repository_name}"
|
||||||
|
echo $project_dir
|
||||||
if [[ ! -d $project_dir ]]; then
|
if [[ ! -d $project_dir ]]; then
|
||||||
mkdir -p $project_dir
|
mkdir -p $project_dir
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue