ajouter pz pour faire une archive d'un projet

This commit is contained in:
Jephté Clain 2015-03-23 14:39:24 +04:00
parent 9389fb01e8
commit 1e11a57f83
2 changed files with 58 additions and 3 deletions

51
pz Executable file
View File

@ -0,0 +1,51 @@
#!/bin/bash
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
source "$(dirname "$0")/lib/ulib/ulib" || exit 1
urequire DEFAULTS vcs ptools
function display_help() {
uecho "$scriptname: faire une archive du projet
USAGE
$scriptname
OPTIONS
-C, --projdir PROJDIR
Spécifier le répertoire de base du projet qui est dans git. Par défaut,
on travaille dans le répertoire courant et on laisse git trouver le
répertoire de base du projet. Avec cette option, le répertoire courant
est modifié avant de lancer les commandes git.
-d, --destdir DESTDIR
Spécifier le répertoire dans lequel générer l'archive. Par défaut,
prendre le répertoire parent du répertoire de base du dépôt."
}
projdir=
destdir=
parse_opts "${PRETTYOPTS[@]}" \
--help '$exit_with display_help' \
-C:,--projdir: projdir= \
-d:,--destdir: destdir= \
@ args -- "$@" && set -- "${args[@]}" || die "$args"
if [ -n "$projdir" ]; then
cd "$projdir" || die
git_ensure_gitvcs
else
git_ensure_gitvcs
setx projdir=git rev-parse --show-toplevel
cd "$projdir" || die
fi
setx projdir=pwd
if [ -z "$destdir" ]; then
setx destdir=dirname -- "$projdir"
fi
setx name=basename -- "$projdir"
setx version=pver --show --allow-empty
setx branch=git_get_branch
dest="$destdir/$name${version:+-$version}+$branch.tgz"
estep "Création de $(ppath "$dest")"
git archive -o "$dest" --prefix="$name${version:+-$version}/" HEAD

View File

@ -66,6 +66,9 @@ COMMANDS
release, ou de correction de bugs. Lancer chaque commande avec --help release, ou de correction de bugs. Lancer chaque commande avec --help
pour les détails. Nécessite git. pour les détails. Nécessite git.
archive
Créer une archive du projet courant. Nécessite git.
annex [args] annex [args]
Lancer git annex avec les arguments spécifiés. Lancer git annex avec les arguments spécifiés.
xadd xadd
@ -106,12 +109,12 @@ SCRIPT_ALIASES=(
pv:vcs pv:vcs
pa:add prm:remove pcp:copy pmv:move pmd:mkdir pa:add prm:remove pcp:copy pmv:move pmd:mkdir
pci:commit pu:update pp:push pdiff:diff pci:commit pu:update pp:push pdiff:diff
pclone:clone
pcrone:crone
pxx:annex pxx:annex
pxa:xadd pxu:xunlock pxc:xcopy pxd:xdrop pxm:xmove pxa:xadd pxu:xunlock pxc:xcopy pxd:xdrop pxm:xmove
pxg:xget pxs:xsync pxw:xwhereis pxg:xget pxs:xsync pxw:xwhereis
pxinitial:xinitial pxinitial:xinitial
pclone:clone
pcrone:crone
pnew:new pnew:new
pgr:grep pgr:grep
paddml:addml paddml:addml
@ -130,6 +133,7 @@ CMD_ALIASES=(
p:push p:push
version:pver ver:pver version:pver ver:pver
develop:pdev dev:pdev release:prel rel:prel hotfix:pfix fix:pfix develop:pdev dev:pdev release:prel rel:prel hotfix:pfix fix:pfix
archive:pz arch:pz
xx:annex xx:annex
xa:xadd xa:xadd
xu:xunlock xu:xunlock
@ -144,7 +148,7 @@ CMD_ALIASES=(
DEFAULT_CMD=status DEFAULT_CMD=status
PY_CMDS=(new) PY_CMDS=(new)
VCS_CMDS=(getvcs getroot getrepos geturl vcs add remove copy move mkdir commit status update push diff tag) VCS_CMDS=(getvcs getroot getrepos geturl vcs add remove copy move mkdir commit status update push diff tag)
SH_CMDS=(pver pdev prel pfix) SH_CMDS=(pver pdev prel pfix pz)
GITANNEX_CMDS=(annex xadd xunlock xcopy xdrop xmove xget xsync xwhereis xinitial) GITANNEX_CMDS=(annex xadd xunlock xcopy xdrop xmove xget xsync xwhereis xinitial)
ML_CMDS=(printml addml) ML_CMDS=(printml addml)