repo-cloner/gen-mirror-path

43 lines
756 B
Bash
Executable File

#!/bin/bash
source $(dirname $(realpath $0))/config
function getRepoUniq(){
base=$(basename $1 .git)
rest=$(dirname $1)
# .git (working repo)
if [ "$base" == ".git" ]
then
base=$(basename $rest)
rest=$(dirname $rest)
fi
# extract username - or path
namespace=$(basename $rest)
# solve ssh domain:namespace/repo.git
if [[ "$namespace" == *:* ]]
then
namespace=$(echo $namespace | cut -d':' -f2)
fi
csum=$(echo $1 | cksum | cut -d' ' -f1)
echo ${namespace}_${base}_${csum}
}
function getRepoPath(){
uniq=$(getRepoUniq $1)
echo $cfgMirrorPath/$uniq.git
}
function getRepoCache(){
uniq=$(getRepoUniq $1)
echo $cfgCachePath/$uniq
}
# it the script is not sourced
if [[ ! "${BASH_SOURCE[0]}" != "${0}" ]]
then
getRepoPath $1
fi