From 2e026daeda20c0574f630c74f66cdee4c79be263 Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Mon, 12 May 2025 05:43:55 +0400 Subject: [PATCH] =?UTF-8?q?l'option=20-ww=20affiche=20la=20diff=C3=A9rence?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bash/src/pman.sh | 6 ++++++ bin/pmer | 18 +++++++++++++++--- bin/prel | 18 +++++++++++++++--- 3 files changed, 36 insertions(+), 6 deletions(-) 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.