git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 4/4] git-gui: allow Ctrl+T to toggle multiple paths

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 9, 2018, 14:33 UTC
Message-ID
<3f01f30f6fce762e127c45c361b009e7b6de33b4.1515508360.git.johannes.schindelin@gmx.de>
In-Reply-To
<cover.1515508360.git.johannes.schindelin@gmx.de>

It is possible to select multiple files in the "Unstaged Changes" and the "Staged Changes" lists. But when hitting Ctrl+T, surprisingly only one entry is handled, not all selected ones.

Let's just use the same code path as for the "Stage To Commit" and the "Unstage From Commit" menu items.

This fixes https://github.com/git-for-windows/git/issues/1012
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
---
 git-gui/git-gui.sh | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index ca2cdebdc4f..91c00e64893 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -2501,6 +2501,19 @@ proc toggle_or_diff {mode w args} {
 		set pos [split [$w index @$x,$y] .]
 		foreach {lno col} $pos break
 	} else {
+		if {$mode eq "toggle"} {
+			if {$w eq $ui_workdir} {
+				do_add_selection
+				set last_clicked {}
+				return
+			}
+			if {$w eq $ui_index} {
+				do_unstage_selection
+				set last_clicked {}
+				return
+			}
+		}
+
 		if {$last_clicked ne {}} {
 			set lno [lindex $last_clicked 1]
 		} else {
-- 
2.15.1.windows.2.395.g5bb0817ee52
Previous: Johannes SchindelinNext: Junio C Hamano
Message 5 of 8 in “"Fast-"track Git GUI changes”
  1. 0/4 "Fast-"track Git GUI changesJohannes Schindelin, Jan 9, 2018
  2. 1/4 git gui: fix staging a second line to a 1-line fileJohannes Schindelin, Jan 9, 2018
  3. 2/4 git-gui: avoid exception upon Ctrl+T in an empty listJohannes Schindelin, Jan 9, 2018
  4. 3/4 git-gui: fix exception when trying to stage with empty file listJohannes Schindelin, Jan 9, 2018
  5. 4/4 git-gui: allow Ctrl+T to toggle multiple pathsJohannes Schindelin, Jan 9, 2018
  6. Junio C HamanoJan 9, 2018
  7. Junio C HamanoJan 9, 2018
  8. Johannes SchindelinJan 10, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.