possibilité de lancer les commandes avancées depuis la ligne de commande
This commit is contained in:
parent
72fe4c27a8
commit
0e5bf817a2
35
lib/ulib/vcs
35
lib/ulib/vcs
|
@ -181,11 +181,28 @@ function vcs_vcs_help() {
|
||||||
uecho "uproject $1: Appeler le gestionnaire de version approprié avec les arguments donnés
|
uecho "uproject $1: Appeler le gestionnaire de version approprié avec les arguments donnés
|
||||||
|
|
||||||
USAGE
|
USAGE
|
||||||
uproject $1 [args]"
|
uproject $1 [args]
|
||||||
|
|
||||||
|
note: les commandes suivantes permettent de lancer des opérations avancées:
|
||||||
|
$(array_to_lines __VCS_GIT_ADVANCED "" " ")"
|
||||||
}
|
}
|
||||||
function vcs_vcs() {
|
function vcs_vcs() {
|
||||||
_vcs_showhelp vcs "$@" && return
|
_vcs_showhelp vcs "$@" && return
|
||||||
|
|
||||||
|
local i f t
|
||||||
|
for i in "${__VCS_GIT_ADVANCED_MAP[@]}"; do
|
||||||
|
splitpair "$i" f t
|
||||||
|
if [ "$1" == "$f" ]; then
|
||||||
|
shift
|
||||||
|
set -- "$t" "$@"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if array_contains __VCS_GIT_ADVANCED "$1"; then
|
||||||
|
"$@"
|
||||||
|
return $?
|
||||||
|
fi
|
||||||
|
|
||||||
local type
|
local type
|
||||||
type="$(_vcs_get_type "$(_vcs_get_dir)")" || return
|
type="$(_vcs_get_type "$(_vcs_get_dir)")" || return
|
||||||
"$type" "$@"
|
"$type" "$@"
|
||||||
|
@ -499,6 +516,18 @@ function git_tag() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# Fonctions avancées de git
|
# Fonctions avancées de git
|
||||||
|
__VCS_GIT_ADVANCED_MAP=(
|
||||||
|
lbs:git_list_branches rbs:git_list_rbranches
|
||||||
|
gb:git_get_branch ib:git_is_branch
|
||||||
|
hr:git_has_remote tb:git_track_branch
|
||||||
|
ic:git_check_cleancheckout ec:git_ensure_cleancheckout
|
||||||
|
)
|
||||||
|
__VCS_GIT_ADVANCED=(
|
||||||
|
git_list_branches git_list_rbranches
|
||||||
|
git_get_branch git_is_branch
|
||||||
|
git_has_remote git_track_branch
|
||||||
|
git_check_cleancheckout git_ensure_cleancheckout
|
||||||
|
)
|
||||||
function git_list_branches() {
|
function git_list_branches() {
|
||||||
git for-each-ref refs/heads/ --format='%(refname:short)' | csort
|
git for-each-ref refs/heads/ --format='%(refname:short)' | csort
|
||||||
}
|
}
|
||||||
|
@ -509,7 +538,7 @@ function git_get_branch() {
|
||||||
git rev-parse --abbrev-ref HEAD 2>/dev/null
|
git rev-parse --abbrev-ref HEAD 2>/dev/null
|
||||||
}
|
}
|
||||||
function git_is_branch() {
|
function git_is_branch() {
|
||||||
[ "$(get_branch)" == "${1:-master}" ]
|
[ "$(git_get_branch)" == "${1:-master}" ]
|
||||||
}
|
}
|
||||||
function git_has_remote() {
|
function git_has_remote() {
|
||||||
[ -n "$(git config --get remote.${1:-origin}.url)" ]
|
[ -n "$(git config --get remote.${1:-origin}.url)" ]
|
||||||
|
@ -527,7 +556,7 @@ function git_check_cleancheckout() {
|
||||||
[ -z "$(git status --porcelain 2>/dev/null)" ]
|
[ -z "$(git status --porcelain 2>/dev/null)" ]
|
||||||
}
|
}
|
||||||
function git_ensure_cleancheckout() {
|
function git_ensure_cleancheckout() {
|
||||||
check_cleancheckout || die "Vous avez des modifications locales. Enregistrez ces modifications avant de continuer"
|
git_check_cleancheckout || die "Vous avez des modifications locales. Enregistrez ces modifications avant de continuer"
|
||||||
}
|
}
|
||||||
|
|
||||||
# fonctions pour git annex
|
# fonctions pour git annex
|
||||||
|
|
Loading…
Reference in New Issue