-command [cb _next new] \
-accelerator $M1T-N \
-label [mc "New..."]
+ bind $top <$M1B-n> [cb _next new]
+ bind $top <$M1B-N> [cb _next new]
}
$opts tag conf link_clone -foreground blue -underline 1
-command [cb _next clone] \
-accelerator $M1T-C \
-label [mc "Clone..."]
+ bind $top <$M1B-c> [cb _next clone]
+ bind $top <$M1B-C> [cb _next clone]
}
$opts tag conf link_open -foreground blue -underline 1
-command [cb _next open] \
-accelerator $M1T-O \
-label [mc "Open..."]
+ bind $top <$M1B-o> [cb _next open]
+ bind $top <$M1B-O> [cb _next open]
}
$opts conf -state disabled
$w_recentlist tag conf link \
-foreground blue \
-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]
foreach p $sorted_recent {
set path $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
$w_recentlist insert end $p link
&& [file exists [file join $path config]]} {
return 1
}
+ if {[is_Cygwin]} {
+ if {[file exists [file join $path HEAD]]
+ && [file exists [file join $path objects.lnk]]
+ && [file exists [file join $path config.lnk]]} {
+ return 1
+ }
+ }
return 0
}
+proc _objdir {path} {
+ set objdir [file join $path .git objects]
+ if {[file isdirectory $objdir]} {
+ return $objdir
+ }
+
+ set objdir [file join $path objects]
+ if {[file isdirectory $objdir]} {
+ return $objdir
+ }
+
+ if {[is_Cygwin]} {
+ set objdir [file join $path .git objects.lnk]
+ if {[file isfile $objdir]} {
+ return [win32_read_lnk $objdir]
+ }
+
+ set objdir [file join $path objects.lnk]
+ if {[file isfile $objdir]} {
+ return [win32_read_lnk $objdir]
+ }
+ }
+
+ return {}
+}
+
######################################################################
##
## Create New Repository
}
if {$clone_type eq {hardlink} || $clone_type eq {shared}} {
- set objdir [file join $origin_url .git objects]
- if {![file isdirectory $objdir]} {
- set objdir [file join $origin_url objects]
- if {![file isdirectory $objdir]} {
- error_popup [mc "Not a Git repository: %s" [file tail $origin_url]]
- return
- }
+ set objdir [_objdir $origin_url]
+ if {$objdir eq {}} {
+ error_popup [mc "Not a Git repository: %s" [file tail $origin_url]]
+ return
}
}