git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] git-gui: fix file name handling with non-empty prefix
@ 2013-04-27 13:24 John Keeping
  2013-04-27 14:18 ` John Keeping
  0 siblings, 1 reply; 4+ messages in thread
From: John Keeping @ 2013-04-27 13:24 UTC (permalink / raw)
  To: Pat Thoyts; +Cc: git, Andrew Wong, John Keeping

Commit e3d06ca (git-gui: Detect full path when parsing arguments -
2012-10-02) fixed the handling of absolute paths passed to the browser
and blame subcommands by checking whether the file exists without the
prefix before prepending the prefix and checking again.  Since we have
chdir'd to the top level of the working tree before doing this, this
does not work if a file with the same name exists in a subdirectory and
at the top level (for example Makefile in git.git's t/ directory).

Instead of doing this, revert that patch and fix absolute path issue by
using "file join" to prepend the prefix to the supplied path.  This will
correctly handle absolute paths by skipping the prefix in that case.

Signed-off-by: John Keeping <john@keeping.me.uk>
---
 git-gui.sh | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/git-gui.sh b/git-gui.sh
index e133331..a94ad7f 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -3003,19 +3003,11 @@ blame {
 	set jump_spec {}
 	set is_path 0
 	foreach a $argv {
-		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
-		}
+		set p [file join $_prefix $a]
 
-		if {$is_path} {
+		if {$is_path || [file exists $p]} {
 			if {$path ne {}} usage
-			set path [normalize_relpath $_prefix$a]
+			set path [normalize_relpath $p]
 			break
 		} elseif {$a eq {--}} {
 			if {$path ne {}} {
-- 
1.8.3.rc0.149.g98a72f2.dirty

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-05-30 15:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-27 13:24 [PATCH] git-gui: fix file name handling with non-empty prefix John Keeping
2013-04-27 14:18 ` John Keeping
2013-05-12  2:03   ` Andrew Wong
2013-05-30 15:55     ` John Keeping

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).