summaryrefslogtreecommitdiff
path: root/git-gui.sh
diff options
context:
space:
mode:
authorPratyush Yadav <me@yadavpratyush.com>2019-08-17 18:31:43 (GMT)
committerPratyush Yadav <me@yadavpratyush.com>2019-08-25 22:23:15 (GMT)
commit62bd99934bb2b1a07f786fdf9b94d7b692768e30 (patch)
tree23bc80b00ef27b006a00c8e6253c1255a7be2327 /git-gui.sh
parent5f0a516de9e8e6abdd37a79546f904a0ddbce58d (diff)
downloadgit-62bd99934bb2b1a07f786fdf9b94d7b692768e30.zip
git-62bd99934bb2b1a07f786fdf9b94d7b692768e30.tar.gz
git-62bd99934bb2b1a07f786fdf9b94d7b692768e30.tar.bz2
git-gui: allow reverting selected hunk
Just like the user can select a hunk to stage or unstage, add the ability to revert hunks. Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
Diffstat (limited to 'git-gui.sh')
-rwxr-xr-xgit-gui.sh14
1 files changed, 13 insertions, 1 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 6d4d002..1592544 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -3582,7 +3582,7 @@ set ctxm .vpane.lower.diff.body.ctxm
menu $ctxm -tearoff 0
$ctxm add command \
-label [mc "Apply/Reverse Hunk"] \
- -command {apply_hunk $cursorX $cursorY}
+ -command {apply_or_revert_hunk $cursorX $cursorY 0}
set ui_diff_applyhunk [$ctxm index last]
lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state]
$ctxm add command \
@@ -3592,6 +3592,11 @@ set ui_diff_applyline [$ctxm index last]
lappend diff_actions [list $ctxm entryconf $ui_diff_applyline -state]
$ctxm add separator
$ctxm add command \
+ -label [mc "Revert Hunk"] \
+ -command {apply_or_revert_hunk $cursorX $cursorY 1}
+set ui_diff_reverthunk [$ctxm index last]
+lappend diff_actions [list $ctxm entryconf $ui_diff_reverthunk -state]
+$ctxm add command \
-label [mc "Revert Line"] \
-command {apply_or_revert_range_or_line $cursorX $cursorY 1; do_rescan}
set ui_diff_revertline [$ctxm index last]
@@ -3691,6 +3696,8 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} {
set has_range [expr {[$::ui_diff tag nextrange sel 0.0] != {}}]
if {$::ui_index eq $::current_diff_side} {
set l [mc "Unstage Hunk From Commit"]
+ set h [mc "Revert Hunk"]
+
if {$has_range} {
set t [mc "Unstage Lines From Commit"]
set r [mc "Revert Lines"]
@@ -3700,6 +3707,8 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} {
}
} else {
set l [mc "Stage Hunk For Commit"]
+ set h [mc "Revert Hunk"]
+
if {$has_range} {
set t [mc "Stage Lines For Commit"]
set r [mc "Revert Lines"]
@@ -3734,6 +3743,9 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} {
$ctxm entryconf $::ui_diff_applyline -state $s -label $t
$ctxm entryconf $::ui_diff_revertline -state $revert_state \
-label $r
+ $ctxm entryconf $::ui_diff_reverthunk -state $revert_state \
+ -label $h
+
tk_popup $ctxm $X $Y
}
}