1
0
mirror of https://github.com/git/git.git synced 2024-11-18 04:23:55 +01:00
* git://repo.or.cz/git-gui:
  git-gui: Fix the search bar destruction handler.
  Update the po template
  git-gui: Implement automatic rescan after Tool execution.
  git-gui: Allow Tools request arguments from the user.
  git-gui: Add a Tools menu for arbitrary commands.
  git-gui: Fix the after callback execution in rescan.
  git-gui: Implement system-wide configuration handling.
  git-gui: try to provide a window icon under X
This commit is contained in:
Junio C Hamano 2008-11-16 15:51:11 -08:00
commit 6e13921b4f
7 changed files with 1486 additions and 340 deletions

@ -597,6 +597,28 @@ if {[is_Windows]} {
if {![info exists env(DISPLAY)]} {
set env(DISPLAY) :9999
}
} else {
catch {
image create photo gitlogo -width 16 -height 16
gitlogo put #33CC33 -to 7 0 9 2
gitlogo put #33CC33 -to 4 2 12 4
gitlogo put #33CC33 -to 7 4 9 6
gitlogo put #CC3333 -to 4 6 12 8
gitlogo put gray26 -to 4 9 6 10
gitlogo put gray26 -to 3 10 6 12
gitlogo put gray26 -to 8 9 13 11
gitlogo put gray26 -to 8 11 10 12
gitlogo put gray26 -to 11 11 13 14
gitlogo put gray26 -to 3 12 5 14
gitlogo put gray26 -to 5 13
gitlogo put gray26 -to 10 13
gitlogo put gray26 -to 4 14 12 15
gitlogo put gray26 -to 5 15 11 16
gitlogo redither
wm iconphoto . -default gitlogo
}
}
######################################################################
@ -918,19 +940,25 @@ git-version proc _parse_config {arr_name args} {
}
proc load_config {include_global} {
global repo_config global_config default_config
global repo_config global_config system_config default_config
if {$include_global} {
_parse_config system_config --system
_parse_config global_config --global
}
_parse_config repo_config
foreach name [array names default_config] {
if {[catch {set v $system_config($name)}]} {
set system_config($name) $default_config($name)
}
}
foreach name [array names system_config] {
if {[catch {set v $global_config($name)}]} {
set global_config($name) $default_config($name)
set global_config($name) $system_config($name)
}
if {[catch {set v $repo_config($name)}]} {
set repo_config($name) $default_config($name)
set repo_config($name) $system_config($name)
}
}
}
@ -1463,10 +1491,8 @@ proc rescan_done {fd buf after} {
prune_selection
unlock_index
display_all_files
if {$current_diff_path ne {}} reshow_diff
if {$current_diff_path eq {}} select_first_diff
uplevel #0 $after
if {$current_diff_path ne {}} { reshow_diff $after }
if {$current_diff_path eq {}} { select_first_diff $after }
}
proc prune_selection {} {
@ -1978,16 +2004,16 @@ proc do_rescan {} {
}
proc ui_do_rescan {} {
rescan {force_first_diff; ui_ready}
rescan {force_first_diff ui_ready}
}
proc do_commit {} {
commit_tree
}
proc next_diff {} {
proc next_diff {{after {}}} {
global next_diff_p next_diff_w next_diff_i
show_diff $next_diff_p $next_diff_w {}
show_diff $next_diff_p $next_diff_w {} {} $after
}
proc find_anchor_pos {lst name} {
@ -2072,25 +2098,42 @@ proc next_diff_after_action {w path {lno {}} {mmask {}}} {
}
}
proc select_first_diff {} {
proc select_first_diff {after} {
global ui_workdir
if {[find_next_diff $ui_workdir {} 1 {^_?U}] ||
[find_next_diff $ui_workdir {} 1 {[^O]$}]} {
next_diff
next_diff $after
} else {
uplevel #0 $after
}
}
proc force_first_diff {} {
global current_diff_path
proc force_first_diff {after} {
global ui_workdir current_diff_path file_states
if {[info exists file_states($current_diff_path)]} {
set state [lindex $file_states($current_diff_path) 0]
if {[string index $state 1] ne {O}} return
} else {
set state {OO}
}
select_first_diff
set reselect 0
if {[string first {U} $state] >= 0} {
# Already a conflict, do nothing
} elseif {[find_next_diff $ui_workdir $current_diff_path {} {^_?U}]} {
set reselect 1
} elseif {[string index $state 1] ne {O}} {
# Already a diff & no conflicts, do nothing
} elseif {[find_next_diff $ui_workdir $current_diff_path {} {[^O]$}]} {
set reselect 1
}
if {$reselect} {
next_diff $after
} else {
uplevel #0 $after
}
}
proc toggle_or_diff {w x y} {
@ -2246,6 +2289,9 @@ if {[is_enabled transport]} {
.mbar add cascade -label [mc Merge] -menu .mbar.merge
.mbar add cascade -label [mc Remote] -menu .mbar.remote
}
if {[is_enabled multicommit] || [is_enabled singlecommit]} {
.mbar add cascade -label [mc Tools] -menu .mbar.tools
}
. configure -menu .mbar
# -- Repository Menu
@ -2520,6 +2566,20 @@ if {[is_MacOSX]} {
-command do_options
}
# -- Tools Menu
#
if {[is_enabled multicommit] || [is_enabled singlecommit]} {
set tools_menubar .mbar.tools
menu $tools_menubar
$tools_menubar add separator
$tools_menubar add command -label [mc "Add..."] -command tools_add::dialog
$tools_menubar add command -label [mc "Remove..."] -command tools_remove::dialog
set tools_tailcnt 3
if {[array names repo_config guitool.*.cmd] ne {}} {
tools_populate_all
}
}
# -- Help Menu
#
.mbar add cascade -label [mc Help] -menu .mbar.help

@ -16,7 +16,7 @@ proc clear_diff {} {
$ui_workdir tag remove in_diff 0.0 end
}
proc reshow_diff {} {
proc reshow_diff {{after {}}} {
global file_states file_lists
global current_diff_path current_diff_side
global ui_diff
@ -30,13 +30,13 @@ proc reshow_diff {} {
|| [lsearch -sorted -exact $file_lists($current_diff_side) $p] == -1} {
if {[find_next_diff $current_diff_side $p {} {[^O]}]} {
next_diff
next_diff $after
} else {
clear_diff
}
} else {
set save_pos [lindex [$ui_diff yview] 0]
show_diff $p $current_diff_side {} $save_pos
show_diff $p $current_diff_side {} $save_pos $after
}
}

@ -25,7 +25,7 @@ proc config_check_encodings {} {
proc save_config {} {
global default_config font_descs
global repo_config global_config
global repo_config global_config system_config
global repo_config_new global_config_new
global ui_comm_spell
@ -49,7 +49,7 @@ proc save_config {} {
foreach name [array names default_config] {
set value $global_config_new($name)
if {$value ne $global_config($name)} {
if {$value eq $default_config($name)} {
if {$value eq $system_config($name)} {
catch {git config --global --unset $name}
} else {
regsub -all "\[{}\]" $value {"} value
@ -284,17 +284,17 @@ proc do_options {} {
}
proc do_restore_defaults {} {
global font_descs default_config repo_config
global font_descs default_config repo_config system_config
global repo_config_new global_config_new
foreach name [array names default_config] {
set repo_config_new($name) $default_config($name)
set global_config_new($name) $default_config($name)
set repo_config_new($name) $system_config($name)
set global_config_new($name) $system_config($name)
}
foreach option $font_descs {
set name [lindex $option 0]
set repo_config(gui.$name) $default_config(gui.$name)
set repo_config(gui.$name) $system_config(gui.$name)
}
apply_config

@ -35,7 +35,7 @@ constructor new {i_w i_text args} {
trace add variable searchstring write [cb _incrsearch_cb]
bind $w <Destroy> [cb delete_this]
bind $w <Destroy> [list delete_this $this]
return $this
}

159
git-gui/lib/tools.tcl Normal file

@ -0,0 +1,159 @@
# git-gui Tools menu implementation
proc tools_list {} {
global repo_config
set names {}
foreach item [array names repo_config guitool.*.cmd] {
lappend names [string range $item 8 end-4]
}
return [lsort $names]
}
proc tools_populate_all {} {
global tools_menubar tools_menutbl
global tools_tailcnt
set mbar_end [$tools_menubar index end]
set mbar_base [expr {$mbar_end - $tools_tailcnt}]
if {$mbar_base >= 0} {
$tools_menubar delete 0 $mbar_base
}
array unset tools_menutbl
foreach fullname [tools_list] {
tools_populate_one $fullname
}
}
proc tools_create_item {parent args} {
global tools_menubar tools_tailcnt
if {$parent eq $tools_menubar} {
set pos [expr {[$parent index end]-$tools_tailcnt+1}]
eval [list $parent insert $pos] $args
} else {
eval [list $parent add] $args
}
}
proc tools_populate_one {fullname} {
global tools_menubar tools_menutbl tools_id
if {![info exists tools_id]} {
set tools_id 0
}
set names [split $fullname '/']
set parent $tools_menubar
for {set i 0} {$i < [llength $names]-1} {incr i} {
set subname [join [lrange $names 0 $i] '/']
if {[info exists tools_menutbl($subname)]} {
set parent $tools_menutbl($subname)
} else {
set subid $parent.t$tools_id
tools_create_item $parent cascade \
-label [lindex $names $i] -menu $subid
menu $subid
set tools_menutbl($subname) $subid
set parent $subid
incr tools_id
}
}
tools_create_item $parent command \
-label [lindex $names end] \
-command [list tools_exec $fullname]
}
proc tools_exec {fullname} {
global repo_config env current_diff_path
global current_branch is_detached
if {[is_config_true "guitool.$fullname.needsfile"]} {
if {$current_diff_path eq {}} {
error_popup [mc "Running %s requires a selected file." $fullname]
return
}
}
catch { unset env(ARGS) }
catch { unset env(REVISION) }
if {[get_config "guitool.$fullname.revprompt"] ne {} ||
[get_config "guitool.$fullname.argprompt"] ne {}} {
set dlg [tools_askdlg::dialog $fullname]
if {![tools_askdlg::execute $dlg]} {
return
}
} elseif {[is_config_true "guitool.$fullname.confirm"]} {
if {[ask_popup [mc "Are you sure you want to run %s?" $fullname]] ne {yes}} {
return
}
}
set env(GIT_GUITOOL) $fullname
set env(FILENAME) $current_diff_path
if {$is_detached} {
set env(CUR_BRANCH) ""
} else {
set env(CUR_BRANCH) $current_branch
}
set cmdline $repo_config(guitool.$fullname.cmd)
if {[is_config_true "guitool.$fullname.noconsole"]} {
tools_run_silent [list sh -c $cmdline] \
[list tools_complete $fullname {}]
} else {
regsub {/} $fullname { / } title
set w [console::new \
[mc "Tool: %s" $title] \
[mc "Running: %s" $cmdline]]
console::exec $w [list sh -c $cmdline] \
[list tools_complete $fullname $w]
}
unset env(GIT_GUITOOL)
unset env(FILENAME)
unset env(CUR_BRANCH)
catch { unset env(ARGS) }
catch { unset env(REVISION) }
}
proc tools_run_silent {cmd after} {
lappend cmd 2>@1
set fd [_open_stdout_stderr $cmd]
fconfigure $fd -blocking 0 -translation binary
fileevent $fd readable [list tools_consume_input $fd $after]
}
proc tools_consume_input {fd after} {
read $fd
if {[eof $fd]} {
fconfigure $fd -blocking 1
if {[catch {close $fd}]} {
uplevel #0 $after 0
} else {
uplevel #0 $after 1
}
}
}
proc tools_complete {fullname w {ok 1}} {
if {$w ne {}} {
console::done $w $ok
}
if {$ok} {
set msg [mc "Tool completed succesfully: %s" $fullname]
} else {
set msg [mc "Tool failed: %s" $fullname]
}
if {[is_config_true "guitool.$fullname.norescan"]} {
ui_status $msg
} else {
rescan [list ui_status $msg]
}
}

421
git-gui/lib/tools_dlg.tcl Normal file

@ -0,0 +1,421 @@
# git-gui Tools menu dialogs
class tools_add {
field w ; # widget path
field w_name ; # new remote name widget
field w_cmd ; # new remote location widget
field name {}; # name of the tool
field command {}; # command to execute
field add_global 0; # add to the --global config
field no_console 0; # disable using the console
field needs_file 0; # ensure filename is set
field confirm 0; # ask for confirmation
field ask_branch 0; # ask for a revision
field ask_args 0; # ask for additional args
constructor dialog {} {
global repo_config
make_toplevel top w
wm title $top [append "[appname] ([reponame]): " [mc "Add Tool"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
wm transient $top .
}
label $w.header -text [mc "Add New Tool Command"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
checkbutton $w.buttons.global \
-text [mc "Add globally"] \
-variable @add_global
pack $w.buttons.global -side left -padx 5
button $w.buttons.create -text [mc Add] \
-default active \
-command [cb _add]
pack $w.buttons.create -side right
button $w.buttons.cancel -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
labelframe $w.desc -text [mc "Tool Details"]
label $w.desc.name_cmnt -anchor w\
-text [mc "Use '/' separators to create a submenu tree:"]
grid x $w.desc.name_cmnt -sticky we -padx {0 5} -pady {0 2}
label $w.desc.name_l -text [mc "Name:"]
set w_name $w.desc.name_t
entry $w_name \
-borderwidth 1 \
-relief sunken \
-width 40 \
-textvariable @name \
-validate key \
-validatecommand [cb _validate_name %d %S]
grid $w.desc.name_l $w_name -sticky we -padx {0 5}
label $w.desc.cmd_l -text [mc "Command:"]
set w_cmd $w.desc.cmd_t
entry $w_cmd \
-borderwidth 1 \
-relief sunken \
-width 40 \
-textvariable @command
grid $w.desc.cmd_l $w_cmd -sticky we -padx {0 5} -pady {0 3}
grid columnconfigure $w.desc 1 -weight 1
pack $w.desc -anchor nw -fill x -pady 5 -padx 5
checkbutton $w.confirm \
-text [mc "Show a dialog before running"] \
-variable @confirm -command [cb _check_enable_dlg]
labelframe $w.dlg -labelwidget $w.confirm
checkbutton $w.dlg.askbranch \
-text [mc "Ask the user to select a revision (sets \$REVISION)"] \
-variable @ask_branch -state disabled
pack $w.dlg.askbranch -anchor w -padx 15
checkbutton $w.dlg.askargs \
-text [mc "Ask the user for additional arguments (sets \$ARGS)"] \
-variable @ask_args -state disabled
pack $w.dlg.askargs -anchor w -padx 15
pack $w.dlg -anchor nw -fill x -pady {0 8} -padx 5
checkbutton $w.noconsole \
-text [mc "Don't show the command output window"] \
-variable @no_console
pack $w.noconsole -anchor w -padx 5
checkbutton $w.needsfile \
-text [mc "Run only if a diff is selected (\$FILENAME not empty)"] \
-variable @needs_file
pack $w.needsfile -anchor w -padx 5
bind $w <Visibility> [cb _visible]
bind $w <Key-Escape> [list destroy $w]
bind $w <Key-Return> [cb _add]\;break
tkwait window $w
}
method _check_enable_dlg {} {
if {$confirm} {
$w.dlg.askbranch configure -state normal
$w.dlg.askargs configure -state normal
} else {
$w.dlg.askbranch configure -state disabled
$w.dlg.askargs configure -state disabled
}
}
method _add {} {
global repo_config
if {$name eq {}} {
error_popup [mc "Please supply a name for the tool."]
focus $w_name
return
}
set item "guitool.$name.cmd"
if {[info exists repo_config($item)]} {
error_popup [mc "Tool '%s' already exists." $name]
focus $w_name
return
}
set cmd [list git config]
if {$add_global} { lappend cmd --global }
set items {}
if {$no_console} { lappend items "guitool.$name.noconsole" }
if {$needs_file} { lappend items "guitool.$name.needsfile" }
if {$confirm} {
if {$ask_args} { lappend items "guitool.$name.argprompt" }
if {$ask_branch} { lappend items "guitool.$name.revprompt" }
if {!$ask_args && !$ask_branch} {
lappend items "guitool.$name.confirm"
}
}
if {[catch {
eval $cmd [list $item $command]
foreach citem $items { eval $cmd [list $citem yes] }
} err]} {
error_popup [mc "Could not add tool:\n%s" $err]
} else {
set repo_config($item) $command
foreach citem $items { set repo_config($citem) yes }
tools_populate_all
}
destroy $w
}
method _validate_name {d S} {
if {$d == 1} {
if {[regexp {[~?*&\[\0\"\\\{]} $S]} {
return 0
}
}
return 1
}
method _visible {} {
grab $w
$w_name icursor end
focus $w_name
}
}
class tools_remove {
field w ; # widget path
field w_names ; # name list
constructor dialog {} {
global repo_config global_config system_config
load_config 1
make_toplevel top w
wm title $top [append "[appname] ([reponame]): " [mc "Remove Tool"]]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
wm transient $top .
}
label $w.header -text [mc "Remove Tool Commands"] -font font_uibold
pack $w.header -side top -fill x
frame $w.buttons
button $w.buttons.create -text [mc Remove] \
-default active \
-command [cb _remove]
pack $w.buttons.create -side right
button $w.buttons.cancel -text [mc Cancel] \
-command [list destroy $w]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
frame $w.list
set w_names $w.list.l
listbox $w_names \
-height 10 \
-width 30 \
-selectmode extended \
-exportselection false \
-yscrollcommand [list $w.list.sby set]
scrollbar $w.list.sby -command [list $w.list.l yview]
pack $w.list.sby -side right -fill y
pack $w.list.l -side left -fill both -expand 1
pack $w.list -fill both -expand 1 -pady 5 -padx 5
set local_cnt 0
foreach fullname [tools_list] {
# Cannot delete system tools
if {[info exists system_config(guitool.$fullname.cmd)]} continue
$w_names insert end $fullname
if {![info exists global_config(guitool.$fullname.cmd)]} {
$w_names itemconfigure end -foreground blue
incr local_cnt
}
}
if {$local_cnt > 0} {
label $w.colorlbl -foreground blue \
-text [mc "(Blue denotes repository-local tools)"]
pack $w.colorlbl -fill x -pady 5 -padx 5
}
bind $w <Visibility> [cb _visible]
bind $w <Key-Escape> [list destroy $w]
bind $w <Key-Return> [cb _remove]\;break
tkwait window $w
}
method _remove {} {
foreach i [$w_names curselection] {
set name [$w_names get $i]
catch { git config --remove-section guitool.$name }
catch { git config --global --remove-section guitool.$name }
}
load_config 0
tools_populate_all
destroy $w
}
method _visible {} {
grab $w
focus $w_names
}
}
class tools_askdlg {
field w ; # widget path
field w_rev {}; # revision browser
field w_args {}; # arguments
field is_ask_args 0; # has arguments field
field is_ask_revs 0; # has revision browser
field is_ok 0; # ok to start
field argstr {}; # arguments
constructor dialog {fullname} {
global M1B
set title [get_config "guitool.$fullname.title"]
if {$title eq {}} {
regsub {/} $fullname { / } title
}
make_toplevel top w -autodelete 0
wm title $top [append "[appname] ([reponame]): " $title]
if {$top ne {.}} {
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
wm transient $top .
}
set prompt [get_config "guitool.$fullname.prompt"]
if {$prompt eq {}} {
set command [get_config "guitool.$fullname.cmd"]
set prompt [mc "Run Command: %s" $command]
}
label $w.header -text $prompt -font font_uibold
pack $w.header -side top -fill x
set argprompt [get_config "guitool.$fullname.argprompt"]
set revprompt [get_config "guitool.$fullname.revprompt"]
set is_ask_args [expr {$argprompt ne {}}]
set is_ask_revs [expr {$revprompt ne {}}]
if {$is_ask_args} {
if {$argprompt eq {yes} || $argprompt eq {true} || $argprompt eq {1}} {
set argprompt [mc "Arguments"]
}
labelframe $w.arg -text $argprompt
set w_args $w.arg.txt
entry $w_args \
-borderwidth 1 \
-relief sunken \
-width 40 \
-textvariable @argstr
pack $w_args -padx 5 -pady 5 -fill both
pack $w.arg -anchor nw -fill both -pady 5 -padx 5
}
if {$is_ask_revs} {
if {$revprompt eq {yes} || $revprompt eq {true} || $revprompt eq {1}} {
set revprompt [mc "Revision"]
}
if {[is_config_true "guitool.$fullname.revunmerged"]} {
set w_rev [::choose_rev::new_unmerged $w.rev $revprompt]
} else {
set w_rev [::choose_rev::new $w.rev $revprompt]
}
pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5
}
frame $w.buttons
if {$is_ask_revs} {
button $w.buttons.visualize \
-text [mc Visualize] \
-command [cb _visualize]
pack $w.buttons.visualize -side left
}
button $w.buttons.ok \
-text [mc OK] \
-command [cb _start]
pack $w.buttons.ok -side right
button $w.buttons.cancel \
-text [mc "Cancel"] \
-command [cb _cancel]
pack $w.buttons.cancel -side right -padx 5
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
bind $w <$M1B-Key-Return> [cb _start]
bind $w <Key-Return> [cb _start]
bind $w <Key-Escape> [cb _cancel]
wm protocol $w WM_DELETE_WINDOW [cb _cancel]
bind $w <Visibility> [cb _visible]
return $this
}
method execute {} {
tkwait window $w
set rv $is_ok
delete_this
return $rv
}
method _visible {} {
grab $w
if {$is_ask_args} {
focus $w_args
} elseif {$is_ask_revs} {
$w_rev focus_filter
}
}
method _cancel {} {
wm protocol $w WM_DELETE_WINDOW {}
destroy $w
}
method _rev {} {
if {[catch {$w_rev commit_or_die}]} {
return {}
}
return [$w_rev get]
}
method _visualize {} {
global current_branch
set rev [_rev $this]
if {$rev ne {}} {
do_gitk [list --left-right "$current_branch...$rev"]
}
}
method _start {} {
global env
if {$is_ask_revs} {
set name [_rev $this]
if {$name eq {}} {
return
}
set env(REVISION) $name
}
if {$is_ask_args} {
set env(ARGS) $argstr
}
set is_ok 1
_cancel $this
}
}

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-08-02 14:45-0700\n"
"POT-Creation-Date: 2008-11-16 13:56-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -16,33 +16,33 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: git-gui.sh:41 git-gui.sh:688 git-gui.sh:702 git-gui.sh:715 git-gui.sh:798
#: git-gui.sh:817
#: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847
#: git-gui.sh:866
msgid "git-gui: fatal error"
msgstr ""
#: git-gui.sh:644
#: git-gui.sh:689
#, tcl-format
msgid "Invalid font specified in %s:"
msgstr ""
#: git-gui.sh:674
#: git-gui.sh:723
msgid "Main Font"
msgstr ""
#: git-gui.sh:675
#: git-gui.sh:724
msgid "Diff/Console Font"
msgstr ""
#: git-gui.sh:689
#: git-gui.sh:738
msgid "Cannot find git in PATH."
msgstr ""
#: git-gui.sh:716
#: git-gui.sh:765
msgid "Cannot parse Git version string:"
msgstr ""
#: git-gui.sh:734
#: git-gui.sh:783
#, tcl-format
msgid ""
"Git version cannot be determined.\n"
@ -54,379 +54,444 @@ msgid ""
"Assume '%s' is version 1.5.0?\n"
msgstr ""
#: git-gui.sh:972
#: git-gui.sh:1062
msgid "Git directory not found:"
msgstr ""
#: git-gui.sh:979
#: git-gui.sh:1069
msgid "Cannot move to top of working directory:"
msgstr ""
#: git-gui.sh:986
#: git-gui.sh:1076
msgid "Cannot use funny .git directory:"
msgstr ""
#: git-gui.sh:991
#: git-gui.sh:1081
msgid "No working directory"
msgstr ""
#: git-gui.sh:1138 lib/checkout_op.tcl:305
#: git-gui.sh:1247 lib/checkout_op.tcl:305
msgid "Refreshing file status..."
msgstr ""
#: git-gui.sh:1194
#: git-gui.sh:1303
msgid "Scanning for modified files ..."
msgstr ""
#: git-gui.sh:1369 lib/browser.tcl:246
#: git-gui.sh:1367
msgid "Calling prepare-commit-msg hook..."
msgstr ""
#: git-gui.sh:1384
msgid "Commit declined by prepare-commit-msg hook."
msgstr ""
#: git-gui.sh:1542 lib/browser.tcl:246
msgid "Ready."
msgstr ""
#: git-gui.sh:1635
#: git-gui.sh:1819
msgid "Unmodified"
msgstr ""
#: git-gui.sh:1637
#: git-gui.sh:1821
msgid "Modified, not staged"
msgstr ""
#: git-gui.sh:1638 git-gui.sh:1643
#: git-gui.sh:1822 git-gui.sh:1830
msgid "Staged for commit"
msgstr ""
#: git-gui.sh:1639 git-gui.sh:1644
#: git-gui.sh:1823 git-gui.sh:1831
msgid "Portions staged for commit"
msgstr ""
#: git-gui.sh:1640 git-gui.sh:1645
#: git-gui.sh:1824 git-gui.sh:1832
msgid "Staged for commit, missing"
msgstr ""
#: git-gui.sh:1642
#: git-gui.sh:1826
msgid "File type changed, not staged"
msgstr ""
#: git-gui.sh:1827
msgid "File type changed, staged"
msgstr ""
#: git-gui.sh:1829
msgid "Untracked, not staged"
msgstr ""
#: git-gui.sh:1647
#: git-gui.sh:1834
msgid "Missing"
msgstr ""
#: git-gui.sh:1648
#: git-gui.sh:1835
msgid "Staged for removal"
msgstr ""
#: git-gui.sh:1649
#: git-gui.sh:1836
msgid "Staged for removal, still present"
msgstr ""
#: git-gui.sh:1651 git-gui.sh:1652 git-gui.sh:1653 git-gui.sh:1654
#: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841
#: git-gui.sh:1842 git-gui.sh:1843
msgid "Requires merge resolution"
msgstr ""
#: git-gui.sh:1689
#: git-gui.sh:1878
msgid "Starting gitk... please wait..."
msgstr ""
#: git-gui.sh:1698
#: git-gui.sh:1887
msgid "Couldn't find gitk in PATH"
msgstr ""
#: git-gui.sh:1948 lib/choose_repository.tcl:36
#: git-gui.sh:2280 lib/choose_repository.tcl:36
msgid "Repository"
msgstr ""
#: git-gui.sh:1949
#: git-gui.sh:2281
msgid "Edit"
msgstr ""
#: git-gui.sh:1951 lib/choose_rev.tcl:561
#: git-gui.sh:2283 lib/choose_rev.tcl:561
msgid "Branch"
msgstr ""
#: git-gui.sh:1954 lib/choose_rev.tcl:548
#: git-gui.sh:2286 lib/choose_rev.tcl:548
msgid "Commit@@noun"
msgstr ""
#: git-gui.sh:1957 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167
#: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
msgid "Merge"
msgstr ""
#: git-gui.sh:1958 lib/choose_rev.tcl:557
#: git-gui.sh:2290 lib/choose_rev.tcl:557
msgid "Remote"
msgstr ""
#: git-gui.sh:1967
#: git-gui.sh:2293
msgid "Tools"
msgstr ""
#: git-gui.sh:2302
msgid "Explore Working Copy"
msgstr ""
#: git-gui.sh:2307
msgid "Browse Current Branch's Files"
msgstr ""
#: git-gui.sh:1971
#: git-gui.sh:2311
msgid "Browse Branch Files..."
msgstr ""
#: git-gui.sh:1976
#: git-gui.sh:2316
msgid "Visualize Current Branch's History"
msgstr ""
#: git-gui.sh:1980
#: git-gui.sh:2320
msgid "Visualize All Branch History"
msgstr ""
#: git-gui.sh:1987
#: git-gui.sh:2327
#, tcl-format
msgid "Browse %s's Files"
msgstr ""
#: git-gui.sh:1989
#: git-gui.sh:2329
#, tcl-format
msgid "Visualize %s's History"
msgstr ""
#: git-gui.sh:1994 lib/database.tcl:27 lib/database.tcl:67
#: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67
msgid "Database Statistics"
msgstr ""
#: git-gui.sh:1997 lib/database.tcl:34
#: git-gui.sh:2337 lib/database.tcl:34
msgid "Compress Database"
msgstr ""
#: git-gui.sh:2000
#: git-gui.sh:2340
msgid "Verify Database"
msgstr ""
#: git-gui.sh:2007 git-gui.sh:2011 git-gui.sh:2015 lib/shortcut.tcl:7
#: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7
#: lib/shortcut.tcl:39 lib/shortcut.tcl:71
msgid "Create Desktop Icon"
msgstr ""
#: git-gui.sh:2023 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185
#: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191
msgid "Quit"
msgstr ""
#: git-gui.sh:2031
#: git-gui.sh:2371
msgid "Undo"
msgstr ""
#: git-gui.sh:2034
#: git-gui.sh:2374
msgid "Redo"
msgstr ""
#: git-gui.sh:2038 git-gui.sh:2545
#: git-gui.sh:2378 git-gui.sh:2923
msgid "Cut"
msgstr ""
#: git-gui.sh:2041 git-gui.sh:2548 git-gui.sh:2622 git-gui.sh:2715
#: git-gui.sh:2381 git-gui.sh:2926 git-gui.sh:3000 git-gui.sh:3082
#: lib/console.tcl:69
msgid "Copy"
msgstr ""
#: git-gui.sh:2044 git-gui.sh:2551
#: git-gui.sh:2384 git-gui.sh:2929
msgid "Paste"
msgstr ""
#: git-gui.sh:2047 git-gui.sh:2554 lib/branch_delete.tcl:26
#: git-gui.sh:2387 git-gui.sh:2932 lib/branch_delete.tcl:26
#: lib/remote_branch_delete.tcl:38
msgid "Delete"
msgstr ""
#: git-gui.sh:2051 git-gui.sh:2558 git-gui.sh:2719 lib/console.tcl:71
#: git-gui.sh:2391 git-gui.sh:2936 git-gui.sh:3086 lib/console.tcl:71
msgid "Select All"
msgstr ""
#: git-gui.sh:2060
#: git-gui.sh:2400
msgid "Create..."
msgstr ""
#: git-gui.sh:2066
#: git-gui.sh:2406
msgid "Checkout..."
msgstr ""
#: git-gui.sh:2072
#: git-gui.sh:2412
msgid "Rename..."
msgstr ""
#: git-gui.sh:2077 git-gui.sh:2187
#: git-gui.sh:2417
msgid "Delete..."
msgstr ""
#: git-gui.sh:2082
#: git-gui.sh:2422
msgid "Reset..."
msgstr ""
#: git-gui.sh:2094 git-gui.sh:2491
msgid "New Commit"
#: git-gui.sh:2432
msgid "Done"
msgstr ""
#: git-gui.sh:2102 git-gui.sh:2498
msgid "Amend Last Commit"
msgstr ""
#: git-gui.sh:2111 git-gui.sh:2458 lib/remote_branch_delete.tcl:99
msgid "Rescan"
msgstr ""
#: git-gui.sh:2117
msgid "Stage To Commit"
msgstr ""
#: git-gui.sh:2123
msgid "Stage Changed Files To Commit"
msgstr ""
#: git-gui.sh:2129
msgid "Unstage From Commit"
msgstr ""
#: git-gui.sh:2134 lib/index.tcl:395
msgid "Revert Changes"
msgstr ""
#: git-gui.sh:2141 git-gui.sh:2702
msgid "Show Less Context"
msgstr ""
#: git-gui.sh:2145 git-gui.sh:2706
msgid "Show More Context"
msgstr ""
#: git-gui.sh:2151 git-gui.sh:2470 git-gui.sh:2569
msgid "Sign Off"
msgstr ""
#: git-gui.sh:2155 git-gui.sh:2474
#: git-gui.sh:2434
msgid "Commit@@verb"
msgstr ""
#: git-gui.sh:2166
#: git-gui.sh:2443 git-gui.sh:2864
msgid "New Commit"
msgstr ""
#: git-gui.sh:2451 git-gui.sh:2871
msgid "Amend Last Commit"
msgstr ""
#: git-gui.sh:2461 git-gui.sh:2825 lib/remote_branch_delete.tcl:99
msgid "Rescan"
msgstr ""
#: git-gui.sh:2467
msgid "Stage To Commit"
msgstr ""
#: git-gui.sh:2473
msgid "Stage Changed Files To Commit"
msgstr ""
#: git-gui.sh:2479
msgid "Unstage From Commit"
msgstr ""
#: git-gui.sh:2484 lib/index.tcl:410
msgid "Revert Changes"
msgstr ""
#: git-gui.sh:2491 git-gui.sh:3069
msgid "Show Less Context"
msgstr ""
#: git-gui.sh:2495 git-gui.sh:3073
msgid "Show More Context"
msgstr ""
#: git-gui.sh:2502 git-gui.sh:2838 git-gui.sh:2947
msgid "Sign Off"
msgstr ""
#: git-gui.sh:2518
msgid "Local Merge..."
msgstr ""
#: git-gui.sh:2171
#: git-gui.sh:2523
msgid "Abort Merge..."
msgstr ""
#: git-gui.sh:2183
#: git-gui.sh:2535 git-gui.sh:2575
msgid "Add..."
msgstr ""
#: git-gui.sh:2539
msgid "Push..."
msgstr ""
#: git-gui.sh:2197 git-gui.sh:2219 lib/about.tcl:14
#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50
#: git-gui.sh:2543
msgid "Delete Branch..."
msgstr ""
#: git-gui.sh:2553 git-gui.sh:2589 lib/about.tcl:14
#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53
#, tcl-format
msgid "About %s"
msgstr ""
#: git-gui.sh:2201
#: git-gui.sh:2557
msgid "Preferences..."
msgstr ""
#: git-gui.sh:2209 git-gui.sh:2740
#: git-gui.sh:2565 git-gui.sh:3115
msgid "Options..."
msgstr ""
#: git-gui.sh:2215 lib/choose_repository.tcl:47
#: git-gui.sh:2576
msgid "Remove..."
msgstr ""
#: git-gui.sh:2585 lib/choose_repository.tcl:50
msgid "Help"
msgstr ""
#: git-gui.sh:2256
#: git-gui.sh:2611
msgid "Online Documentation"
msgstr ""
#: git-gui.sh:2340
#: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56
msgid "Show SSH Key"
msgstr ""
#: git-gui.sh:2707
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
msgstr ""
#: git-gui.sh:2373
#: git-gui.sh:2740
msgid "Current Branch:"
msgstr ""
#: git-gui.sh:2394
#: git-gui.sh:2761
msgid "Staged Changes (Will Commit)"
msgstr ""
#: git-gui.sh:2414
#: git-gui.sh:2781
msgid "Unstaged Changes"
msgstr ""
#: git-gui.sh:2464
#: git-gui.sh:2831
msgid "Stage Changed"
msgstr ""
#: git-gui.sh:2480 lib/transport.tcl:93 lib/transport.tcl:182
#: git-gui.sh:2850 lib/transport.tcl:93 lib/transport.tcl:182
msgid "Push"
msgstr ""
#: git-gui.sh:2510
#: git-gui.sh:2885
msgid "Initial Commit Message:"
msgstr ""
#: git-gui.sh:2511
#: git-gui.sh:2886
msgid "Amended Commit Message:"
msgstr ""
#: git-gui.sh:2512
#: git-gui.sh:2887
msgid "Amended Initial Commit Message:"
msgstr ""
#: git-gui.sh:2513
#: git-gui.sh:2888
msgid "Amended Merge Commit Message:"
msgstr ""
#: git-gui.sh:2514
#: git-gui.sh:2889
msgid "Merge Commit Message:"
msgstr ""
#: git-gui.sh:2515
#: git-gui.sh:2890
msgid "Commit Message:"
msgstr ""
#: git-gui.sh:2561 git-gui.sh:2723 lib/console.tcl:73
#: git-gui.sh:2939 git-gui.sh:3090 lib/console.tcl:73
msgid "Copy All"
msgstr ""
#: git-gui.sh:2585 lib/blame.tcl:100
#: git-gui.sh:2963 lib/blame.tcl:104
msgid "File:"
msgstr ""
#: git-gui.sh:2691
msgid "Apply/Reverse Hunk"
msgstr ""
#: git-gui.sh:2696
msgid "Apply/Reverse Line"
msgstr ""
#: git-gui.sh:2711
#: git-gui.sh:3078
msgid "Refresh"
msgstr ""
#: git-gui.sh:2732
#: git-gui.sh:3099
msgid "Decrease Font Size"
msgstr ""
#: git-gui.sh:2736
#: git-gui.sh:3103
msgid "Increase Font Size"
msgstr ""
#: git-gui.sh:2747
#: git-gui.sh:3111 lib/blame.tcl:281
msgid "Encoding"
msgstr ""
#: git-gui.sh:3122
msgid "Apply/Reverse Hunk"
msgstr ""
#: git-gui.sh:3127
msgid "Apply/Reverse Line"
msgstr ""
#: git-gui.sh:3137
msgid "Run Merge Tool"
msgstr ""
#: git-gui.sh:3142
msgid "Use Remote Version"
msgstr ""
#: git-gui.sh:3146
msgid "Use Local Version"
msgstr ""
#: git-gui.sh:3150
msgid "Revert To Base"
msgstr ""
#: git-gui.sh:3169
msgid "Unstage Hunk From Commit"
msgstr ""
#: git-gui.sh:2748
#: git-gui.sh:3170
msgid "Unstage Line From Commit"
msgstr ""
#: git-gui.sh:2750
#: git-gui.sh:3172
msgid "Stage Hunk For Commit"
msgstr ""
#: git-gui.sh:2751
#: git-gui.sh:3173
msgid "Stage Line For Commit"
msgstr ""
#: git-gui.sh:2771
#: git-gui.sh:3196
msgid "Initializing..."
msgstr ""
#: git-gui.sh:2876
#: git-gui.sh:3301
#, tcl-format
msgid ""
"Possible environment issues exist.\n"
@ -437,14 +502,14 @@ msgid ""
"\n"
msgstr ""
#: git-gui.sh:2906
#: git-gui.sh:3331
msgid ""
"\n"
"This is due to a known issue with the\n"
"Tcl binary distributed by Cygwin."
msgstr ""
#: git-gui.sh:2911
#: git-gui.sh:3336
#, tcl-format
msgid ""
"\n"
@ -459,80 +524,108 @@ msgstr ""
msgid "git-gui - a graphical user interface for Git."
msgstr ""
#: lib/blame.tcl:70
#: lib/blame.tcl:72
msgid "File Viewer"
msgstr ""
#: lib/blame.tcl:74
#: lib/blame.tcl:78
msgid "Commit:"
msgstr ""
#: lib/blame.tcl:257
#: lib/blame.tcl:271
msgid "Copy Commit"
msgstr ""
#: lib/blame.tcl:260
#: lib/blame.tcl:275
msgid "Find Text..."
msgstr ""
#: lib/blame.tcl:284
msgid "Do Full Copy Detection"
msgstr ""
#: lib/blame.tcl:388
#: lib/blame.tcl:288
msgid "Show History Context"
msgstr ""
#: lib/blame.tcl:291
msgid "Blame Parent Commit"
msgstr ""
#: lib/blame.tcl:450
#, tcl-format
msgid "Reading %s..."
msgstr ""
#: lib/blame.tcl:492
#: lib/blame.tcl:557
msgid "Loading copy/move tracking annotations..."
msgstr ""
#: lib/blame.tcl:512
#: lib/blame.tcl:577
msgid "lines annotated"
msgstr ""
#: lib/blame.tcl:704
#: lib/blame.tcl:769
msgid "Loading original location annotations..."
msgstr ""
#: lib/blame.tcl:707
#: lib/blame.tcl:772
msgid "Annotation complete."
msgstr ""
#: lib/blame.tcl:737
#: lib/blame.tcl:802
msgid "Busy"
msgstr ""
#: lib/blame.tcl:738
#: lib/blame.tcl:803
msgid "Annotation process is already running."
msgstr ""
#: lib/blame.tcl:777
#: lib/blame.tcl:842
msgid "Running thorough copy detection..."
msgstr ""
#: lib/blame.tcl:827
#: lib/blame.tcl:910
msgid "Loading annotation..."
msgstr ""
#: lib/blame.tcl:883
#: lib/blame.tcl:964
msgid "Author:"
msgstr ""
#: lib/blame.tcl:887
#: lib/blame.tcl:968
msgid "Committer:"
msgstr ""
#: lib/blame.tcl:892
#: lib/blame.tcl:973
msgid "Original File:"
msgstr ""
#: lib/blame.tcl:1006
#: lib/blame.tcl:1021
msgid "Cannot find HEAD commit:"
msgstr ""
#: lib/blame.tcl:1076
msgid "Cannot find parent commit:"
msgstr ""
#: lib/blame.tcl:1091
msgid "Unable to display parent"
msgstr ""
#: lib/blame.tcl:1092 lib/diff.tcl:297
msgid "Error loading diff:"
msgstr ""
#: lib/blame.tcl:1232
msgid "Originally By:"
msgstr ""
#: lib/blame.tcl:1012
#: lib/blame.tcl:1238
msgid "In File:"
msgstr ""
#: lib/blame.tcl:1017
#: lib/blame.tcl:1243
msgid "Copied Or Moved Here By:"
msgstr ""
@ -546,16 +639,18 @@ msgstr ""
#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35
#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282
#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:171
#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97
#: lib/checkout_op.tcl:544 lib/choose_font.tcl:43 lib/merge.tcl:172
#: lib/option.tcl:125 lib/remote_add.tcl:32 lib/remote_branch_delete.tcl:42
#: lib/tools_dlg.tcl:40 lib/tools_dlg.tcl:204 lib/tools_dlg.tcl:352
#: lib/transport.tcl:97
msgid "Cancel"
msgstr ""
#: lib/branch_checkout.tcl:32 lib/browser.tcl:287
#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328
msgid "Revision"
msgstr ""
#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:244
#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280
msgid "Options"
msgstr ""
@ -575,7 +670,7 @@ msgstr ""
msgid "Create New Branch"
msgstr ""
#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371
#: lib/branch_create.tcl:31 lib/choose_repository.tcl:377
msgid "Create"
msgstr ""
@ -583,7 +678,7 @@ msgstr ""
msgid "Branch Name"
msgstr ""
#: lib/branch_create.tcl:43
#: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50
msgid "Name:"
msgstr ""
@ -723,9 +818,9 @@ msgstr ""
msgid "Browse Branch Files"
msgstr ""
#: lib/browser.tcl:278 lib/choose_repository.tcl:387
#: lib/choose_repository.tcl:472 lib/choose_repository.tcl:482
#: lib/choose_repository.tcl:985
#: lib/browser.tcl:278 lib/choose_repository.tcl:394
#: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491
#: lib/choose_repository.tcl:995
msgid "Browse"
msgstr ""
@ -740,6 +835,7 @@ msgid "fatal: Cannot resolve %s"
msgstr ""
#: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31
#: lib/sshkey.tcl:53
msgid "Close"
msgstr ""
@ -836,7 +932,7 @@ msgstr ""
msgid "Reset '%s'?"
msgstr ""
#: lib/checkout_op.tcl:532 lib/merge.tcl:163
#: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343
msgid "Visualize"
msgstr ""
@ -877,221 +973,225 @@ msgstr ""
msgid "Git Gui"
msgstr ""
#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376
#: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382
msgid "Create New Repository"
msgstr ""
#: lib/choose_repository.tcl:87
#: lib/choose_repository.tcl:93
msgid "New..."
msgstr ""
#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:458
#: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465
msgid "Clone Existing Repository"
msgstr ""
#: lib/choose_repository.tcl:100
#: lib/choose_repository.tcl:106
msgid "Clone..."
msgstr ""
#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:974
#: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983
msgid "Open Existing Repository"
msgstr ""
#: lib/choose_repository.tcl:113
#: lib/choose_repository.tcl:119
msgid "Open..."
msgstr ""
#: lib/choose_repository.tcl:126
#: lib/choose_repository.tcl:132
msgid "Recent Repositories"
msgstr ""
#: lib/choose_repository.tcl:132
#: lib/choose_repository.tcl:138
msgid "Open Recent Repository:"
msgstr ""
#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303
#: lib/choose_repository.tcl:310
#: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309
#: lib/choose_repository.tcl:316
#, tcl-format
msgid "Failed to create repository %s:"
msgstr ""
#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:476
#: lib/choose_repository.tcl:387
msgid "Directory:"
msgstr ""
#: lib/choose_repository.tcl:410 lib/choose_repository.tcl:535
#: lib/choose_repository.tcl:1007
#: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544
#: lib/choose_repository.tcl:1017
msgid "Git Repository"
msgstr ""
#: lib/choose_repository.tcl:435
#: lib/choose_repository.tcl:442
#, tcl-format
msgid "Directory %s already exists."
msgstr ""
#: lib/choose_repository.tcl:439
#: lib/choose_repository.tcl:446
#, tcl-format
msgid "File %s already exists."
msgstr ""
#: lib/choose_repository.tcl:453
#: lib/choose_repository.tcl:460
msgid "Clone"
msgstr ""
#: lib/choose_repository.tcl:466
msgid "URL:"
#: lib/choose_repository.tcl:473
msgid "Source Location:"
msgstr ""
#: lib/choose_repository.tcl:487
#: lib/choose_repository.tcl:484
msgid "Target Directory:"
msgstr ""
#: lib/choose_repository.tcl:496
msgid "Clone Type:"
msgstr ""
#: lib/choose_repository.tcl:493
#: lib/choose_repository.tcl:502
msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
msgstr ""
#: lib/choose_repository.tcl:499
#: lib/choose_repository.tcl:508
msgid "Full Copy (Slower, Redundant Backup)"
msgstr ""
#: lib/choose_repository.tcl:505
#: lib/choose_repository.tcl:514
msgid "Shared (Fastest, Not Recommended, No Backup)"
msgstr ""
#: lib/choose_repository.tcl:541 lib/choose_repository.tcl:588
#: lib/choose_repository.tcl:734 lib/choose_repository.tcl:804
#: lib/choose_repository.tcl:1013 lib/choose_repository.tcl:1021
#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597
#: lib/choose_repository.tcl:743 lib/choose_repository.tcl:813
#: lib/choose_repository.tcl:1023 lib/choose_repository.tcl:1031
#, tcl-format
msgid "Not a Git repository: %s"
msgstr ""
#: lib/choose_repository.tcl:577
#: lib/choose_repository.tcl:586
msgid "Standard only available for local repository."
msgstr ""
#: lib/choose_repository.tcl:581
#: lib/choose_repository.tcl:590
msgid "Shared only available for local repository."
msgstr ""
#: lib/choose_repository.tcl:602
#: lib/choose_repository.tcl:611
#, tcl-format
msgid "Location %s already exists."
msgstr ""
#: lib/choose_repository.tcl:613
#: lib/choose_repository.tcl:622
msgid "Failed to configure origin"
msgstr ""
#: lib/choose_repository.tcl:625
#: lib/choose_repository.tcl:634
msgid "Counting objects"
msgstr ""
#: lib/choose_repository.tcl:626
#: lib/choose_repository.tcl:635
msgid "buckets"
msgstr ""
#: lib/choose_repository.tcl:650
#: lib/choose_repository.tcl:659
#, tcl-format
msgid "Unable to copy objects/info/alternates: %s"
msgstr ""
#: lib/choose_repository.tcl:686
#: lib/choose_repository.tcl:695
#, tcl-format
msgid "Nothing to clone from %s."
msgstr ""
#: lib/choose_repository.tcl:688 lib/choose_repository.tcl:902
#: lib/choose_repository.tcl:914
#: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911
#: lib/choose_repository.tcl:923
msgid "The 'master' branch has not been initialized."
msgstr ""
#: lib/choose_repository.tcl:701
#: lib/choose_repository.tcl:710
msgid "Hardlinks are unavailable. Falling back to copying."
msgstr ""
#: lib/choose_repository.tcl:713
#: lib/choose_repository.tcl:722
#, tcl-format
msgid "Cloning from %s"
msgstr ""
#: lib/choose_repository.tcl:744
#: lib/choose_repository.tcl:753
msgid "Copying objects"
msgstr ""
#: lib/choose_repository.tcl:745
#: lib/choose_repository.tcl:754
msgid "KiB"
msgstr ""
#: lib/choose_repository.tcl:769
#: lib/choose_repository.tcl:778
#, tcl-format
msgid "Unable to copy object: %s"
msgstr ""
#: lib/choose_repository.tcl:779
#: lib/choose_repository.tcl:788
msgid "Linking objects"
msgstr ""
#: lib/choose_repository.tcl:780
#: lib/choose_repository.tcl:789
msgid "objects"
msgstr ""
#: lib/choose_repository.tcl:788
#: lib/choose_repository.tcl:797
#, tcl-format
msgid "Unable to hardlink object: %s"
msgstr ""
#: lib/choose_repository.tcl:843
#: lib/choose_repository.tcl:852
msgid "Cannot fetch branches and objects. See console output for details."
msgstr ""
#: lib/choose_repository.tcl:854
#: lib/choose_repository.tcl:863
msgid "Cannot fetch tags. See console output for details."
msgstr ""
#: lib/choose_repository.tcl:878
#: lib/choose_repository.tcl:887
msgid "Cannot determine HEAD. See console output for details."
msgstr ""
#: lib/choose_repository.tcl:887
#: lib/choose_repository.tcl:896
#, tcl-format
msgid "Unable to cleanup %s"
msgstr ""
#: lib/choose_repository.tcl:893
#: lib/choose_repository.tcl:902
msgid "Clone failed."
msgstr ""
#: lib/choose_repository.tcl:900
#: lib/choose_repository.tcl:909
msgid "No default branch obtained."
msgstr ""
#: lib/choose_repository.tcl:911
#: lib/choose_repository.tcl:920
#, tcl-format
msgid "Cannot resolve %s as a commit."
msgstr ""
#: lib/choose_repository.tcl:923
#: lib/choose_repository.tcl:932
msgid "Creating working directory"
msgstr ""
#: lib/choose_repository.tcl:924 lib/index.tcl:65 lib/index.tcl:127
#: lib/index.tcl:193
#: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128
#: lib/index.tcl:196
msgid "files"
msgstr ""
#: lib/choose_repository.tcl:953
#: lib/choose_repository.tcl:962
msgid "Initial file checkout failed."
msgstr ""
#: lib/choose_repository.tcl:969
#: lib/choose_repository.tcl:978
msgid "Open"
msgstr ""
#: lib/choose_repository.tcl:979
#: lib/choose_repository.tcl:988
msgid "Repository:"
msgstr ""
#: lib/choose_repository.tcl:1027
#: lib/choose_repository.tcl:1037
#, tcl-format
msgid "Failed to open repository %s:"
msgstr ""
@ -1176,7 +1276,7 @@ msgid ""
"The rescan will be automatically started now.\n"
msgstr ""
#: lib/commit.tcl:154
#: lib/commit.tcl:156
#, tcl-format
msgid ""
"Unmerged files cannot be committed.\n"
@ -1185,7 +1285,7 @@ msgid ""
"before committing.\n"
msgstr ""
#: lib/commit.tcl:162
#: lib/commit.tcl:164
#, tcl-format
msgid ""
"Unknown file state %s detected.\n"
@ -1193,14 +1293,14 @@ msgid ""
"File %s cannot be committed by this program.\n"
msgstr ""
#: lib/commit.tcl:170
#: lib/commit.tcl:172
msgid ""
"No changes to commit.\n"
"\n"
"You must stage at least 1 file before you can commit.\n"
msgstr ""
#: lib/commit.tcl:183
#: lib/commit.tcl:187
msgid ""
"Please supply a commit message.\n"
"\n"
@ -1211,45 +1311,45 @@ msgid ""
"- Remaining lines: Describe why this change is good.\n"
msgstr ""
#: lib/commit.tcl:207
#: lib/commit.tcl:211
#, tcl-format
msgid "warning: Tcl does not support encoding '%s'."
msgstr ""
#: lib/commit.tcl:221
#: lib/commit.tcl:227
msgid "Calling pre-commit hook..."
msgstr ""
#: lib/commit.tcl:236
#: lib/commit.tcl:242
msgid "Commit declined by pre-commit hook."
msgstr ""
#: lib/commit.tcl:259
#: lib/commit.tcl:265
msgid "Calling commit-msg hook..."
msgstr ""
#: lib/commit.tcl:274
#: lib/commit.tcl:280
msgid "Commit declined by commit-msg hook."
msgstr ""
#: lib/commit.tcl:287
#: lib/commit.tcl:293
msgid "Committing changes..."
msgstr ""
#: lib/commit.tcl:303
#: lib/commit.tcl:309
msgid "write-tree failed:"
msgstr ""
#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368
#: lib/commit.tcl:310 lib/commit.tcl:354 lib/commit.tcl:374
msgid "Commit failed."
msgstr ""
#: lib/commit.tcl:321
#: lib/commit.tcl:327
#, tcl-format
msgid "Commit %s appears to be corrupt"
msgstr ""
#: lib/commit.tcl:326
#: lib/commit.tcl:332
msgid ""
"No changes to commit.\n"
"\n"
@ -1258,19 +1358,19 @@ msgid ""
"A rescan will be automatically started now.\n"
msgstr ""
#: lib/commit.tcl:333
#: lib/commit.tcl:339
msgid "No changes to commit."
msgstr ""
#: lib/commit.tcl:347
#: lib/commit.tcl:353
msgid "commit-tree failed:"
msgstr ""
#: lib/commit.tcl:367
#: lib/commit.tcl:373
msgid "update-ref failed:"
msgstr ""
#: lib/commit.tcl:454
#: lib/commit.tcl:461
#, tcl-format
msgid "Created commit %s: %s"
msgstr ""
@ -1339,7 +1439,7 @@ msgstr ""
msgid "Invalid date from Git: %s"
msgstr ""
#: lib/diff.tcl:44
#: lib/diff.tcl:59
#, tcl-format
msgid ""
"No differences detected.\n"
@ -1353,48 +1453,92 @@ msgid ""
"the same state."
msgstr ""
#: lib/diff.tcl:83
#: lib/diff.tcl:99
#, tcl-format
msgid "Loading diff of %s..."
msgstr ""
#: lib/diff.tcl:116 lib/diff.tcl:190
#: lib/diff.tcl:120
msgid ""
"LOCAL: deleted\n"
"REMOTE:\n"
msgstr ""
#: lib/diff.tcl:125
msgid ""
"REMOTE: deleted\n"
"LOCAL:\n"
msgstr ""
#: lib/diff.tcl:132
msgid "LOCAL:\n"
msgstr ""
#: lib/diff.tcl:135
msgid "REMOTE:\n"
msgstr ""
#: lib/diff.tcl:197 lib/diff.tcl:296
#, tcl-format
msgid "Unable to display %s"
msgstr ""
#: lib/diff.tcl:117
#: lib/diff.tcl:198
msgid "Error loading file:"
msgstr ""
#: lib/diff.tcl:124
#: lib/diff.tcl:205
msgid "Git Repository (subproject)"
msgstr ""
#: lib/diff.tcl:136
#: lib/diff.tcl:217
msgid "* Binary file (not showing content)."
msgstr ""
#: lib/diff.tcl:191
msgid "Error loading diff:"
#: lib/diff.tcl:222
#, tcl-format
msgid ""
"* Untracked file is %d bytes.\n"
"* Showing only first %d bytes.\n"
msgstr ""
#: lib/diff.tcl:313
#: lib/diff.tcl:228
#, tcl-format
msgid ""
"\n"
"* Untracked file clipped here by %s.\n"
"* To see the entire file, use an external editor.\n"
msgstr ""
#: lib/diff.tcl:436
msgid "Failed to unstage selected hunk."
msgstr ""
#: lib/diff.tcl:320
#: lib/diff.tcl:443
msgid "Failed to stage selected hunk."
msgstr ""
#: lib/diff.tcl:386
#: lib/diff.tcl:509
msgid "Failed to unstage selected line."
msgstr ""
#: lib/diff.tcl:394
#: lib/diff.tcl:517
msgid "Failed to stage selected line."
msgstr ""
#: lib/encoding.tcl:443
msgid "Default"
msgstr ""
#: lib/encoding.tcl:448
#, tcl-format
msgid "System (%s)"
msgstr ""
#: lib/encoding.tcl:459 lib/encoding.tcl:465
msgid "Other"
msgstr ""
#: lib/error.tcl:20 lib/error.tcl:114
msgid "error"
msgstr ""
@ -1429,38 +1573,47 @@ msgstr ""
msgid "Unlock Index"
msgstr ""
#: lib/index.tcl:282
#: lib/index.tcl:287
#, tcl-format
msgid "Unstaging %s from commit"
msgstr ""
#: lib/index.tcl:313
#: lib/index.tcl:326
msgid "Ready to commit."
msgstr ""
#: lib/index.tcl:326
#: lib/index.tcl:339
#, tcl-format
msgid "Adding %s"
msgstr ""
#: lib/index.tcl:381
#: lib/index.tcl:396
#, tcl-format
msgid "Revert changes in file %s?"
msgstr ""
#: lib/index.tcl:383
#: lib/index.tcl:398
#, tcl-format
msgid "Revert changes in these %i files?"
msgstr ""
#: lib/index.tcl:391
#: lib/index.tcl:406
msgid "Any unstaged changes will be permanently lost by the revert."
msgstr ""
#: lib/index.tcl:394
#: lib/index.tcl:409
msgid "Do Nothing"
msgstr ""
#: lib/index.tcl:427
msgid "Reverting selected files"
msgstr ""
#: lib/index.tcl:431
#, tcl-format
msgid "Reverting %s"
msgstr ""
#: lib/merge.tcl:13
msgid ""
"Cannot merge while amending.\n"
@ -1478,7 +1631,7 @@ msgid ""
"The rescan will be automatically started now.\n"
msgstr ""
#: lib/merge.tcl:44
#: lib/merge.tcl:45
#, tcl-format
msgid ""
"You are in the middle of a conflicted merge.\n"
@ -1489,7 +1642,7 @@ msgid ""
"merge. Only then can you begin another merge.\n"
msgstr ""
#: lib/merge.tcl:54
#: lib/merge.tcl:55
#, tcl-format
msgid ""
"You are in the middle of a change.\n"
@ -1500,41 +1653,41 @@ msgid ""
"will help you abort a failed merge, should the need arise.\n"
msgstr ""
#: lib/merge.tcl:106
#: lib/merge.tcl:107
#, tcl-format
msgid "%s of %s"
msgstr ""
#: lib/merge.tcl:119
#: lib/merge.tcl:120
#, tcl-format
msgid "Merging %s and %s..."
msgstr ""
#: lib/merge.tcl:130
#: lib/merge.tcl:131
msgid "Merge completed successfully."
msgstr ""
#: lib/merge.tcl:132
#: lib/merge.tcl:133
msgid "Merge failed. Conflict resolution is required."
msgstr ""
#: lib/merge.tcl:157
#: lib/merge.tcl:158
#, tcl-format
msgid "Merge Into %s"
msgstr ""
#: lib/merge.tcl:176
#: lib/merge.tcl:177
msgid "Revision To Merge"
msgstr ""
#: lib/merge.tcl:211
#: lib/merge.tcl:212
msgid ""
"Cannot abort while amending.\n"
"\n"
"You must finish amending this commit.\n"
msgstr ""
#: lib/merge.tcl:221
#: lib/merge.tcl:222
msgid ""
"Abort merge?\n"
"\n"
@ -1543,7 +1696,7 @@ msgid ""
"Continue with aborting the current merge?"
msgstr ""
#: lib/merge.tcl:227
#: lib/merge.tcl:228
msgid ""
"Reset changes?\n"
"\n"
@ -1552,130 +1705,312 @@ msgid ""
"Continue with resetting the current changes?"
msgstr ""
#: lib/merge.tcl:238
#: lib/merge.tcl:239
msgid "Aborting"
msgstr ""
#: lib/merge.tcl:238
#: lib/merge.tcl:239
msgid "files reset"
msgstr ""
#: lib/merge.tcl:266
#: lib/merge.tcl:267
msgid "Abort failed."
msgstr ""
#: lib/merge.tcl:268
#: lib/merge.tcl:269
msgid "Abort completed. Ready."
msgstr ""
#: lib/option.tcl:95
#: lib/mergetool.tcl:8
msgid "Force resolution to the base version?"
msgstr ""
#: lib/mergetool.tcl:9
msgid "Force resolution to this branch?"
msgstr ""
#: lib/mergetool.tcl:10
msgid "Force resolution to the other branch?"
msgstr ""
#: lib/mergetool.tcl:14
#, tcl-format
msgid ""
"Note that the diff shows only conflicting changes.\n"
"\n"
"%s will be overwritten.\n"
"\n"
"This operation can be undone only by restarting the merge."
msgstr ""
#: lib/mergetool.tcl:45
#, tcl-format
msgid "File %s seems to have unresolved conflicts, still stage?"
msgstr ""
#: lib/mergetool.tcl:60
#, tcl-format
msgid "Adding resolution for %s"
msgstr ""
#: lib/mergetool.tcl:141
msgid "Cannot resolve deletion or link conflicts using a tool"
msgstr ""
#: lib/mergetool.tcl:146
msgid "Conflict file does not exist"
msgstr ""
#: lib/mergetool.tcl:264
#, tcl-format
msgid "Not a GUI merge tool: '%s'"
msgstr ""
#: lib/mergetool.tcl:268
#, tcl-format
msgid "Unsupported merge tool '%s'"
msgstr ""
#: lib/mergetool.tcl:303
msgid "Merge tool is already running, terminate it?"
msgstr ""
#: lib/mergetool.tcl:323
#, tcl-format
msgid ""
"Error retrieving versions:\n"
"%s"
msgstr ""
#: lib/mergetool.tcl:343
#, tcl-format
msgid ""
"Could not start the merge tool:\n"
"\n"
"%s"
msgstr ""
#: lib/mergetool.tcl:347
msgid "Running merge tool..."
msgstr ""
#: lib/mergetool.tcl:375 lib/mergetool.tcl:383
msgid "Merge tool failed."
msgstr ""
#: lib/option.tcl:11
#, tcl-format
msgid "Invalid global encoding '%s'"
msgstr ""
#: lib/option.tcl:19
#, tcl-format
msgid "Invalid repo encoding '%s'"
msgstr ""
#: lib/option.tcl:117
msgid "Restore Defaults"
msgstr ""
#: lib/option.tcl:99
#: lib/option.tcl:121
msgid "Save"
msgstr ""
#: lib/option.tcl:109
#: lib/option.tcl:131
#, tcl-format
msgid "%s Repository"
msgstr ""
#: lib/option.tcl:110
#: lib/option.tcl:132
msgid "Global (All Repositories)"
msgstr ""
#: lib/option.tcl:116
#: lib/option.tcl:138
msgid "User Name"
msgstr ""
#: lib/option.tcl:117
#: lib/option.tcl:139
msgid "Email Address"
msgstr ""
#: lib/option.tcl:119
#: lib/option.tcl:141
msgid "Summarize Merge Commits"
msgstr ""
#: lib/option.tcl:120
#: lib/option.tcl:142
msgid "Merge Verbosity"
msgstr ""
#: lib/option.tcl:121
#: lib/option.tcl:143
msgid "Show Diffstat After Merge"
msgstr ""
#: lib/option.tcl:123
#: lib/option.tcl:144
msgid "Use Merge Tool"
msgstr ""
#: lib/option.tcl:146
msgid "Trust File Modification Timestamps"
msgstr ""
#: lib/option.tcl:124
#: lib/option.tcl:147
msgid "Prune Tracking Branches During Fetch"
msgstr ""
#: lib/option.tcl:125
#: lib/option.tcl:148
msgid "Match Tracking Branches"
msgstr ""
#: lib/option.tcl:126
#: lib/option.tcl:149
msgid "Blame Copy Only On Changed Files"
msgstr ""
#: lib/option.tcl:127
#: lib/option.tcl:150
msgid "Minimum Letters To Blame Copy On"
msgstr ""
#: lib/option.tcl:128
#: lib/option.tcl:151
msgid "Blame History Context Radius (days)"
msgstr ""
#: lib/option.tcl:152
msgid "Number of Diff Context Lines"
msgstr ""
#: lib/option.tcl:129
#: lib/option.tcl:153
msgid "Commit Message Text Width"
msgstr ""
#: lib/option.tcl:130
#: lib/option.tcl:154
msgid "New Branch Name Template"
msgstr ""
#: lib/option.tcl:194
#: lib/option.tcl:155
msgid "Default File Contents Encoding"
msgstr ""
#: lib/option.tcl:203
msgid "Change"
msgstr ""
#: lib/option.tcl:230
msgid "Spelling Dictionary:"
msgstr ""
#: lib/option.tcl:218
#: lib/option.tcl:254
msgid "Change Font"
msgstr ""
#: lib/option.tcl:222
#: lib/option.tcl:258
#, tcl-format
msgid "Choose %s"
msgstr ""
#: lib/option.tcl:228
#: lib/option.tcl:264
msgid "pt."
msgstr ""
#: lib/option.tcl:242
#: lib/option.tcl:278
msgid "Preferences"
msgstr ""
#: lib/option.tcl:277
#: lib/option.tcl:314
msgid "Failed to completely save options:"
msgstr ""
#: lib/remote.tcl:165
#: lib/remote.tcl:163
msgid "Remove Remote"
msgstr ""
#: lib/remote.tcl:168
msgid "Prune from"
msgstr ""
#: lib/remote.tcl:170
#: lib/remote.tcl:173
msgid "Fetch from"
msgstr ""
#: lib/remote.tcl:213
#: lib/remote.tcl:215
msgid "Push to"
msgstr ""
#: lib/remote_add.tcl:19
msgid "Add Remote"
msgstr ""
#: lib/remote_add.tcl:24
msgid "Add New Remote"
msgstr ""
#: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36
msgid "Add"
msgstr ""
#: lib/remote_add.tcl:37
msgid "Remote Details"
msgstr ""
#: lib/remote_add.tcl:50
msgid "Location:"
msgstr ""
#: lib/remote_add.tcl:62
msgid "Further Action"
msgstr ""
#: lib/remote_add.tcl:65
msgid "Fetch Immediately"
msgstr ""
#: lib/remote_add.tcl:71
msgid "Initialize Remote Repository and Push"
msgstr ""
#: lib/remote_add.tcl:77
msgid "Do Nothing Else Now"
msgstr ""
#: lib/remote_add.tcl:101
msgid "Please supply a remote name."
msgstr ""
#: lib/remote_add.tcl:114
#, tcl-format
msgid "'%s' is not an acceptable remote name."
msgstr ""
#: lib/remote_add.tcl:125
#, tcl-format
msgid "Failed to add remote '%s' of location '%s'."
msgstr ""
#: lib/remote_add.tcl:133 lib/transport.tcl:6
#, tcl-format
msgid "fetch %s"
msgstr ""
#: lib/remote_add.tcl:134
#, tcl-format
msgid "Fetching the %s"
msgstr ""
#: lib/remote_add.tcl:157
#, tcl-format
msgid "Do not know how to initialize repository at location '%s'."
msgstr ""
#: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:71
#, tcl-format
msgid "push %s"
msgstr ""
#: lib/remote_add.tcl:164
#, tcl-format
msgid "Setting up the %s (at %s)"
msgstr ""
#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
msgid "Delete Remote Branch"
msgid "Delete Branch Remotely"
msgstr ""
#: lib/remote_branch_delete.tcl:47
@ -1687,7 +2022,7 @@ msgid "Remote:"
msgstr ""
#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138
msgid "Arbitrary URL:"
msgid "Arbitrary Location:"
msgstr ""
#: lib/remote_branch_delete.tcl:84
@ -1750,6 +2085,22 @@ msgstr ""
msgid "Scanning %s..."
msgstr ""
#: lib/search.tcl:21
msgid "Find:"
msgstr ""
#: lib/search.tcl:23
msgid "Next"
msgstr ""
#: lib/search.tcl:24
msgid "Prev"
msgstr ""
#: lib/search.tcl:25
msgid "Case-Sensitive"
msgstr ""
#: lib/shortcut.tcl:20 lib/shortcut.tcl:61
msgid "Cannot write shortcut:"
msgstr ""
@ -1787,22 +2138,182 @@ msgstr ""
msgid "No Suggestions"
msgstr ""
#: lib/spellcheck.tcl:387
#: lib/spellcheck.tcl:388
msgid "Unexpected EOF from spell checker"
msgstr ""
#: lib/spellcheck.tcl:391
#: lib/spellcheck.tcl:392
msgid "Spell Checker Failed"
msgstr ""
#: lib/sshkey.tcl:31
msgid "No keys found."
msgstr ""
#: lib/sshkey.tcl:34
#, tcl-format
msgid "Found a public key in: %s"
msgstr ""
#: lib/sshkey.tcl:40
msgid "Generate Key"
msgstr ""
#: lib/sshkey.tcl:56
msgid "Copy To Clipboard"
msgstr ""
#: lib/sshkey.tcl:70
msgid "Your OpenSSH Public Key"
msgstr ""
#: lib/sshkey.tcl:78
msgid "Generating..."
msgstr ""
#: lib/sshkey.tcl:84
#, tcl-format
msgid ""
"Could not start ssh-keygen:\n"
"\n"
"%s"
msgstr ""
#: lib/sshkey.tcl:111
msgid "Generation failed."
msgstr ""
#: lib/sshkey.tcl:118
msgid "Generation succeded, but no keys found."
msgstr ""
#: lib/sshkey.tcl:121
#, tcl-format
msgid "Your key is in: %s"
msgstr ""
#: lib/status_bar.tcl:83
#, tcl-format
msgid "%s ... %*i of %*i %s (%3i%%)"
msgstr ""
#: lib/transport.tcl:6
#: lib/tools.tcl:75
#, tcl-format
msgid "fetch %s"
msgid "Running %s requires a selected file."
msgstr ""
#: lib/tools.tcl:90
#, tcl-format
msgid "Are you sure you want to run %s?"
msgstr ""
#: lib/tools.tcl:110
#, tcl-format
msgid "Tool: %s"
msgstr ""
#: lib/tools.tcl:111
#, tcl-format
msgid "Running: %s"
msgstr ""
#: lib/tools.tcl:149
#, tcl-format
msgid "Tool completed succesfully: %s"
msgstr ""
#: lib/tools.tcl:151
#, tcl-format
msgid "Tool failed: %s"
msgstr ""
#: lib/tools_dlg.tcl:22
msgid "Add Tool"
msgstr ""
#: lib/tools_dlg.tcl:28
msgid "Add New Tool Command"
msgstr ""
#: lib/tools_dlg.tcl:33
msgid "Add globally"
msgstr ""
#: lib/tools_dlg.tcl:45
msgid "Tool Details"
msgstr ""
#: lib/tools_dlg.tcl:48
msgid "Use '/' separators to create a submenu tree:"
msgstr ""
#: lib/tools_dlg.tcl:61
msgid "Command:"
msgstr ""
#: lib/tools_dlg.tcl:74
msgid "Show a dialog before running"
msgstr ""
#: lib/tools_dlg.tcl:80
msgid "Ask the user to select a revision (sets $REVISION)"
msgstr ""
#: lib/tools_dlg.tcl:85
msgid "Ask the user for additional arguments (sets $ARGS)"
msgstr ""
#: lib/tools_dlg.tcl:92
msgid "Don't show the command output window"
msgstr ""
#: lib/tools_dlg.tcl:97
msgid "Run only if a diff is selected ($FILENAME not empty)"
msgstr ""
#: lib/tools_dlg.tcl:121
msgid "Please supply a name for the tool."
msgstr ""
#: lib/tools_dlg.tcl:129
#, tcl-format
msgid "Tool '%s' already exists."
msgstr ""
#: lib/tools_dlg.tcl:151
#, tcl-format
msgid ""
"Could not add tool:\n"
"%s"
msgstr ""
#: lib/tools_dlg.tcl:190
msgid "Remove Tool"
msgstr ""
#: lib/tools_dlg.tcl:196
msgid "Remove Tool Commands"
msgstr ""
#: lib/tools_dlg.tcl:200
msgid "Remove"
msgstr ""
#: lib/tools_dlg.tcl:236
msgid "(Blue denotes repository-local tools)"
msgstr ""
#: lib/tools_dlg.tcl:297
#, tcl-format
msgid "Run Command: %s"
msgstr ""
#: lib/tools_dlg.tcl:311
msgid "Arguments"
msgstr ""
#: lib/tools_dlg.tcl:348
msgid "OK"
msgstr ""
#: lib/transport.tcl:7
@ -1820,11 +2331,6 @@ msgstr ""
msgid "Pruning tracking branches deleted from %s"
msgstr ""
#: lib/transport.tcl:25 lib/transport.tcl:71
#, tcl-format
msgid "push %s"
msgstr ""
#: lib/transport.tcl:26
#, tcl-format
msgid "Pushing changes to %s"