ajout de git_annex_initial()
ajout de pclone, pxinitial
This commit is contained in:
@@ -1 +1 @@
|
||||
007003000
|
||||
007004000
|
||||
|
||||
39
lib/ulib/vcs
39
lib/ulib/vcs
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user