1
0
mirror of https://github.com/git/git.git synced 2024-11-19 01:54:03 +01:00

git-gui: Collapse $env(HOME) to ~/ in recent repositories on Windows

Apparently native Tcl/Tk on Windows is using \ as the return value
from [file separator] but [file normalize] on that same system is
using / rather than \ to represent a directory separator.  I really
think that is nuts, but its what is happening.

So we can actually just hardcode our separator to / as all systems
we support (Windows, Mac OS X, UNIX) use /.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Shawn O. Pearce 2007-10-12 16:33:45 -04:00
parent ba6c761e62
commit 82dd4e0465

@ -140,12 +140,16 @@ constructor pick {} {
$w_recentlist tag conf link \ $w_recentlist tag conf link \
-foreground blue \ -foreground blue \
-underline 1 -underline 1
set home "[file normalize $::env(HOME)][file separator]" set home $::env(HOME)
if {[is_Cygwin]} {
set home [exec cygpath --windows --absolute $home]
}
set home "[file normalize $home]/"
set hlen [string length $home] set hlen [string length $home]
foreach p $sorted_recent { foreach p $sorted_recent {
set path $p set path $p
if {[string equal -length $hlen $home $p]} { if {[string equal -length $hlen $home $p]} {
set p "~[file separator][string range $p $hlen end]" set p "~/[string range $p $hlen end]"
} }
regsub -all "\n" $p "\\n" p regsub -all "\n" $p "\\n" p
$w_recentlist insert end $p link $w_recentlist insert end $p link