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

[PATCH 1/2] git-gui: Detect full path when parsing arguments

From
Andrew Wong <andrew.kw.w@gmail.com>
Date
Oct 2, 2012, 16:25 UTC
Message-ID
<1349195115-15494-2-git-send-email-andrew.kw.w@gmail.com>
In-Reply-To
<1349195115-15494-1-git-send-email-andrew.kw.w@gmail.com>

When running "git-gui blame" from a subfolder (which means prefix is non-empty), if we pass a full path as argument, the argument parsing will fail to recognize the argument as a file name, because prefix is prepended to the argument.

This patch handles that scenario by adding an additional branch that checks the file name without using the prefix.

Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com>
---
 git-gui.sh | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/git-gui.sh b/git-gui.sh
index 5d035d5..5d7894b 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -3003,10 +3003,19 @@ blame {
 	set jump_spec {}
 	set is_path 0
 	foreach a $argv {
-		if {$is_path || [file exists $_prefix$a]} {
+		if {[file exists $a]} {
+			if {$path ne {}} usage
+			set path [normalize_relpath $a]
+			break
+		} elseif {[file exists $_prefix$a]} {
 			if {$path ne {}} usage
 			set path [normalize_relpath $_prefix$a]
 			break
+		}
+
+		if {$is_path} {
+			if {$path ne {}} usage
+			break
 		} elseif {$a eq {--}} {
 			if {$path ne {}} {
 				if {$head ne {}} usage
-- 
1.7.12.1.382.gb0576a6
Previous: Andrew WongNext: Andrew Wong
Message 2 of 5 in “git-gui: Few issues with using full path name”
  1. git-gui: Few issues with using full path nameAndrew Wong, Oct 2, 2012
  2. 1/2 git-gui: Detect full path when parsing argumentsAndrew Wong, Oct 2, 2012
  3. 2/2 git-gui: Don't prepend the prefix if value looks like a full pathAndrew Wong, Oct 2, 2012
  4. Andrew WongOct 7, 2012
  5. Andrew WongOct 12, 2012

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.