ajout de git_annex_initial()

ajout de pclone, pxinitial
This commit is contained in:
2014-11-19 15:24:10 +04:00
parent abd0d119ac
commit c3662082e4
3 changed files with 73 additions and 6 deletions

View File

@@ -1 +1 @@
007003000
007004000

View File

@@ -530,6 +530,45 @@ function git_ensure_cleancheckout() {
check_cleancheckout || die "Vous avez des modifications locales. Enregistrez ces modifications avant de continuer"
}
# fonctions pour git annex
function git_annex_initial() {
# sur le dépôt $1 fraichement cloné, vérifier s'il faut faire git annex
# init. Si oui, l'initialiser avec le nom d'hôte, et récupérer tous les
# fichiers annexés
# retourner 1 si une erreur s'est produite
local repodir="${1:-.}"
[ -d "$repodir" ] || return 1
repodir="$(abspath "$repodir")"
local GIT_DIR GIT_WORK_TREE
[ "$(cd "$repodir"; git rev-parse --is-bare-repository)" == false ] || return 0
[ -n "$(GIT_DIR="$repodir/.git" git config annex.uuid)" ] && return 0
# ici, on sait que git annex n'a pas encore été configuré
# vérifier s'il existe des fichiers annexés
local -a links
array_from_lines links "$(find "$repodir" -type l)"
local link hasannex=
for link in "${links[@]}"; do
link="$(readlink "$link")"
if [ "${link#.git/annex/}" != "$link" ]; then
hasannex=1
break
elif [[ "$link" == "*/.git/annex/*" ]]; then
hasannex=1
break
fi
done
if [ -n "$hasannex" ]; then
(cd "$repodir"
git annex init "$MYHOSTNAME" &&
git annex get &&
git annex sync
) || return 1
fi
}
################################################################################
# Subversion