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'
s'il contient des fichiers annexés. Récupérer aussi ces fichiers avec
'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]
Afficher le modeline pour un fichier du type spécifié
@ -153,6 +158,7 @@ CMD_ALIASES=(
xs:xsync
xw:xwhereis
xwa:xwebapp
xce:xconfig-export
gr:grep
)
DEFAULT_CMD=status
@ -293,6 +299,49 @@ elif [ "$CMD" == crone ]; then
git clone "$userhost:$path" "$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
exec "$scriptdir/lib/pywrapper" uproject.py "$CMD" "$@"