uproject: ajouter la commande xconfig-export

This commit is contained in:
Jephté Clain 2016-03-23 00:02:07 +04:00
parent ed3de6d6e1
commit 2c27f03ba0
1 changed files with 49 additions and 0 deletions

View File

@ -96,6 +96,11 @@ COMMANDS
Sur un dépôt fraichement cloné, initialiser le dépôt avec 'annex init' Sur un dépôt fraichement cloné, initialiser le dépôt avec 'annex init'
s'il contient des fichiers annexés. Récupérer aussi ces fichiers avec s'il contient des fichiers annexés. Récupérer aussi ces fichiers avec
'annex get' 'annex get'
xconfig-export [dir]
Installer des hooks pour qu'un dépôt puisse être utilisé pour servir des
fichiers, par exemple avec un serveur web. Plus précisément, un hook
post-receive est créé avec la commande 'git annex merge', et un hook
post-update est créé avec la commande 'git update-server-info'
printml [-t TYPE] printml [-t TYPE]
Afficher le modeline pour un fichier du type spécifié Afficher le modeline pour un fichier du type spécifié
@ -153,6 +158,7 @@ CMD_ALIASES=(
xs:xsync xs:xsync
xw:xwhereis xw:xwhereis
xwa:xwebapp xwa:xwebapp
xce:xconfig-export
gr:grep gr:grep
) )
DEFAULT_CMD=status DEFAULT_CMD=status
@ -293,6 +299,49 @@ elif [ "$CMD" == crone ]; then
git clone "$userhost:$path" "$destdir" || die git clone "$userhost:$path" "$destdir" || die
git_annex_initial "$destdir" || die git_annex_initial "$destdir" || die
elif [ "$CMD" == xconfig-export ]; then
unset GIT_DIR; unset GIT_WORK_TREE
dir="${1:-.}"
[ -d "$dir" ] || die "$dir: répertoire introuvable"
setx dir=abspath "$dir"
setx repodir=ppath "$dir"
cd "$dir"
git rev-parse 2>/dev/null || die "$repodir: n'est pas un dépôt git"
[ -n "$(git config --get annex.uuid)" ] || die "$repodir: n'est pas un dépôt git-annex"
cd "$(__vcs_find_root "$dir")"
[ -d .git ] || die "$repodir: est un dépôt nu"
prhook=.git/hooks/post-receive
prscript='if [ -n "$GIT_DIR" ]; then cd "$GIT_DIR"; cd ..; unset GIT_DIR; fi
git annex merge'
puhook=.git/hooks/post-update
puscript='git update-server-info'
if [ -f "$prhook" ]; then
ewarn "Le fichier $prhook existe déjà dans $repodir
Vérifiez qu'il contient les commandes suivantes:
--------8<--------
$prscript
--------8<--------"
else
estep "post-receive"
echo "#!/bin/bash
$prscript" >"$prhook"
chmod +x "$prhook"
fi
if [ -f "$puhook" ]; then
ewarn "Le fichier $puhook existe déjà dans $repodir
Vérifiez qu'il contient les commandes suivantes:
--------8<--------
$puscript
--------8<--------"
else
estep "post-update"
echo "#!/bin/bash
$puscript" >"$puhook"
chmod +x "$puhook"
fi
elif array_contains PY_CMDS "$CMD"; then elif array_contains PY_CMDS "$CMD"; then
exec "$scriptdir/lib/pywrapper" uproject.py "$CMD" "$@" exec "$scriptdir/lib/pywrapper" uproject.py "$CMD" "$@"