-F permet de lire le contenu d'un fichier de version sans le mettre à jour
This commit is contained in:
parent
67d918b1b9
commit
1a595da1bc
35
uversion
35
uversion
|
@ -14,7 +14,10 @@ OPTIONS
|
||||||
Gérer le numéro de version se trouvant dans le fichier spécifié. Le
|
Gérer le numéro de version se trouvant dans le fichier spécifié. Le
|
||||||
fichier est créé si nécessaire. C'est l'option par défaut si un fichier
|
fichier est créé si nécessaire. C'est l'option par défaut si un fichier
|
||||||
nommé VERSION.txt se trouve dans le répertoire courant.
|
nommé VERSION.txt se trouve dans le répertoire courant.
|
||||||
-g, --git [branch:]VERSIONFILE
|
-F, --file-string VERSIONFILE
|
||||||
|
Prendre pour valeur de départ le contenu du fichier VERSIONFILE (qui
|
||||||
|
vaut par défaut VERSION.txt)
|
||||||
|
-g, --git-string [branch:]VERSIONFILE
|
||||||
Prendre pour valeur de départ le contenu du fichier VERSIONFILE (qui
|
Prendre pour valeur de départ le contenu du fichier VERSIONFILE (qui
|
||||||
vaut par défaut VERSION.txt) dans la branche BRANCH (qui vaut par défaut
|
vaut par défaut VERSION.txt) dans la branche BRANCH (qui vaut par défaut
|
||||||
master) du dépôt git situé dans le répertoire courant.
|
master) du dépôt git situé dans le répertoire courant.
|
||||||
|
@ -80,6 +83,8 @@ OPTIONS
|
||||||
gestionnaire de version. Note: pour le moment, seul git est supporté."
|
gestionnaire de version. Note: pour le moment, seul git est supporté."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFAULT_FILE=VERSION.txt
|
||||||
|
|
||||||
action=auto
|
action=auto
|
||||||
source=auto
|
source=auto
|
||||||
file=
|
file=
|
||||||
|
@ -100,8 +105,9 @@ vcsmetadata=
|
||||||
parse_opts "${PRETTYOPTS[@]}" \
|
parse_opts "${PRETTYOPTS[@]}" \
|
||||||
--help '$exit_with display_help' \
|
--help '$exit_with display_help' \
|
||||||
-f:,--file: '$set@ file; source=file' \
|
-f:,--file: '$set@ file; source=file' \
|
||||||
-g:,--git: '$set@ git; source=git' \
|
-F:,--file-string: '$set@ file; source=file-string' \
|
||||||
-s:,--string: '$set@ version; source=' \
|
-g:,--git-string: '$set@ git; source=git-string' \
|
||||||
|
-s:,--string: '$set@ version; source=string' \
|
||||||
--show action=show \
|
--show action=show \
|
||||||
--check action=check \
|
--check action=check \
|
||||||
--convert convert=1 \
|
--convert convert=1 \
|
||||||
|
@ -130,7 +136,7 @@ parse_opts "${PRETTYOPTS[@]}" \
|
||||||
# Calculer la source
|
# Calculer la source
|
||||||
if [ "$source" == auto ]; then
|
if [ "$source" == auto ]; then
|
||||||
source=file
|
source=file
|
||||||
for i in VERSION.txt version.txt; do
|
for i in "$DEFAULT_FILE" version.txt; do
|
||||||
if [ -f "$i" ]; then
|
if [ -f "$i" ]; then
|
||||||
file="$i"
|
file="$i"
|
||||||
break
|
break
|
||||||
|
@ -139,27 +145,35 @@ if [ "$source" == auto ]; then
|
||||||
elif [ "$source" == file ]; then
|
elif [ "$source" == file ]; then
|
||||||
[ "$action" == auto ] && action=update
|
[ "$action" == auto ] && action=update
|
||||||
fi
|
fi
|
||||||
[ "$source" == file -a -z "$file" ] && file=VERSION.txt
|
[ "$source" == file -a -z "$file" ] && file="$DEFAULT_FILE"
|
||||||
[ "$action" == auto ] && action=show
|
[ "$action" == auto ] && action=show
|
||||||
|
|
||||||
# Lire la version
|
# Lire la version
|
||||||
if [ "$source" == file ]; then
|
if [ "$source" == file ]; then
|
||||||
[ -f "$file" ] && version="$(<"$file")"
|
[ -f "$file" ] && version="$(<"$file")"
|
||||||
[ -n "$version" ] || version=0.0.0
|
elif [ "$source" == file-string ]; then
|
||||||
elif [ "$source" == git ]; then
|
if [ -z "$file" ]; then
|
||||||
|
file="$DEFAULT_FILE"
|
||||||
|
elif [ -d "$file" ]; then
|
||||||
|
file="$file/$DEFAULT_FILE"
|
||||||
|
fi
|
||||||
|
[ -f "$file" ] && version="$(<"$file")"
|
||||||
|
file=
|
||||||
|
elif [ "$source" == git-string ]; then
|
||||||
splitfsep2 "$git" : branch name
|
splitfsep2 "$git" : branch name
|
||||||
[ -n "$branch" ] || branch=master
|
[ -n "$branch" ] || branch=master
|
||||||
[ -n "$name" ] || name=VERSION.txt
|
[ -n "$name" ] || name="$DEFAULT_FILE"
|
||||||
if git rev-parse --verify --quiet "$branch:$name" >/dev/null; then
|
if git rev-parse --verify --quiet "$branch:$name" >/dev/null; then
|
||||||
version="$(git cat-file blob "$branch:$name" 2>/dev/null)"
|
version="$(git cat-file blob "$branch:$name" 2>/dev/null)"
|
||||||
fi
|
fi
|
||||||
[ -n "$version" ] || version=0.0.0
|
|
||||||
fi
|
fi
|
||||||
|
[ -n "$version" ] || version=0.0.0
|
||||||
|
|
||||||
# Conversion éventuelle du numéro de version
|
# Conversion éventuelle du numéro de version
|
||||||
psemver_parse "$version"
|
psemver_parse "$version"
|
||||||
|
[ -n "$valid" ] && convert=
|
||||||
if [ "$convert" == auto ]; then
|
if [ "$convert" == auto ]; then
|
||||||
[ -z "$valid" ] && convert=1 || convert=
|
[ -z "$valid" ] && convert=1
|
||||||
fi
|
fi
|
||||||
if [ -n "$convert" ]; then
|
if [ -n "$convert" ]; then
|
||||||
mversion="$(awkrun version="$version" '
|
mversion="$(awkrun version="$version" '
|
||||||
|
@ -201,7 +215,6 @@ BEGIN {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Actions
|
# Actions
|
||||||
|
|
||||||
if [ "$action" == show ]; then
|
if [ "$action" == show ]; then
|
||||||
if isatty; then
|
if isatty; then
|
||||||
estepi "La version actuelle est $version"
|
estepi "La version actuelle est $version"
|
||||||
|
|
Loading…
Reference in New Issue