You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
892 B
29 lines
892 B
vcs_git() {
|
|
local reponame="$(basename "$1")"; shift
|
|
local branch="$(basename "$1")"
|
|
local dir="$dir_source/$name/$reponame"
|
|
|
|
if [ ! -d "$dir" ]; then
|
|
# Clone new repo
|
|
git clone --recursive --depth=1 $([ "$branch" ] && echo "-b $branch")"$1" "$dir"
|
|
cd "$dir"
|
|
echo "$(git rev-parse @)" > "${dir}_rev_$_satname"
|
|
vcs_compile=true
|
|
else
|
|
cd "$dir"
|
|
|
|
if git fetch $([ "$branch" ] && echo "origin $branch") > /dev/null; then
|
|
git reset --hard FETCH_HEAD > /dev/null
|
|
fi
|
|
local rev="$(git rev-parse @)"
|
|
if [ "$rev" != "$(cat "${dir}_rev_$_satname" 2> /dev/null || true)" ]; then
|
|
echo "$rev" > "${dir}_rev_$_satname"
|
|
vcs_compile=true
|
|
fi
|
|
fi
|
|
|
|
version="$(git rev-list HEAD --count)_$(git rev-parse --short HEAD)"
|
|
cd "$OLDPWD"
|
|
|
|
getfile "$reponame"
|
|
}
|
|
|