repo-cloner/old/src/mirror-main-repo
Václav Valíček b536c883de
move old files to old directory
Signed-off-by: Václav Valíček <valicek1994@gmail.com>
2022-05-04 09:46:41 +02:00

51 lines
821 B
Bash
Executable File

#!/bin/bash
#
# Just mirror (clone or fetch) specified git repository
# - no other mess (eg submodules, just clean mirror)
#
# Usage:
# mirror-main-repo <url>
# Unofficial strict mode
set -euo pipefail
IFS=$'\n\t'
source $(dirname $(realpath $0))/gen-mirror-path
function updateOrCreate(){
url=$1
repodir=$(getRepoPath $url)
if [ ! -d $repodir ]
then
echo "Clone of $url"
git clone --bare --mirror $url $repodir
# create FETCH_HEAD needed by other scripts
cd $repodir
git fetch --prune
else
cd $repodir
echo "Update of $url"
git fetch --prune
fi
}
function getLastCommit(){
url=$1
repodir=$(getRepoPath $url)
if [ -d $repodir ]
then
cd $repodir
git --no-pager log --full-history --all -1 --pretty=format:"%H%n"
else
echo '-'
fi
}
oldPwd=$(pwd)
updateOrCreate $1
cd $oldPwd