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:
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
|
||||||
|
Loading…
Reference in New Issue
Block a user