diff --git a/bash/src/pman.sh b/bash/src/pman.sh index f2f5d3d..4a2d928 100644 --- a/bash/src/pman.sh +++ b/bash/src/pman.sh @@ -84,6 +84,12 @@ function _list_commits() { _filter_rel } +function _show_diff() { + local source="${1:-$SrcBranch}" dest="${2:-$DestBranch}" mergebase + setx mergebase=git merge-base "$dest" "$source" + git diff ${_sd_COLOR:+--color=$_sd_COLOR} "$mergebase..$source" +} + function _scripte() { echo >>"$script" echo "$comment$(qvals "$@")" >>"$script" diff --git a/bin/pmer b/bin/pmer index 979dd69..9a7daf8 100755 --- a/bin/pmer +++ b/bin/pmer @@ -11,8 +11,19 @@ function show_action() { local commits setx commits=_list_commits if [ -n "$commits" ]; then - einfo "Commits à fusionner $SrcBranch --> $DestBranch" - eecho "$commits" + if [ $ShowLevel -ge 2 ]; then + { + echo "\ +# Commits à fusionner $SrcBranch --> $DestBranch + +$commits +" + _sd_COLOR=always _show_diff + } | less -eRF + else + einfo "Commits à fusionner $SrcBranch --> $DestBranch" + eecho "$commits" + fi fi } @@ -148,6 +159,7 @@ ConfigFile= _Fake= _KeepScript= action=merge +ShowLevel=0 TechMerge= SquashMsg= [ -z "$PMAN_NO_PUSH" ] && Push=1 || Push= @@ -177,7 +189,7 @@ fichier de configuration des branches. cette option est prioritaire sur --config par défaut, utiliser le fichier .pman.conf dans le répertoire du dépôt s'il existe" --fake _Fake=1 "++option non documentée" --keep-script _KeepScript=1 "++option non documentée" - -w,--show action=show "\ + -w,--show '$action=show; inc@ ShowLevel' "\ lister les modifications qui seraient fusionnées dans la branche destination" -b,--rebase action=rebase "\ lancer git rebase -i sur la branche source. cela permet de réordonner les diff --git a/bin/prel b/bin/prel index e1af6eb..2ec3a31 100755 --- a/bin/prel +++ b/bin/prel @@ -11,8 +11,19 @@ function show_action() { local commits setx commits=_list_commits if [ -n "$commits" ]; then - einfo "Commits à fusionner $SrcBranch --> $DestBranch" - eecho "$commits" + if [ $ShowLevel -ge 2 ]; then + { + echo "\ +# Commits à fusionner $SrcBranch --> $DestBranch + +$commits +" + _sd_COLOR=always _show_diff + } | less -eRF + else + einfo "Commits à fusionner $SrcBranch --> $DestBranch" + eecho "$commits" + fi fi } @@ -194,6 +205,7 @@ ConfigFile= _Fake= _KeepScript= action=release +ShowLevel=0 [ -z "$PMAN_NO_MERGE" ] && Merge=1 || Merge= [ -z "$PMAN_NO_PUSH" ] && Push=1 || Push= Version= @@ -222,7 +234,7 @@ fichier de configuration des branches. cette option est prioritaire sur --config par défaut, utiliser le fichier .pman.conf dans le répertoire du dépôt s'il existe" --fake _Fake=1 "++option non documentée" --keep-script _KeepScript=1 "++option non documentée" - -w,--show action=show "\ + -w,--show '$action=show; inc@ ShowLevel' "\ lister les modifications qui seraient intégrées dans la release" --release action=release "++\ créer la release.