Merge git-gui 0.14.0
authorJunio C Hamano <gitster@pobox.com>
Sat, 26 Mar 2011 17:42:26 +0000 (10:42 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 26 Mar 2011 17:42:35 +0000 (10:42 -0700)
14 files changed:
1  2 
git-gui/git-gui.sh
git-gui/lib/browser.tcl
git-gui/lib/choose_repository.tcl
git-gui/lib/commit.tcl
git-gui/lib/diff.tcl
git-gui/lib/index.tcl
git-gui/lib/merge.tcl
git-gui/lib/mergetool.tcl
git-gui/lib/remote.tcl
git-gui/lib/remote_branch_delete.tcl
git-gui/lib/transport.tcl
git-gui/po/glossary/pt_br.po
git-gui/po/pt_br.po
git-gui/po/ru.po

diff --combined git-gui/git-gui.sh
@@@ -93,6 -93,25 +93,25 @@@ if {![catch {set _verbose $env(GITGUI_V
  
  package require msgcat
  
+ # Check for Windows 7 MUI language pack (missed by msgcat < 1.4.4)
+ if {[tk windowingsystem] eq "win32"
+       && [package vcompare [package provide msgcat] 1.4.4] < 0
+ } then {
+       proc _mc_update_locale {} {
+               set key {HKEY_CURRENT_USER\Control Panel\Desktop}
+               if {![catch {
+                       package require registry
+                       set uilocale [registry get $key "PreferredUILanguages"]
+                       msgcat::ConvertLocale [string map {- _} [lindex $uilocale 0]]
+               } uilocale]} {
+                       if {[string length $uilocale] > 0} {
+                               msgcat::mclocale $uilocale
+                       }
+               }
+       }
+       _mc_update_locale
+ }
  proc _mc_trim {fmt} {
        set cmk [string first @@ $fmt]
        if {$cmk > 0} {
@@@ -139,6 -158,10 +158,10 @@@ if {$_trace >= 0} 
        set _trace 0
  }
  
+ # variable for the last merged branch (useful for a default when deleting
+ # branches).
+ set _last_merged_branch {}
  proc shellpath {} {
        global _shellpath env
        if {[string match @@* $_shellpath]} {
@@@ -1448,13 -1471,17 +1471,17 @@@ proc rescan_stage2 {fd after} 
                close $fd
        }
  
-       set ls_others [list --exclude-per-directory=.gitignore]
-       if {[have_info_exclude]} {
-               lappend ls_others "--exclude-from=[gitdir info exclude]"
-       }
-       set user_exclude [get_config core.excludesfile]
-       if {$user_exclude ne {} && [file readable $user_exclude]} {
-               lappend ls_others "--exclude-from=$user_exclude"
+       if {[package vsatisfies $::_git_version 1.6.3]} {
+               set ls_others [list --exclude-standard]
+       } else {
+               set ls_others [list --exclude-per-directory=.gitignore]
+               if {[have_info_exclude]} {
+                       lappend ls_others "--exclude-from=[gitdir info exclude]"
+               }
+               set user_exclude [get_config core.excludesfile]
+               if {$user_exclude ne {} && [file readable $user_exclude]} {
+                       lappend ls_others "--exclude-from=[file normalize $user_exclude]"
+               }
        }
  
        set buf_rdi {}
@@@ -1958,8 -1985,8 +1985,8 @@@ static unsigned char file_merge_bits[] 
  } -maskdata $filemask
  
  image create bitmap file_statechange -background white -foreground green -data {
- #define file_merge_width 14
- #define file_merge_height 15
+ #define file_statechange_width 14
+ #define file_statechange_height 15
  static unsigned char file_statechange_bits[] = {
     0xfe, 0x01, 0x02, 0x03, 0x02, 0x05, 0x02, 0x09, 0x02, 0x1f, 0x62, 0x10,
     0x62, 0x10, 0xba, 0x11, 0xba, 0x11, 0x62, 0x10, 0x62, 0x10, 0x02, 0x10,
@@@ -1993,7 -2020,11 +2020,11 @@@ foreach i 
                {MD {mc "Staged for commit, missing"}}
  
                {_T {mc "File type changed, not staged"}}
+               {MT {mc "File type changed, old type staged for commit"}}
+               {AT {mc "File type changed, old type staged for commit"}}
                {T_ {mc "File type changed, staged"}}
+               {TM {mc "File type change staged, modification not staged"}}
+               {TD {mc "File type change staged, file missing"}}
  
                {_O {mc "Untracked, not staged"}}
                {A_ {mc "Staged for commit"}}
@@@ -3331,6 -3362,8 +3362,8 @@@ foreach {n c} {0 black 1 red4 2 green4 
  }
  $ui_diff tag configure clr1 -font font_diffbold
  
+ $ui_diff tag conf d_info -foreground blue -font font_diffbold
  $ui_diff tag conf d_cr -elide true
  $ui_diff tag conf d_@ -font font_diffbold
  $ui_diff tag conf d_+ -foreground {#00a000}
@@@ -3351,13 -3384,13 +3384,13 @@@ $ui_diff tag conf d_s- 
        -foreground red \
        -background ivory1
  
- $ui_diff tag conf d<<<<<<< \
+ $ui_diff tag conf d< \
        -foreground orange \
        -font font_diffbold
- $ui_diff tag conf d======= \
+ $ui_diff tag conf d= \
        -foreground orange \
        -font font_diffbold
- $ui_diff tag conf d>>>>>>> \
+ $ui_diff tag conf d> \
        -foreground orange \
        -font font_diffbold
  
@@@ -3533,8 -3566,8 +3566,8 @@@ proc popup_diff_menu {ctxm ctxmmg ctxms
                        || $current_diff_path eq {}
                        || {__} eq $state
                        || {_O} eq $state
-                       || {_T} eq $state
-                       || {T_} eq $state
+                       || [string match {?T} $state]
+                       || [string match {T?} $state]
                        || [has_textconv $current_diff_path]} {
                        set s disabled
                } else {
diff --combined git-gui/lib/browser.tcl
@@@ -121,7 -121,7 +121,7 @@@ method _parent {} 
                if {$browser_stack eq {}} {
                        regsub {:.*$} $browser_path {:} browser_path
                } else {
-                       regsub {/[^/]+$} $browser_path {} browser_path
+                       regsub {/[^/]+/$} $browser_path {/} browser_path
                }
                set browser_status [mc "Loading %s..." $browser_path]
                _ls $this [lindex $parent 0] [lindex $parent 1]
@@@ -214,14 -214,6 +214,6 @@@ constructor pick {} 
        }
  }
  
- proc _home {} {
-       if {[catch {set h $::env(HOME)}]
-               || ![file isdirectory $h]} {
-               set h .
-       }
-       return $h
- }
  method _center {} {
        set nx [winfo reqwidth $top]
        set ny [winfo reqheight $top]
@@@ -420,7 -412,7 +412,7 @@@ method _new_local_path {} 
        if {$local_path ne {}} {
                set p [file dirname $local_path]
        } else {
-               set p [_home]
+               set p [pwd]
        }
  
        set p [tk_chooseDirectory \
@@@ -541,7 -533,7 +533,7 @@@ method _open_origin {} 
        if {$origin_url ne {} && [file isdirectory $origin_url]} {
                set p $origin_url
        } else {
-               set p [_home]
+               set p [pwd]
        }
  
        set p [tk_chooseDirectory \
@@@ -1042,7 -1034,7 +1034,7 @@@ method _open_local_path {} 
        if {$local_path ne {}} {
                set p $local_path
        } else {
-               set p [_home]
+               set p [pwd]
        }
  
        set p [tk_chooseDirectory \
diff --combined git-gui/lib/commit.tcl
@@@ -161,11 -161,12 +161,12 @@@ The rescan will be automatically starte
        #
        set files_ready 0
        foreach path [array names file_states] {
-               switch -glob -- [lindex $file_states($path) 0] {
+               set s $file_states($path)
+               switch -glob -- [lindex $s 0] {
                _? {continue}
                A? -
                D? -
-               T_ -
+               T? -
                M? {set files_ready 1}
                _U -
                U? {
@@@ -452,7 -453,11 +453,11 @@@ A rescan will be automatically started 
                }
                AM -
                AD -
+               AT -
+               TM -
+               TD -
                MM -
+               MT -
                MD {
                        set file_states($path) [list \
                                _[string index $m 1] \
diff --combined git-gui/lib/diff.tcl
@@@ -122,22 -122,22 +122,22 @@@ proc show_unmerged_diff {cont_info} 
        if {$merge_stages(2) eq {}} {
                set is_conflict_diff 1
                lappend current_diff_queue \
-                       [list [mc "LOCAL: deleted\nREMOTE:\n"] d======= \
+                       [list [mc "LOCAL: deleted\nREMOTE:\n"] d= \
                            [list ":1:$current_diff_path" ":3:$current_diff_path"]]
        } elseif {$merge_stages(3) eq {}} {
                set is_conflict_diff 1
                lappend current_diff_queue \
-                       [list [mc "REMOTE: deleted\nLOCAL:\n"] d======= \
+                       [list [mc "REMOTE: deleted\nLOCAL:\n"] d= \
                            [list ":1:$current_diff_path" ":2:$current_diff_path"]]
        } elseif {[lindex $merge_stages(1) 0] eq {120000}
                || [lindex $merge_stages(2) 0] eq {120000}
                || [lindex $merge_stages(3) 0] eq {120000}} {
                set is_conflict_diff 1
                lappend current_diff_queue \
-                       [list [mc "LOCAL:\n"] d======= \
+                       [list [mc "LOCAL:\n"] d= \
                            [list ":1:$current_diff_path" ":2:$current_diff_path"]]
                lappend current_diff_queue \
-                       [list [mc "REMOTE:\n"] d======= \
+                       [list [mc "REMOTE:\n"] d= \
                            [list ":1:$current_diff_path" ":3:$current_diff_path"]]
        } else {
                start_show_diff $cont_info
@@@ -208,32 -208,32 +208,32 @@@ proc show_other_diff {path w m cont_inf
                        $ui_diff insert end [append \
                                "* " \
                                [mc "Git Repository (subproject)"] \
-                               "\n"] d_@
+                               "\n"] d_info
                } elseif {![catch {set type [exec file $path]}]} {
                        set n [string length $path]
                        if {[string equal -length $n $path $type]} {
                                set type [string range $type $n end]
                                regsub {^:?\s*} $type {} type
                        }
-                       $ui_diff insert end "* $type\n" d_@
+                       $ui_diff insert end "* $type\n" d_info
                }
                if {[string first "\0" $content] != -1} {
                        $ui_diff insert end \
                                [mc "* Binary file (not showing content)."] \
-                               d_@
+                               d_info
                } else {
                        if {$sz > $max_sz} {
                                $ui_diff insert end [mc \
  "* Untracked file is %d bytes.
  * Showing only first %d bytes.
- " $sz $max_sz] d_@
+ " $sz $max_sz] d_info
                        }
                        $ui_diff insert end $content
                        if {$sz > $max_sz} {
                                $ui_diff insert end [mc "
  * Untracked file clipped here by %s.
  * To see the entire file, use an external editor.
- " [appname]] d_@
+ " [appname]] d_info
                        }
                }
                $ui_diff conf -state disabled
        }
  }
  
+ proc get_conflict_marker_size {path} {
+       set size 7
+       catch {
+               set fd_rc [eval [list git_read check-attr "conflict-marker-size" -- $path]]
+               set ret [gets $fd_rc line]
+               close $fd_rc
+               if {$ret > 0} {
+                       regexp {.*: conflict-marker-size: (\d+)$} $line line size
+               }
+       }
+       return $size
+ }
  proc start_show_diff {cont_info {add_opts {}}} {
        global file_states file_lists
        global is_3way_diff is_submodule_diff diff_active repo_config
        set is_submodule_diff 0
        set diff_active 1
        set current_diff_header {}
+       set conflict_size [get_conflict_marker_size $path]
  
        set cmd [list]
        if {$w eq $ui_index} {
                -blocking 0 \
                -encoding [get_path_encoding $path] \
                -translation lf
-       fileevent $fd readable [list read_diff $fd $cont_info]
+       fileevent $fd readable [list read_diff $fd $conflict_size $cont_info]
  }
  
  proc parse_color_line {line} {
        set result ""
        set markup [list]
        set regexp {\033\[((?:\d+;)*\d+)?m}
+       set need_reset 0
        while {[regexp -indices -start $start $regexp $line match code]} {
                foreach {begin end} $match break
                append result [string range $line $start [expr {$begin - 1}]]
-               lappend markup [string length $result] \
-                       [eval [linsert $code 0 string range $line]]
+               set pos [string length $result]
+               set col [eval [linsert $code 0 string range $line]]
                set start [incr end]
+               if {$col eq "0" || $col eq ""} {
+                       if {!$need_reset} continue
+                       set need_reset 0
+               } else {
+                       set need_reset 1
+               }
+               lappend markup $pos $col
        }
        append result [string range $line $start end]
        if {[llength $markup] < 4} {set markup {}}
        return [list $result $markup]
  }
  
- proc read_diff {fd cont_info} {
+ proc read_diff {fd conflict_size cont_info} {
        global ui_diff diff_active is_submodule_diff
        global is_3way_diff is_conflict_diff current_diff_header
        global current_diff_queue
                foreach {line markup} [parse_color_line $line] break
                set line [string map {\033 ^} $line]
  
-               # -- Cleanup uninteresting diff header lines.
+               set tags {}
+               # -- Check for start of diff header.
+               if {   [string match {diff --git *}      $line]
+                   || [string match {diff --cc *}       $line]
+                   || [string match {diff --combined *} $line]} {
+                       set ::current_diff_inheader 1
+               }
+               # -- Check for end of diff header (any hunk line will do this).
+               #
+               if {[regexp {^@@+ } $line]} {set ::current_diff_inheader 0}
+               # -- Automatically detect if this is a 3 way diff.
                #
+               if {[string match {@@@ *} $line]} {set is_3way_diff 1}
                if {$::current_diff_inheader} {
+                       # -- These two lines stop a diff header and shouldn't be in there
+                       if {   [string match {Binary files * and * differ} $line]
+                           || [regexp {^\* Unmerged path }                $line]} {
+                               set ::current_diff_inheader 0
+                       } else {
+                               append current_diff_header $line "\n"
+                       }
+                       # -- Cleanup uninteresting diff header lines.
+                       #
                        if {   [string match {diff --git *}      $line]
                            || [string match {diff --cc *}       $line]
                            || [string match {diff --combined *} $line]
                            || [string match {--- *}             $line]
-                           || [string match {+++ *}             $line]} {
-                               append current_diff_header $line "\n"
+                           || [string match {+++ *}             $line]
+                           || [string match {index *}           $line]} {
                                continue
                        }
-               }
-               if {[string match {index *} $line]} continue
-               if {$line eq {deleted file mode 120000}} {
-                       set line "deleted symlink"
-               }
-               set ::current_diff_inheader 0
  
-               # -- Automatically detect if this is a 3 way diff.
-               #
-               if {[string match {@@@ *} $line]} {set is_3way_diff 1}
+                       # -- Name it symlink, not 120000
+                       #    Note, that the original line is in $current_diff_header
+                       regsub {^(deleted|new) file mode 120000} $line {\1 symlink} line
  
-               if {[string match {mode *} $line]
-                       || [string match {new file *} $line]
-                       || [regexp {^(old|new) mode *} $line]
-                       || [string match {deleted file *} $line]
-                       || [string match {deleted symlink} $line]
-                       || [string match {Binary files * and * differ} $line]
-                       || $line eq {\ No newline at end of file}
-                       || [regexp {^\* Unmerged path } $line]} {
-                       set tags {}
+               } elseif {   $line eq {\ No newline at end of file}} {
+                       # -- Handle some special lines
                } elseif {$is_3way_diff} {
                        set op [string range $line 0 1]
                        switch -- $op {
                        {- } {set tags d_-s}
                        {--} {set tags d_--}
                        {++} {
-                               if {[regexp {^\+\+([<>]{7} |={7})} $line _g op]} {
+                               set regexp [string map [list %conflict_size $conflict_size]\
+                                                               {^\+\+([<>=]){%conflict_size}(?: |$)}]
+                               if {[regexp $regexp $line _g op]} {
                                        set is_conflict_diff 1
                                        set line [string replace $line 0 1 {  }]
                                        set tags d$op
                } elseif {$is_submodule_diff} {
                        if {$line == ""} continue
                        if {[regexp {^Submodule } $line]} {
-                               set tags d_@
+                               set tags d_info
                        } elseif {[regexp {^\* } $line]} {
                                set line [string replace $line 0 1 {Submodule }]
-                               set tags d_@
+                               set tags d_info
                        } else {
                                set op [string range $line 0 2]
                                switch -- $op {
                        {@} {set tags d_@}
                        {-} {set tags d_-}
                        {+} {
-                               if {[regexp {^\+([<>]{7} |={7})} $line _g op]} {
+                               set regexp [string map [list %conflict_size $conflict_size]\
+                                                               {^\+([<>=]){%conflict_size}(?: |$)}]
+                               if {[regexp $regexp $line _g op]} {
                                        set is_conflict_diff 1
                                        set tags d$op
                                } else {
diff --combined git-gui/lib/index.tcl
@@@ -103,8 -103,11 +103,11 @@@ proc write_update_indexinfo {fd pathLis
                set s $file_states($path)
                switch -glob -- [lindex $s 0] {
                A? {set new _O}
-               M? {set new _M}
+               MT -
+               TM -
                T_ {set new _T}
+               M? {set new _M}
+               TD -
                D_ {set new _D}
                D? {set new _?}
                ?? {continue}
@@@ -167,7 -170,10 +170,10 @@@ proc write_update_index {fd pathList to
                AD {set new __}
                ?D {set new D_}
                _O -
+               AT -
                AM {set new A_}
+               TM -
+               MT -
                _T {set new T_}
                _U -
                U? {
@@@ -261,7 -267,7 +267,7 @@@ proc unstage_helper {txt paths} 
                switch -glob -- [lindex $file_states($path) 0] {
                A? -
                M? -
-               T_ -
+               T? -
                D? {
                        lappend pathList $path
                        if {$path eq $current_diff_path} {
diff --combined git-gui/lib/merge.tcl
@@@ -83,6 -83,7 +83,7 @@@ method _visualize {} 
  
  method _start {} {
        global HEAD current_branch remote_url
+       global _last_merged_branch
  
        set name [_rev $this]
        if {$name eq {}} {
        regsub ^refs/heads/ $branch {} branch
        puts $fh "$cmit\t\tbranch '$branch' of $remote"
        close $fh
+       set _last_merged_branch $branch
  
        set cmd [list git]
        lappend cmd merge
@@@ -175,43 -175,56 +175,56 @@@ proc merge_resolve_tool2 {} 
  
        # Build the command line
        switch -- $tool {
-       kdiff3 {
+       araxis {
                if {$base_stage ne {}} {
-                       set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Base)" \
-                               --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE"]
+                       set cmdline [list "$merge_tool_path" -wait -merge -3 -a1 \
+                               -title1:"'$MERGED (Base)'" -title2:"'$MERGED (Local)'" \
+                               -title3:"'$MERGED (Remote)'" \
+                               "$BASE" "$LOCAL" "$REMOTE" "$MERGED"]
                } else {
-                       set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Local)" \
-                               --L2 "$MERGED (Remote)" -o "$MERGED" "$LOCAL" "$REMOTE"]
+                       set cmdline [list "$merge_tool_path" -wait -2 \
+                                -title1:"'$MERGED (Local)'" -title2:"'$MERGED (Remote)'" \
+                                "$LOCAL" "$REMOTE" "$MERGED"]
                }
        }
-       tkdiff {
+       bc3 {
                if {$base_stage ne {}} {
-                       set cmdline [list "$merge_tool_path" -a "$BASE" -o "$MERGED" "$LOCAL" "$REMOTE"]
+                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" "$BASE" -mergeoutput="$MERGED"]
                } else {
-                       set cmdline [list "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"]
+                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -mergeoutput="$MERGED"]
                }
        }
-       meld {
-               set cmdline [list "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"]
+       ecmerge {
+               if {$base_stage ne {}} {
+                       set cmdline [list "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" --default --mode=merge3 --to="$MERGED"]
+               } else {
+                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" --default --mode=merge2 --to="$MERGED"]
+               }
+       }
+       emerge {
+               if {$base_stage ne {}} {
+                       set cmdline [list "$merge_tool_path" -f emerge-files-with-ancestor-command \
+                                       "$LOCAL" "$REMOTE" "$BASE" "$basename"]
+               } else {
+                       set cmdline [list "$merge_tool_path" -f emerge-files-command \
+                                       "$LOCAL" "$REMOTE" "$basename"]
+               }
        }
        gvimdiff {
                set cmdline [list "$merge_tool_path" -f "$LOCAL" "$MERGED" "$REMOTE"]
        }
-       xxdiff {
+       kdiff3 {
                if {$base_stage ne {}} {
-                       set cmdline [list "$merge_tool_path" -X --show-merged-pane \
-                                           -R {Accel.SaveAsMerged: "Ctrl-S"} \
-                                           -R {Accel.Search: "Ctrl+F"} \
-                                           -R {Accel.SearchForward: "Ctrl-G"} \
-                                           --merged-file "$MERGED" "$LOCAL" "$BASE" "$REMOTE"]
+                       set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Base)" \
+                               --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE"]
                } else {
-                       set cmdline [list "$merge_tool_path" -X --show-merged-pane \
-                                           -R {Accel.SaveAsMerged: "Ctrl-S"} \
-                                           -R {Accel.Search: "Ctrl+F"} \
-                                           -R {Accel.SearchForward: "Ctrl-G"} \
-                                           --merged-file "$MERGED" "$LOCAL" "$REMOTE"]
+                       set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Local)" \
+                               --L2 "$MERGED (Remote)" -o "$MERGED" "$LOCAL" "$REMOTE"]
                }
        }
+       meld {
+               set cmdline [list "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"]
+       }
        opendiff {
                if {$base_stage ne {}} {
                        set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"]
                        set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -merge "$MERGED"]
                }
        }
-       ecmerge {
-               if {$base_stage ne {}} {
-                       set cmdline [list "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" --default --mode=merge3 --to="$MERGED"]
-               } else {
-                       set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" --default --mode=merge2 --to="$MERGED"]
-               }
+       p4merge {
+               set cmdline [list "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"]
        }
-       emerge {
+       tkdiff {
                if {$base_stage ne {}} {
-                       set cmdline [list "$merge_tool_path" -f emerge-files-with-ancestor-command \
-                                       "$LOCAL" "$REMOTE" "$BASE" "$basename"]
+                       set cmdline [list "$merge_tool_path" -a "$BASE" -o "$MERGED" "$LOCAL" "$REMOTE"]
                } else {
-                       set cmdline [list "$merge_tool_path" -f emerge-files-command \
-                                       "$LOCAL" "$REMOTE" "$basename"]
+                       set cmdline [list "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"]
                }
        }
+       vimdiff {
+               error_popup [mc "Not a GUI merge tool: '%s'" $tool]
+               return
+       }
        winmerge {
                if {$base_stage ne {}} {
                        # This tool does not support 3-way merges.
                                -dl "Theirs File" -dr "Mine File" "$REMOTE" "$LOCAL" "$MERGED"]
                }
        }
-       araxis {
+       xxdiff {
                if {$base_stage ne {}} {
-                       set cmdline [list "$merge_tool_path" -wait -merge -3 -a1 \
-                               -title1:"'$MERGED (Base)'" -title2:"'$MERGED (Local)'" \
-                               -title3:"'$MERGED (Remote)'" \
-                               "$BASE" "$LOCAL" "$REMOTE" "$MERGED"]
+                       set cmdline [list "$merge_tool_path" -X --show-merged-pane \
+                                           -R {Accel.SaveAsMerged: "Ctrl-S"} \
+                                           -R {Accel.Search: "Ctrl+F"} \
+                                           -R {Accel.SearchForward: "Ctrl-G"} \
+                                           --merged-file "$MERGED" "$LOCAL" "$BASE" "$REMOTE"]
                } else {
-                       set cmdline [list "$merge_tool_path" -wait -2 \
-                                -title1:"'$MERGED (Local)'" -title2:"'$MERGED (Remote)'" \
-                                "$LOCAL" "$REMOTE" "$MERGED"]
+                       set cmdline [list "$merge_tool_path" -X --show-merged-pane \
+                                           -R {Accel.SaveAsMerged: "Ctrl-S"} \
+                                           -R {Accel.Search: "Ctrl+F"} \
+                                           -R {Accel.SearchForward: "Ctrl-G"} \
+                                           --merged-file "$MERGED" "$LOCAL" "$REMOTE"]
                }
        }
-       p4merge {
-               set cmdline [list "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"]
-       }
-       vimdiff {
-               error_popup [mc "Not a GUI merge tool: '%s'" $tool]
-               return
-       }
        default {
                error_popup [mc "Unsupported merge tool '%s'" $tool]
                return
diff --combined git-gui/lib/remote.tcl
@@@ -157,22 -157,7 +157,7 @@@ proc add_fetch_entry {r} 
        }
  
        if {$enable} {
-               if {![winfo exists $fetch_m]} {
-                       menu $remove_m
-                       $remote_m insert 0 cascade \
-                               -label [mc "Remove Remote"] \
-                               -menu $remove_m
-                       menu $prune_m
-                       $remote_m insert 0 cascade \
-                               -label [mc "Prune from"] \
-                               -menu $prune_m
-                       menu $fetch_m
-                       $remote_m insert 0 cascade \
-                               -label [mc "Fetch from"] \
-                               -menu $fetch_m
-               }
+               make_sure_remote_submenues_exist $remote_m
  
                $fetch_m add command \
                        -label $r \
@@@ -222,6 -207,70 +207,70 @@@ proc add_push_entry {r} 
        }
  }
  
+ proc make_sure_remote_submenues_exist {remote_m} {
+       set fetch_m $remote_m.fetch
+       set prune_m $remote_m.prune
+       set remove_m $remote_m.remove
+       if {![winfo exists $fetch_m]} {
+               menu $remove_m
+               $remote_m insert 0 cascade \
+                       -label [mc "Remove Remote"] \
+                       -menu $remove_m
+               menu $prune_m
+               $remote_m insert 0 cascade \
+                       -label [mc "Prune from"] \
+                       -menu $prune_m
+               menu $fetch_m
+               $remote_m insert 0 cascade \
+                       -label [mc "Fetch from"] \
+                       -menu $fetch_m
+       }
+ }
+ proc update_all_remotes_menu_entry {} {
+       global all_remotes
+       if {[git-version < 1.6.6]} { return }
+       set have_remote 0
+       foreach r $all_remotes {
+               incr have_remote
+       }
+       set remote_m .mbar.remote
+       set fetch_m $remote_m.fetch
+       set prune_m $remote_m.prune
+       if {$have_remote > 1} {
+               make_sure_remote_submenues_exist $remote_m
+               if {[$fetch_m entrycget end -label] ne "All"} {
+                       $fetch_m insert end separator
+                       $fetch_m insert end command \
+                               -label "All" \
+                               -command fetch_from_all
+                       $prune_m insert end separator
+                       $prune_m insert end command \
+                               -label "All" \
+                               -command prune_from_all
+               }
+       } else {
+               if {[winfo exists $fetch_m]} {
+                       if {[$fetch_m entrycget end -label] eq "All"} {
+                               delete_from_menu $fetch_m end
+                               delete_from_menu $fetch_m end
+                               delete_from_menu $prune_m end
+                               delete_from_menu $prune_m end
+                       }
+               }
+       }
+ }
  proc populate_remotes_menu {} {
        global all_remotes
  
                add_fetch_entry $r
                add_push_entry $r
        }
+       update_all_remotes_menu_entry
  }
  
  proc add_single_remote {name location} {
  
        add_fetch_entry $name
        add_push_entry $name
+       update_all_remotes_menu_entry
  }
  
  proc delete_from_menu {menu name} {
@@@ -264,8 -317,8 +317,8 @@@ proc remove_remote {name} 
                unset repo_config(remote.$name.push)
        }
  
-       set i [lsearch -exact all_remotes $name]
-       lreplace all_remotes $i $i
+       set i [lsearch -exact $all_remotes $name]
+       set all_remotes [lreplace $all_remotes $i $i]
  
        set remote_m .mbar.remote
        delete_from_menu $remote_m.fetch $name
        delete_from_menu $remote_m.remove $name
        # Not all remotes are in the push menu
        catch { delete_from_menu $remote_m.push $name }
+       update_all_remotes_menu_entry
  }
@@@ -251,7 -251,7 +251,7 @@@ method _write_url        {args} { set u
  method _write_check_head {args} { set checktype head }
  
  method _write_head_list {args} {
-       global current_branch
+       global current_branch _last_merged_branch
  
        $head_m delete 0 end
        foreach abr $head_list {
                        set check_head $current_branch
                }
        }
+       set lmb [lsearch -exact -sorted $head_list $_last_merged_branch]
+       if {$lmb >= 0} {
+               $w.heads.l conf -state normal
+               $w.heads.l select set $lmb
+               $w.heads.l yview $lmb
+               $w.heads.l conf -state disabled
+       }
  }
  
  method _write_urltype {args} {
@@@ -20,6 -20,35 +20,35 @@@ proc prune_from {remote} 
        console::exec $w [list git remote prune $remote]
  }
  
+ proc fetch_from_all {} {
+       set w [console::new \
+               [mc "fetch all remotes"] \
+               [mc "Fetching new changes from all remotes"]]
+       set cmd [list git fetch --all]
+       if {[is_config_true gui.pruneduringfetch]} {
+               lappend cmd --prune
+       }
+       console::exec $w $cmd
+ }
+ proc prune_from_all {} {
+       global all_remotes
+       set w [console::new \
+               [mc "remote prune all remotes"] \
+               [mc "Pruning tracking branches deleted from all remotes"]]
+       set cmd [list git remote prune]
+       foreach r $all_remotes {
+               lappend cmd $r
+       }
+       console::exec $w $cmd
+ }
  proc push_to {remote} {
        set w [console::new \
                [mc "push %s" $remote] \
@@@ -123,6 -152,7 +152,7 @@@ proc do_push_anywhere {} 
                $w.source.l insert end $h
                if {$h eq $current_branch} {
                        $w.source.l select set end
+                       $w.source.l yview end
                }
        }
        pack $w.source.l -side left -fill both -expand 1
                        -value remote \
                        -variable push_urltype
                if {$use_ttk} {
-                       ttk::combobox $w.dest.remote_m -textvariable push_remote \
+                       ttk::combobox $w.dest.remote_m -state readonly \
+                               -exportselection false \
+                               -textvariable push_remote \
                                -values $all_remotes
                } else {
                        eval tk_optionMenu $w.dest.remote_m push_remote $all_remotes
index 0000000,eb039b2..eb039b2
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,169 +1,169 @@@
+ # Translation of git-gui to Brazilian Portuguese
+ # Copyright (C) 2007 Shawn Pearce, et al.
+ # This file is distributed under the same license as the git-gui package.
+ #
+ # Alexandre Erwin Ittner <alexandre@ittner.com.br>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: git-gui\n"
+ "Report-Msgid-Bugs-To: \n"
+ "POT-Creation-Date: 2010-01-26 15:47-0800\n"
+ "PO-Revision-Date: 2010-09-18 11:09-0300\n"
+ "Last-Translator: Alexandre Erwin Ittner <alexandre@ittner.com.br>\n"
+ "Language-Team: Brazilian Portuguese <>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ #. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)"
+ msgid ""
+ "English Term (Dear translator: This file will never be visible to the user!)"
+ msgstr ""
+ #. ""
+ msgid "amend"
+ msgstr "corrigir"
+ #. ""
+ msgid "annotate"
+ msgstr "anotar"
+ #. "A 'branch' is an active line of development."
+ msgid "branch [noun]"
+ msgstr "ramo"
+ #. ""
+ msgid "branch [verb]"
+ msgstr "ramificar"
+ #. ""
+ msgid "checkout [noun]"
+ msgstr "checkout"
+ #. "The action of updating the working tree to a revision which was stored in the object database."
+ msgid "checkout [verb]"
+ msgstr "efetuar checkout"
+ #. ""
+ msgid "clone [verb]"
+ msgstr "clonar"
+ #. "A single point in the git history."
+ msgid "commit [noun]"
+ msgstr "revisão"
+ #. "The action of storing a new snapshot of the project's state in the git history."
+ msgid "commit [verb]"
+ msgstr "salvar revisão"
+ #. ""
+ msgid "diff [noun]"
+ msgstr "diff"
+ #. ""
+ msgid "diff [verb]"
+ msgstr "comparar"
+ #. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have."
+ msgid "fast forward merge"
+ msgstr "mesclagem rápida"
+ #. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too."
+ msgid "fetch"
+ msgstr "receber"
+ #. "One context of consecutive lines in a whole patch, which consists of many such hunks"
+ msgid "hunk"
+ msgstr "trecho"
+ #. "A collection of files. The index is a stored version of your working tree."
+ msgid "index (in git-gui: staging area)"
+ msgstr "índice"
+ #. "A successful merge results in the creation of a new commit representing the result of the merge."
+ msgid "merge [noun]"
+ msgstr "mesclagem"
+ #. "To bring the contents of another branch into the current branch."
+ msgid "merge [verb]"
+ msgstr "mesclar"
+ #. ""
+ msgid "message"
+ msgstr "descrição da revisão"
+ #. "Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in 'remotes/<name>'."
+ msgid "prune"
+ msgstr "limpar"
+ #. "Pulling a branch means to fetch it and merge it."
+ msgid "pull"
+ msgstr "receber e mesclar"
+ #. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)"
+ msgid "push"
+ msgstr "enviar"
+ #. ""
+ msgid "redo"
+ msgstr "refazer"
+ #. "An other repository ('remote'). One might have a set of remotes whose branches one tracks."
+ msgid "remote"
+ msgstr "repositório remoto"
+ #. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)"
+ msgid "repository"
+ msgstr "repositório"
+ #. ""
+ msgid "reset"
+ msgstr "descartar, redefinir"
+ #. ""
+ msgid "revert"
+ msgstr "reverter"
+ #. "A particular state of files and directories which was stored in the object database."
+ msgid "revision"
+ msgstr "revisão"
+ #. ""
+ msgid "sign off"
+ msgstr "assinar embaixo"
+ #. ""
+ msgid "staging area"
+ msgstr "???"
+ #. ""
+ msgid "status"
+ msgstr "status"
+ #. "A ref pointing to a tag or commit object"
+ msgid "tag [noun]"
+ msgstr "etiqueta"
+ #. ""
+ msgid "tag [verb]"
+ msgstr "marcar etiqueta"
+ #. "A regular git branch that is used to follow changes from another repository."
+ msgid "tracking branch"
+ msgstr "ramo de rastreamento"
+ #. ""
+ msgid "undo"
+ msgstr "desfazer"
+ #. ""
+ msgid "update"
+ msgstr "atualizar"
+ #. ""
+ msgid "verify"
+ msgstr "verificar"
+ #. "The tree of actual checked out files."
+ msgid "working copy, working tree"
+ msgstr "cópia de trabalho, árvore de trabalho"
diff --combined git-gui/po/pt_br.po
index 0000000,b175b97..b175b97
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,2568 +1,2568 @@@
+ # Translation of git-gui to Brazilian Portuguese
+ # Copyright (C) 2007 Shawn Pearce, et al.
+ # This file is distributed under the same license as the git-gui package.
+ #
+ # Alexandre Erwin Ittner <alexandre@ittner.com.br>, 2010.
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: git-gui\n"
+ "Report-Msgid-Bugs-To: \n"
+ "POT-Creation-Date: 2010-01-26 15:47-0800\n"
+ "PO-Revision-Date: 2010-09-18 11:09-0300\n"
+ "Last-Translator: Alexandre Erwin Ittner <alexandre@ittner.com.br>\n"
+ "Language-Team: Brazilian Portuguese <>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ #: git-gui.sh:41 git-gui.sh:793 git-gui.sh:807 git-gui.sh:820 git-gui.sh:903
+ #: git-gui.sh:922
+ msgid "git-gui: fatal error"
+ msgstr "git-gui: erro fatal"
+ #: git-gui.sh:743
+ #, tcl-format
+ msgid "Invalid font specified in %s:"
+ msgstr "Fonte inválida indicada em %s:"
+ #: git-gui.sh:779
+ msgid "Main Font"
+ msgstr "Fonte principal"
+ #: git-gui.sh:780
+ msgid "Diff/Console Font"
+ msgstr "Fonte para o diff/console"
+ #: git-gui.sh:794
+ msgid "Cannot find git in PATH."
+ msgstr "Impossível encontrar o git no \"PATH\""
+ #: git-gui.sh:821
+ msgid "Cannot parse Git version string:"
+ msgstr "Impossível interpretar a versão do git:"
+ #: git-gui.sh:839
+ #, tcl-format
+ msgid ""
+ "Git version cannot be determined.\n"
+ "\n"
+ "%s claims it is version '%s'.\n"
+ "\n"
+ "%s requires at least Git 1.5.0 or later.\n"
+ "\n"
+ "Assume '%s' is version 1.5.0?\n"
+ msgstr ""
+ "Não foi possível determinar a versão do git:\n"
+ "\n"
+ "%s afirmar que sua versão é \"%s\".\n"
+ "\n"
+ "%s exige o Git 1.5.0 ou posterior.\n"
+ "\n"
+ "Assumir que '%s' é a versão 1.5.0?\n"
+ #: git-gui.sh:1128
+ msgid "Git directory not found:"
+ msgstr "Diretório do Git não encontrado:"
+ #: git-gui.sh:1146
+ msgid "Cannot move to top of working directory:"
+ msgstr "Impossível mover para o início do diretório de trabalho:"
+ #: git-gui.sh:1154
+ msgid "Cannot use bare repository:"
+ msgstr "Impossível usar repositório puro:"
+ #: git-gui.sh:1162
+ msgid "No working directory"
+ msgstr "Sem diretório de trabalho"
+ #: git-gui.sh:1334 lib/checkout_op.tcl:306
+ msgid "Refreshing file status..."
+ msgstr "Atualizando estado dos arquivos..."
+ #: git-gui.sh:1390
+ msgid "Scanning for modified files ..."
+ msgstr "Procurando por arquivos modificados ..."
+ #: git-gui.sh:1454
+ msgid "Calling prepare-commit-msg hook..."
+ msgstr "Executando hook \"prepare-commit-msg\"..."
+ #: git-gui.sh:1471
+ msgid "Commit declined by prepare-commit-msg hook."
+ msgstr "O script \"prepare-commit-msg\" negou a criação de uma nova revisão"
+ #: git-gui.sh:1629 lib/browser.tcl:246
+ msgid "Ready."
+ msgstr "Pronto."
+ #: git-gui.sh:1787
+ #, tcl-format
+ msgid "Displaying only %s of %s files."
+ msgstr "Exibindo apenas %s de %s arquivos."
+ #: git-gui.sh:1913
+ msgid "Unmodified"
+ msgstr "Não modificado"
+ #: git-gui.sh:1915
+ msgid "Modified, not staged"
+ msgstr "Modificado, não marcado"
+ #: git-gui.sh:1916 git-gui.sh:1924
+ msgid "Staged for commit"
+ msgstr "Marcado para uma nova revisão"
+ #: git-gui.sh:1917 git-gui.sh:1925
+ msgid "Portions staged for commit"
+ msgstr "Trechos marcados para revisão"
+ #: git-gui.sh:1918 git-gui.sh:1926
+ msgid "Staged for commit, missing"
+ msgstr "Marcado para revisão, faltando"
+ #: git-gui.sh:1920
+ msgid "File type changed, not staged"
+ msgstr "Tipo do arquivo modificado, não marcado"
+ #: git-gui.sh:1921
+ msgid "File type changed, staged"
+ msgstr "Tipo do arquivo modificado, marcado"
+ #: git-gui.sh:1923
+ msgid "Untracked, not staged"
+ msgstr "Não monitorado, não marcado"
+ #: git-gui.sh:1928
+ msgid "Missing"
+ msgstr "Faltando"
+ #: git-gui.sh:1929
+ msgid "Staged for removal"
+ msgstr "Marcado para remoção"
+ #: git-gui.sh:1930
+ msgid "Staged for removal, still present"
+ msgstr "Marcado para remoção, ainda presente"
+ #: git-gui.sh:1932 git-gui.sh:1933 git-gui.sh:1934 git-gui.sh:1935
+ #: git-gui.sh:1936 git-gui.sh:1937
+ msgid "Requires merge resolution"
+ msgstr "Requer resolução de conflitos"
+ #: git-gui.sh:1972
+ msgid "Starting gitk... please wait..."
+ msgstr "Iniciando gitk... Aguarde..."
+ #: git-gui.sh:1984
+ msgid "Couldn't find gitk in PATH"
+ msgstr "Impossível encontrar o gitk no PATH"
+ #: git-gui.sh:2043
+ msgid "Couldn't find git gui in PATH"
+ msgstr "Impossível encontrar o \"git gui\" no PATH"
+ #: git-gui.sh:2455 lib/choose_repository.tcl:36
+ msgid "Repository"
+ msgstr "Repositório"
+ #: git-gui.sh:2456
+ msgid "Edit"
+ msgstr "Editar"
+ #: git-gui.sh:2458 lib/choose_rev.tcl:561
+ msgid "Branch"
+ msgstr "Ramo"
+ #: git-gui.sh:2461 lib/choose_rev.tcl:548
+ msgid "Commit@@noun"
+ msgstr "Revisão"
+ #: git-gui.sh:2464 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
+ msgid "Merge"
+ msgstr "Mesclar"
+ #: git-gui.sh:2465 lib/choose_rev.tcl:557
+ msgid "Remote"
+ msgstr "Remoto"
+ #: git-gui.sh:2468
+ msgid "Tools"
+ msgstr "Ferramentas"
+ #: git-gui.sh:2477
+ msgid "Explore Working Copy"
+ msgstr "Explorar cópia de trabalho"
+ #: git-gui.sh:2483
+ msgid "Browse Current Branch's Files"
+ msgstr "Explorar arquivos do ramo atual"
+ #: git-gui.sh:2487
+ msgid "Browse Branch Files..."
+ msgstr "Explorar arquivos do ramo..."
+ #: git-gui.sh:2492
+ msgid "Visualize Current Branch's History"
+ msgstr "Visualizar histórico do ramo atual"
+ #: git-gui.sh:2496
+ msgid "Visualize All Branch History"
+ msgstr "Visualizar histórico de todos os ramos"
+ #: git-gui.sh:2503
+ #, tcl-format
+ msgid "Browse %s's Files"
+ msgstr "Explorar arquivos de %s"
+ #: git-gui.sh:2505
+ #, tcl-format
+ msgid "Visualize %s's History"
+ msgstr "Visualizar histórico de %s"
+ #: git-gui.sh:2510 lib/database.tcl:27 lib/database.tcl:67
+ msgid "Database Statistics"
+ msgstr "Estatísticas do banco de dados"
+ #: git-gui.sh:2513 lib/database.tcl:34
+ msgid "Compress Database"
+ msgstr "Compactar banco de dados"
+ #: git-gui.sh:2516
+ msgid "Verify Database"
+ msgstr "Verificar banco de dados"
+ #: git-gui.sh:2523 git-gui.sh:2527 git-gui.sh:2531 lib/shortcut.tcl:8
+ #: lib/shortcut.tcl:40 lib/shortcut.tcl:72
+ msgid "Create Desktop Icon"
+ msgstr "Criar ícone na área de trabalho"
+ #: git-gui.sh:2539 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191
+ msgid "Quit"
+ msgstr "Sair"
+ #: git-gui.sh:2547
+ msgid "Undo"
+ msgstr "Desfazer"
+ #: git-gui.sh:2550
+ msgid "Redo"
+ msgstr "Refazer"
+ #: git-gui.sh:2554 git-gui.sh:3109
+ msgid "Cut"
+ msgstr "Recortar"
+ #: git-gui.sh:2557 git-gui.sh:3112 git-gui.sh:3186 git-gui.sh:3259
+ #: lib/console.tcl:69
+ msgid "Copy"
+ msgstr "Copiar"
+ #: git-gui.sh:2560 git-gui.sh:3115
+ msgid "Paste"
+ msgstr "Colar"
+ #: git-gui.sh:2563 git-gui.sh:3118 lib/branch_delete.tcl:26
+ #: lib/remote_branch_delete.tcl:38
+ msgid "Delete"
+ msgstr "Apagar"
+ #: git-gui.sh:2567 git-gui.sh:3122 git-gui.sh:3263 lib/console.tcl:71
+ msgid "Select All"
+ msgstr "Selecionar tudo"
+ #: git-gui.sh:2576
+ msgid "Create..."
+ msgstr "Criar..."
+ #: git-gui.sh:2582
+ msgid "Checkout..."
+ msgstr "Checkout..."
+ #: git-gui.sh:2588
+ msgid "Rename..."
+ msgstr "Renomear..."
+ #: git-gui.sh:2593
+ msgid "Delete..."
+ msgstr "Apagar..."
+ #: git-gui.sh:2598
+ msgid "Reset..."
+ msgstr "Redefinir..."
+ #: git-gui.sh:2608
+ msgid "Done"
+ msgstr "Pronto"
+ #: git-gui.sh:2610
+ msgid "Commit@@verb"
+ msgstr "Salvar revisão"
+ #: git-gui.sh:2619 git-gui.sh:3050
+ msgid "New Commit"
+ msgstr "Nova revisão"
+ #: git-gui.sh:2627 git-gui.sh:3057
+ msgid "Amend Last Commit"
+ msgstr "Corrigir última revisão"
+ #: git-gui.sh:2637 git-gui.sh:3011 lib/remote_branch_delete.tcl:99
+ msgid "Rescan"
+ msgstr "Atualizar"
+ #: git-gui.sh:2643
+ msgid "Stage To Commit"
+ msgstr "Marcar para revisão"
+ #: git-gui.sh:2649
+ msgid "Stage Changed Files To Commit"
+ msgstr "Marcar arquivos modificados"
+ #: git-gui.sh:2655
+ msgid "Unstage From Commit"
+ msgstr "Desmarcar"
+ #: git-gui.sh:2661 lib/index.tcl:412
+ msgid "Revert Changes"
+ msgstr "Reverter mudanças"
+ #: git-gui.sh:2669 git-gui.sh:3310 git-gui.sh:3341
+ msgid "Show Less Context"
+ msgstr "Mostrar menos contexto"
+ #: git-gui.sh:2673 git-gui.sh:3314 git-gui.sh:3345
+ msgid "Show More Context"
+ msgstr "Mostrar mais contexto"
+ #: git-gui.sh:2680 git-gui.sh:3024 git-gui.sh:3133
+ msgid "Sign Off"
+ msgstr "Assinar embaixo"
+ #: git-gui.sh:2696
+ msgid "Local Merge..."
+ msgstr "Mesclar localmente..."
+ #: git-gui.sh:2701
+ msgid "Abort Merge..."
+ msgstr "Abortar mesclagem..."
+ #: git-gui.sh:2713 git-gui.sh:2741
+ msgid "Add..."
+ msgstr "Adicionar..."
+ #: git-gui.sh:2717
+ msgid "Push..."
+ msgstr "Enviar..."
+ #: git-gui.sh:2721
+ msgid "Delete Branch..."
+ msgstr "Apagar ramo..."
+ #: git-gui.sh:2731 git-gui.sh:3292
+ msgid "Options..."
+ msgstr "Opções..."
+ #: git-gui.sh:2742
+ msgid "Remove..."
+ msgstr "Remover..."
+ #: git-gui.sh:2751 lib/choose_repository.tcl:50
+ msgid "Help"
+ msgstr "Ajuda"
+ #: git-gui.sh:2755 git-gui.sh:2759 lib/about.tcl:14
+ #: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53
+ #, tcl-format
+ msgid "About %s"
+ msgstr "Sobre o %s"
+ #: git-gui.sh:2783
+ msgid "Online Documentation"
+ msgstr "Ajuda online"
+ #: git-gui.sh:2786 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56
+ msgid "Show SSH Key"
+ msgstr "Mostrar chave SSH"
+ #: git-gui.sh:2893
+ #, tcl-format
+ msgid "fatal: cannot stat path %s: No such file or directory"
+ msgstr ""
+ "erro fatal: impossível executar \"stat\" em  %s: Arquivo ou diretório não "
+ "encontrado"
+ #: git-gui.sh:2926
+ msgid "Current Branch:"
+ msgstr "Ramo atual:"
+ #: git-gui.sh:2947
+ msgid "Staged Changes (Will Commit)"
+ msgstr "Mudanças marcadas"
+ #: git-gui.sh:2967
+ msgid "Unstaged Changes"
+ msgstr "Mudanças não marcadas"
+ #: git-gui.sh:3017
+ msgid "Stage Changed"
+ msgstr "Marcar alterados"
+ #: git-gui.sh:3036 lib/transport.tcl:104 lib/transport.tcl:193
+ msgid "Push"
+ msgstr "Enviar"
+ #: git-gui.sh:3071
+ msgid "Initial Commit Message:"
+ msgstr "Descrição da revisão inicial:"
+ #: git-gui.sh:3072
+ msgid "Amended Commit Message:"
+ msgstr "Descrição da revisão corrigida:"
+ #: git-gui.sh:3073
+ msgid "Amended Initial Commit Message:"
+ msgstr "Descrição da revisão inicial corrigida:"
+ #: git-gui.sh:3074
+ msgid "Amended Merge Commit Message:"
+ msgstr "Descrição da revisão de mescla corrigida:"
+ #: git-gui.sh:3075
+ msgid "Merge Commit Message:"
+ msgstr "Descrição da revisão de mescla:"
+ #: git-gui.sh:3076
+ msgid "Commit Message:"
+ msgstr "Descrição da revisão:"
+ #: git-gui.sh:3125 git-gui.sh:3267 lib/console.tcl:73
+ msgid "Copy All"
+ msgstr "Copiar todos"
+ #: git-gui.sh:3149 lib/blame.tcl:104
+ msgid "File:"
+ msgstr "Arquivo:"
+ #: git-gui.sh:3255
+ msgid "Refresh"
+ msgstr "Atualizar"
+ #: git-gui.sh:3276
+ msgid "Decrease Font Size"
+ msgstr "Reduzir tamanho da fonte"
+ #: git-gui.sh:3280
+ msgid "Increase Font Size"
+ msgstr "Aumentar tamanho da fonte"
+ #: git-gui.sh:3288 lib/blame.tcl:281
+ msgid "Encoding"
+ msgstr "Codificação"
+ #: git-gui.sh:3299
+ msgid "Apply/Reverse Hunk"
+ msgstr "Aplicar/reverter trecho"
+ #: git-gui.sh:3304
+ msgid "Apply/Reverse Line"
+ msgstr "Aplicar/reverter linha"
+ #: git-gui.sh:3323
+ msgid "Run Merge Tool"
+ msgstr "Executar ferramenta de mescla"
+ #: git-gui.sh:3328
+ msgid "Use Remote Version"
+ msgstr "Usar versão remota"
+ #: git-gui.sh:3332
+ msgid "Use Local Version"
+ msgstr "Usar versão local"
+ #: git-gui.sh:3336
+ msgid "Revert To Base"
+ msgstr "Reverter para a versão-base"
+ #: git-gui.sh:3354
+ msgid "Visualize These Changes In The Submodule"
+ msgstr "Visualizar estas mudanças no sub-módulo"
+ #: git-gui.sh:3358
+ msgid "Visualize Current Branch History In The Submodule"
+ msgstr "Visualizar histórico do ramo atual no sub-módulo"
+ #: git-gui.sh:3362
+ msgid "Visualize All Branch History In The Submodule"
+ msgstr "Visualizar histórico de todos os camos no sub-módulo"
+ #: git-gui.sh:3367
+ msgid "Start git gui In The Submodule"
+ msgstr "Iniciar \"git gui\" no sub-módulo"
+ #: git-gui.sh:3389
+ msgid "Unstage Hunk From Commit"
+ msgstr "Desmarcar trecho para revisão"
+ #: git-gui.sh:3391
+ msgid "Unstage Lines From Commit"
+ msgstr "Desmarcar linhas para revisão"
+ #: git-gui.sh:3393
+ msgid "Unstage Line From Commit"
+ msgstr "Desmarcar linha para revisão"
+ #: git-gui.sh:3396
+ msgid "Stage Hunk For Commit"
+ msgstr "Marcar trecho para revisão"
+ #: git-gui.sh:3398
+ msgid "Stage Lines For Commit"
+ msgstr "Marcar linhas para revisão"
+ #: git-gui.sh:3400
+ msgid "Stage Line For Commit"
+ msgstr "Marcar linha para revisão"
+ #: git-gui.sh:3424
+ msgid "Initializing..."
+ msgstr "Iniciando..."
+ #: git-gui.sh:3541
+ #, tcl-format
+ msgid ""
+ "Possible environment issues exist.\n"
+ "\n"
+ "The following environment variables are probably\n"
+ "going to be ignored by any Git subprocess run\n"
+ "by %s:\n"
+ "\n"
+ msgstr ""
+ "Possíveis problemas com as variáveis de ambiente.\n"
+ "\n"
+ "As seguintes variáveis de ambiente provavelmente serão\n"
+ "ignoradas por qualquer sub-processo do Git executado por\n"
+ "%s:\n"
+ #: git-gui.sh:3570
+ msgid ""
+ "\n"
+ "This is due to a known issue with the\n"
+ "Tcl binary distributed by Cygwin."
+ msgstr ""
+ "\n"
+ "Isto se deve a um problema conhecido com os binários da Tcl \n"
+ "distribuídos com o Cygwin"
+ #: git-gui.sh:3575
+ #, tcl-format
+ msgid ""
+ "\n"
+ "\n"
+ "A good replacement for %s\n"
+ "is placing values for the user.name and\n"
+ "user.email settings into your personal\n"
+ "~/.gitconfig file.\n"
+ msgstr ""
+ "\n"
+ "\n"
+ "Uma boa alternativa para %s\n"
+ "é colocar os valores para o nome de usuário e e-mail\n"
+ "no seu arquivo \"~/.gitconfig\"\n"
+ #: lib/about.tcl:26
+ msgid "git-gui - a graphical user interface for Git."
+ msgstr "git-gui - uma interface gráfica para o Git"
+ #: lib/blame.tcl:72
+ msgid "File Viewer"
+ msgstr "Visualizador de arquivos"
+ #: lib/blame.tcl:78
+ msgid "Commit:"
+ msgstr "Revisão:"
+ #: lib/blame.tcl:271
+ msgid "Copy Commit"
+ msgstr "Copiar revisão"
+ #: lib/blame.tcl:275
+ msgid "Find Text..."
+ msgstr "Procurar texto..."
+ #: lib/blame.tcl:284
+ msgid "Do Full Copy Detection"
+ msgstr "Executar detecção completa de cópias"
+ #: lib/blame.tcl:288
+ msgid "Show History Context"
+ msgstr "Mostrar contexto do histórico"
+ #: lib/blame.tcl:291
+ msgid "Blame Parent Commit"
+ msgstr "Anotar revisão anterior"
+ #: lib/blame.tcl:450
+ #, tcl-format
+ msgid "Reading %s..."
+ msgstr "Lendo %s..."
+ #: lib/blame.tcl:557
+ msgid "Loading copy/move tracking annotations..."
+ msgstr "Carregando anotações de cópia/movimentação..."
+ #: lib/blame.tcl:577
+ msgid "lines annotated"
+ msgstr "linhas anotadas"
+ #: lib/blame.tcl:769
+ msgid "Loading original location annotations..."
+ msgstr "Carregando anotações originais..."
+ #: lib/blame.tcl:772
+ msgid "Annotation complete."
+ msgstr "Anotação completa."
+ #: lib/blame.tcl:802
+ msgid "Busy"
+ msgstr "Ocupado"
+ #: lib/blame.tcl:803
+ msgid "Annotation process is already running."
+ msgstr "O processo de anotação já está em execução"
+ #: lib/blame.tcl:842
+ msgid "Running thorough copy detection..."
+ msgstr "Executando detecção de cópia..."
+ #: lib/blame.tcl:910
+ msgid "Loading annotation..."
+ msgstr "Carregando anotações..."
+ #: lib/blame.tcl:963
+ msgid "Author:"
+ msgstr "Autor:"
+ #: lib/blame.tcl:967
+ msgid "Committer:"
+ msgstr "Revisor:"
+ #: lib/blame.tcl:972
+ msgid "Original File:"
+ msgstr "Arquivo original:"
+ #: lib/blame.tcl:1020
+ msgid "Cannot find HEAD commit:"
+ msgstr "Impossível encontrar revisão HEAD:"
+ #: lib/blame.tcl:1075
+ msgid "Cannot find parent commit:"
+ msgstr "Impossível encontrar revisão anterior:"
+ #: lib/blame.tcl:1090
+ msgid "Unable to display parent"
+ msgstr "Impossível exibir revisão anterior"
+ #: lib/blame.tcl:1091 lib/diff.tcl:320
+ msgid "Error loading diff:"
+ msgstr "Erro ao carregar as diferenças:"
+ #: lib/blame.tcl:1231
+ msgid "Originally By:"
+ msgstr "Originalmente por:"
+ #: lib/blame.tcl:1237
+ msgid "In File:"
+ msgstr "No arquivo:"
+ #: lib/blame.tcl:1242
+ msgid "Copied Or Moved Here By:"
+ msgstr "Copiado ou movido para cá por:"
+ #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19
+ msgid "Checkout Branch"
+ msgstr "Efetuar checkout do ramo"
+ #: lib/branch_checkout.tcl:23
+ msgid "Checkout"
+ msgstr "Checkout"
+ #: 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:579 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:108
+ msgid "Cancel"
+ msgstr "Cancelar"
+ #: lib/branch_checkout.tcl:32 lib/browser.tcl:287 lib/tools_dlg.tcl:328
+ msgid "Revision"
+ msgstr "Revisão"
+ #: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:280
+ msgid "Options"
+ msgstr "Opções"
+ #: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92
+ msgid "Fetch Tracking Branch"
+ msgstr "Obter ramo de rastreamento"
+ #: lib/branch_checkout.tcl:44
+ msgid "Detach From Local Branch"
+ msgstr "Separar do ramo local"
+ #: lib/branch_create.tcl:22
+ msgid "Create Branch"
+ msgstr "Criar ramo"
+ #: lib/branch_create.tcl:27
+ msgid "Create New Branch"
+ msgstr "Criar novo ramo"
+ #: lib/branch_create.tcl:31 lib/choose_repository.tcl:381
+ msgid "Create"
+ msgstr "Criar"
+ #: lib/branch_create.tcl:40
+ msgid "Branch Name"
+ msgstr "Nome do ramo"
+ #: lib/branch_create.tcl:43 lib/remote_add.tcl:39 lib/tools_dlg.tcl:50
+ msgid "Name:"
+ msgstr "Nome:"
+ #: lib/branch_create.tcl:58
+ msgid "Match Tracking Branch Name"
+ msgstr "Coincidir nome do ramo de rastreamento"
+ #: lib/branch_create.tcl:66
+ msgid "Starting Revision"
+ msgstr "Revisão inicial"
+ #: lib/branch_create.tcl:72
+ msgid "Update Existing Branch:"
+ msgstr "Atualizar ramo existente:"
+ #: lib/branch_create.tcl:75
+ msgid "No"
+ msgstr "Não"
+ #: lib/branch_create.tcl:80
+ msgid "Fast Forward Only"
+ msgstr "Somente se for um avanço rápido"
+ #: lib/branch_create.tcl:85 lib/checkout_op.tcl:571
+ msgid "Reset"
+ msgstr "Redefinir"
+ #: lib/branch_create.tcl:97
+ msgid "Checkout After Creation"
+ msgstr "Efetuar checkout após a criação"
+ #: lib/branch_create.tcl:131
+ msgid "Please select a tracking branch."
+ msgstr "Selecione um ramo de rastreamento."
+ #: lib/branch_create.tcl:140
+ #, tcl-format
+ msgid "Tracking branch %s is not a branch in the remote repository."
+ msgstr "O ramo de rastreamento %s não é um ramo do repositório remoto."
+ #: lib/branch_create.tcl:153 lib/branch_rename.tcl:86
+ msgid "Please supply a branch name."
+ msgstr "Indique um nome para o ramo."
+ #: lib/branch_create.tcl:164 lib/branch_rename.tcl:106
+ #, tcl-format
+ msgid "'%s' is not an acceptable branch name."
+ msgstr "\"%s\" não é um nome de ramo válido"
+ #: lib/branch_delete.tcl:15
+ msgid "Delete Branch"
+ msgstr "Apagar ramo"
+ #: lib/branch_delete.tcl:20
+ msgid "Delete Local Branch"
+ msgstr "Apagar ramo local"
+ #: lib/branch_delete.tcl:37
+ msgid "Local Branches"
+ msgstr "Ramos locais"
+ #: lib/branch_delete.tcl:52
+ msgid "Delete Only If Merged Into"
+ msgstr "Apagar somente se mesclado em"
+ #: lib/branch_delete.tcl:54 lib/remote_branch_delete.tcl:119
+ msgid "Always (Do not perform merge checks)"
+ msgstr "Forçar exclusão (não verificar se o ramo foi mesclado)"
+ #: lib/branch_delete.tcl:103
+ #, tcl-format
+ msgid "The following branches are not completely merged into %s:"
+ msgstr "Os ramos seguintes não foram completamente mesclados em %s:"
+ #: lib/branch_delete.tcl:115 lib/remote_branch_delete.tcl:217
+ msgid ""
+ "Recovering deleted branches is difficult.\n"
+ "\n"
+ "Delete the selected branches?"
+ msgstr ""
+ "Recuperar ramos apagados é difícil.\n"
+ "\n"
+ "Apagar os ramos selecionados?"
+ #: lib/branch_delete.tcl:141
+ #, tcl-format
+ msgid ""
+ "Failed to delete branches:\n"
+ "%s"
+ msgstr ""
+ "Erro ao apagar ramos:\n"
+ "%s"
+ #: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22
+ msgid "Rename Branch"
+ msgstr "Renomear ramo"
+ #: lib/branch_rename.tcl:26
+ msgid "Rename"
+ msgstr "Renomear"
+ #: lib/branch_rename.tcl:36
+ msgid "Branch:"
+ msgstr "Ramo:"
+ #: lib/branch_rename.tcl:39
+ msgid "New Name:"
+ msgstr "Novo nome:"
+ #: lib/branch_rename.tcl:75
+ msgid "Please select a branch to rename."
+ msgstr "Selecione um ramo para renomear."
+ #: lib/branch_rename.tcl:96 lib/checkout_op.tcl:202
+ #, tcl-format
+ msgid "Branch '%s' already exists."
+ msgstr "O ramo \"%s\" já existe."
+ #: lib/branch_rename.tcl:117
+ #, tcl-format
+ msgid "Failed to rename '%s'."
+ msgstr "Erro ao renomear \"%s\"."
+ #: lib/browser.tcl:17
+ msgid "Starting..."
+ msgstr "Inciando..."
+ #: lib/browser.tcl:26
+ msgid "File Browser"
+ msgstr "Navegador de arquivos"
+ #: lib/browser.tcl:126 lib/browser.tcl:143
+ #, tcl-format
+ msgid "Loading %s..."
+ msgstr "Carregando %s..."
+ #: lib/browser.tcl:187
+ msgid "[Up To Parent]"
+ msgstr "[Subir]"
+ #: lib/browser.tcl:267 lib/browser.tcl:273
+ msgid "Browse Branch Files"
+ msgstr "Explorar arquivos do ramo"
+ #: lib/browser.tcl:278 lib/choose_repository.tcl:398
+ #: lib/choose_repository.tcl:486 lib/choose_repository.tcl:497
+ #: lib/choose_repository.tcl:1028
+ msgid "Browse"
+ msgstr "Explorar"
+ #: lib/checkout_op.tcl:85
+ #, tcl-format
+ msgid "Fetching %s from %s"
+ msgstr "Obtendo %s de %s"
+ #: lib/checkout_op.tcl:133
+ #, tcl-format
+ msgid "fatal: Cannot resolve %s"
+ msgstr "Erro fatal: impossível resolver %s"
+ #: lib/checkout_op.tcl:146 lib/console.tcl:81 lib/database.tcl:31
+ #: lib/sshkey.tcl:53
+ msgid "Close"
+ msgstr "Fechar"
+ #: lib/checkout_op.tcl:175
+ #, tcl-format
+ msgid "Branch '%s' does not exist."
+ msgstr "O ramo \"%s\" não existe."
+ #: lib/checkout_op.tcl:194
+ #, tcl-format
+ msgid "Failed to configure simplified git-pull for '%s'."
+ msgstr "Erro ao configurar git-pull simplificado para \"%s\"."
+ #: lib/checkout_op.tcl:229
+ #, tcl-format
+ msgid ""
+ "Branch '%s' already exists.\n"
+ "\n"
+ "It cannot fast-forward to %s.\n"
+ "A merge is required."
+ msgstr ""
+ "O ramo \"%s\" já existe.\n"
+ "\n"
+ "Não é possível avançá-lo para %s.\n"
+ "É preciso mesclar."
+ #: lib/checkout_op.tcl:243
+ #, tcl-format
+ msgid "Merge strategy '%s' not supported."
+ msgstr "Estratégia de mesclagem \"%s\" não suportada."
+ #: lib/checkout_op.tcl:262
+ #, tcl-format
+ msgid "Failed to update '%s'."
+ msgstr "Erro ao atualizar \"%s\"."
+ #: lib/checkout_op.tcl:274
+ msgid "Staging area (index) is already locked."
+ msgstr "A área de marcação (staging area, index) já está bloqueada."
+ #: lib/checkout_op.tcl:289
+ msgid ""
+ "Last scanned state does not match repository state.\n"
+ "\n"
+ "Another Git program has modified this repository since the last scan.  A "
+ "rescan must be performed before the current branch can be changed.\n"
+ "\n"
+ "The rescan will be automatically started now.\n"
+ msgstr ""
+ "O último estado lido não confere com o estado atual.\n"
+ "\n"
+ "Outro programa do Git modificou o repositório desde a última leitura. Uma "
+ "atualização deve ser executada antes de alterar o ramo atual.\n"
+ "\n"
+ "A atualização começará automaticamente agora.\n"
+ #: lib/checkout_op.tcl:345
+ #, tcl-format
+ msgid "Updating working directory to '%s'..."
+ msgstr "Atualizando diretório de trabalho para \"%s\"..."
+ #: lib/checkout_op.tcl:346
+ msgid "files checked out"
+ msgstr "arquivos retirados"
+ #: lib/checkout_op.tcl:376
+ #, tcl-format
+ msgid "Aborted checkout of '%s' (file level merging is required)."
+ msgstr "Checkout de \"%s\" abortado (é preciso mesclar alguns arquivos)"
+ #: lib/checkout_op.tcl:377
+ msgid "File level merge required."
+ msgstr "Mesclagem de arquivos necessária."
+ #: lib/checkout_op.tcl:381
+ #, tcl-format
+ msgid "Staying on branch '%s'."
+ msgstr "Permanecendo no ramo \"%s\"."
+ #: lib/checkout_op.tcl:452
+ msgid ""
+ "You are no longer on a local branch.\n"
+ "\n"
+ "If you wanted to be on a branch, create one now starting from 'This Detached "
+ "Checkout'."
+ msgstr ""
+ "Você não está mais em um ramo local\n"
+ "\n"
+ "Se você deseja um ramo, crie um agora a partir deste checkout."
+ #: lib/checkout_op.tcl:503 lib/checkout_op.tcl:507
+ #, tcl-format
+ msgid "Checked out '%s'."
+ msgstr "Checkout de \"%s\" concluído."
+ #: lib/checkout_op.tcl:535
+ #, tcl-format
+ msgid "Resetting '%s' to '%s' will lose the following commits:"
+ msgstr "Redefinir \"%s\" para \"%s\" provocará a perda das seguintes revisões:"
+ #: lib/checkout_op.tcl:557
+ msgid "Recovering lost commits may not be easy."
+ msgstr "Recuperar revisões perdidas pode não ser fácil."
+ #: lib/checkout_op.tcl:562
+ #, tcl-format
+ msgid "Reset '%s'?"
+ msgstr "Redefinir \"%s\"?"
+ #: lib/checkout_op.tcl:567 lib/merge.tcl:164 lib/tools_dlg.tcl:343
+ msgid "Visualize"
+ msgstr "Visualizar"
+ #: lib/checkout_op.tcl:635
+ #, tcl-format
+ msgid ""
+ "Failed to set current branch.\n"
+ "\n"
+ "This working directory is only partially switched.  We successfully updated "
+ "your files, but failed to update an internal Git file.\n"
+ "\n"
+ "This should not have occurred.  %s will now close and give up."
+ msgstr ""
+ "Erro ao definir o ramo atual.\n"
+ "\n"
+ "Este diretório de trabalho está incompleto. Foi possível atualizar seus "
+ "arquivos, mas houve uma falha ao atualizar os arquivos internos do Git.\n"
+ "\n"
+ "Isto não deveria ter acontecido, %s terminará agora."
+ #: lib/choose_font.tcl:39
+ msgid "Select"
+ msgstr "Selecionar"
+ #: lib/choose_font.tcl:53
+ msgid "Font Family"
+ msgstr "Tipo da fonte"
+ #: lib/choose_font.tcl:74
+ msgid "Font Size"
+ msgstr "Tamanho da fonte"
+ #: lib/choose_font.tcl:91
+ msgid "Font Example"
+ msgstr "Exemplo"
+ #: lib/choose_font.tcl:103
+ msgid ""
+ "This is example text.\n"
+ "If you like this text, it can be your font."
+ msgstr ""
+ "Este é um texto de exemplo.\n"
+ "Se você gostar deste texto, esta pode ser sua fonte."
+ #: lib/choose_repository.tcl:28
+ msgid "Git Gui"
+ msgstr "Git Gui"
+ #: lib/choose_repository.tcl:87 lib/choose_repository.tcl:386
+ msgid "Create New Repository"
+ msgstr "Criar novo repositório"
+ #: lib/choose_repository.tcl:93
+ msgid "New..."
+ msgstr "Novo..."
+ #: lib/choose_repository.tcl:100 lib/choose_repository.tcl:471
+ msgid "Clone Existing Repository"
+ msgstr "Clonar repositório existente"
+ #: lib/choose_repository.tcl:106
+ msgid "Clone..."
+ msgstr "Clonar..."
+ #: lib/choose_repository.tcl:113 lib/choose_repository.tcl:1016
+ msgid "Open Existing Repository"
+ msgstr "Abrir repositório existente"
+ #: lib/choose_repository.tcl:119
+ msgid "Open..."
+ msgstr "Abrir..."
+ #: lib/choose_repository.tcl:132
+ msgid "Recent Repositories"
+ msgstr "Repositórios recentes"
+ #: lib/choose_repository.tcl:138
+ msgid "Open Recent Repository:"
+ msgstr "Abrir repositório recente:"
+ #: lib/choose_repository.tcl:306 lib/choose_repository.tcl:313
+ #: lib/choose_repository.tcl:320
+ #, tcl-format
+ msgid "Failed to create repository %s:"
+ msgstr "Erro ao criar repositório %s:"
+ #: lib/choose_repository.tcl:391
+ msgid "Directory:"
+ msgstr "Diretório:"
+ #: lib/choose_repository.tcl:423 lib/choose_repository.tcl:550
+ #: lib/choose_repository.tcl:1052
+ msgid "Git Repository"
+ msgstr "Repositório Git"
+ #: lib/choose_repository.tcl:448
+ #, tcl-format
+ msgid "Directory %s already exists."
+ msgstr "O diretório %s já existe."
+ #: lib/choose_repository.tcl:452
+ #, tcl-format
+ msgid "File %s already exists."
+ msgstr "O arquivo %s já existe."
+ #: lib/choose_repository.tcl:466
+ msgid "Clone"
+ msgstr "Clonar"
+ #: lib/choose_repository.tcl:479
+ msgid "Source Location:"
+ msgstr "Origem:"
+ #: lib/choose_repository.tcl:490
+ msgid "Target Directory:"
+ msgstr "Diretório de destino:"
+ #: lib/choose_repository.tcl:502
+ msgid "Clone Type:"
+ msgstr "Tipo de clonagem:"
+ #: lib/choose_repository.tcl:508
+ msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
+ msgstr "Padrão (rápida, semi-redundante, com hardlinks)"
+ #: lib/choose_repository.tcl:514
+ msgid "Full Copy (Slower, Redundant Backup)"
+ msgstr "Cópia completa (mais lenta, backup redundante)"
+ #: lib/choose_repository.tcl:520
+ msgid "Shared (Fastest, Not Recommended, No Backup)"
+ msgstr "Compartilhada (A mais rápida, não recomendada, sem backup)"
+ #: lib/choose_repository.tcl:556 lib/choose_repository.tcl:603
+ #: lib/choose_repository.tcl:749 lib/choose_repository.tcl:819
+ #: lib/choose_repository.tcl:1058 lib/choose_repository.tcl:1066
+ #, tcl-format
+ msgid "Not a Git repository: %s"
+ msgstr "Este não é um repositório do Git: %s"
+ #: lib/choose_repository.tcl:592
+ msgid "Standard only available for local repository."
+ msgstr "Clonagens padrões só são possíveis em repositórios locais."
+ #: lib/choose_repository.tcl:596
+ msgid "Shared only available for local repository."
+ msgstr "Clonagens parciais só são possíveis em repositórios locais."
+ #: lib/choose_repository.tcl:617
+ #, tcl-format
+ msgid "Location %s already exists."
+ msgstr "O local %s já existe."
+ #: lib/choose_repository.tcl:628
+ msgid "Failed to configure origin"
+ msgstr "Erro ao configurar origem"
+ #: lib/choose_repository.tcl:640
+ msgid "Counting objects"
+ msgstr "Contando objetos"
+ #: lib/choose_repository.tcl:641
+ msgid "buckets"
+ msgstr "buckets"
+ #: lib/choose_repository.tcl:665
+ #, tcl-format
+ msgid "Unable to copy objects/info/alternates: %s"
+ msgstr "Erro ao copiar objetos ou informações adicionais: %s"
+ #: lib/choose_repository.tcl:701
+ #, tcl-format
+ msgid "Nothing to clone from %s."
+ msgstr "Não há nada para clonar em %s."
+ #: lib/choose_repository.tcl:703 lib/choose_repository.tcl:917
+ #: lib/choose_repository.tcl:929
+ msgid "The 'master' branch has not been initialized."
+ msgstr "O ramo \"master\" não foi inicializado."
+ #: lib/choose_repository.tcl:716
+ msgid "Hardlinks are unavailable.  Falling back to copying."
+ msgstr "Não foi possível criar hardlinks, usando cópias convencionais."
+ #: lib/choose_repository.tcl:728
+ #, tcl-format
+ msgid "Cloning from %s"
+ msgstr "Clonando de %s"
+ #: lib/choose_repository.tcl:759
+ msgid "Copying objects"
+ msgstr "Copiando objetos"
+ #: lib/choose_repository.tcl:760
+ msgid "KiB"
+ msgstr "KiB"
+ #: lib/choose_repository.tcl:784
+ #, tcl-format
+ msgid "Unable to copy object: %s"
+ msgstr "Não foi possível copiar o objeto: %s"
+ #: lib/choose_repository.tcl:794
+ msgid "Linking objects"
+ msgstr "Ligando objetos"
+ #: lib/choose_repository.tcl:795
+ msgid "objects"
+ msgstr "objetos"
+ #: lib/choose_repository.tcl:803
+ #, tcl-format
+ msgid "Unable to hardlink object: %s"
+ msgstr "Não foi possível ligar o objeto: %s"
+ #: lib/choose_repository.tcl:858
+ msgid "Cannot fetch branches and objects.  See console output for details."
+ msgstr ""
+ "Não foi possível receber ramos ou objetos. Veja a saída do console para "
+ "detalhes."
+ #: lib/choose_repository.tcl:869
+ msgid "Cannot fetch tags.  See console output for details."
+ msgstr ""
+ "Não foi possível receber as etiquetas. Veja a saída do console para detalhes."
+ #: lib/choose_repository.tcl:893
+ msgid "Cannot determine HEAD.  See console output for details."
+ msgstr ""
+ "Não foi possível determinar a etiqueta HEAD. Veja a saída do console para "
+ "detalhes."
+ #: lib/choose_repository.tcl:902
+ #, tcl-format
+ msgid "Unable to cleanup %s"
+ msgstr "Não foi possível limpar %s"
+ #: lib/choose_repository.tcl:908
+ msgid "Clone failed."
+ msgstr "A clonagem falhou."
+ #: lib/choose_repository.tcl:915
+ msgid "No default branch obtained."
+ msgstr "O ramo padrão não foi recebido."
+ #: lib/choose_repository.tcl:926
+ #, tcl-format
+ msgid "Cannot resolve %s as a commit."
+ msgstr "Não foi possível resolver %s como uma revisão."
+ #: lib/choose_repository.tcl:938
+ msgid "Creating working directory"
+ msgstr "Criando diretório de trabalho."
+ #: lib/choose_repository.tcl:939 lib/index.tcl:67 lib/index.tcl:130
+ #: lib/index.tcl:198
+ msgid "files"
+ msgstr "arquivos"
+ #: lib/choose_repository.tcl:968
+ msgid "Initial file checkout failed."
+ msgstr "Erro ao efetuar checkout inicial."
+ #: lib/choose_repository.tcl:1011
+ msgid "Open"
+ msgstr "Abrir"
+ #: lib/choose_repository.tcl:1021
+ msgid "Repository:"
+ msgstr "Repositório:"
+ #: lib/choose_repository.tcl:1072
+ #, tcl-format
+ msgid "Failed to open repository %s:"
+ msgstr "Erro ao abrir o repositório %s:"
+ #: lib/choose_rev.tcl:53
+ msgid "This Detached Checkout"
+ msgstr "Este checkout"
+ #: lib/choose_rev.tcl:60
+ msgid "Revision Expression:"
+ msgstr "Expressão de revisão:"
+ #: lib/choose_rev.tcl:74
+ msgid "Local Branch"
+ msgstr "Ramo local"
+ #: lib/choose_rev.tcl:79
+ msgid "Tracking Branch"
+ msgstr "Ramo de rastreamento"
+ #: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538
+ msgid "Tag"
+ msgstr "Etiqueta"
+ #: lib/choose_rev.tcl:317
+ #, tcl-format
+ msgid "Invalid revision: %s"
+ msgstr "Revisão inválida: %s"
+ #: lib/choose_rev.tcl:338
+ msgid "No revision selected."
+ msgstr "Nenhuma revisão selecionada."
+ #: lib/choose_rev.tcl:346
+ msgid "Revision expression is empty."
+ msgstr "A expressão de revisão está vazia."
+ #: lib/choose_rev.tcl:531
+ msgid "Updated"
+ msgstr "Atualizado"
+ #: lib/choose_rev.tcl:559
+ msgid "URL"
+ msgstr "URL"
+ #: lib/commit.tcl:9
+ msgid ""
+ "There is nothing to amend.\n"
+ "\n"
+ "You are about to create the initial commit.  There is no commit before this "
+ "to amend.\n"
+ msgstr ""
+ "Não há nada para corrigir.\n"
+ "\n"
+ "Você está prestes a criar uma revisão inicial. Não há revisão anterior para "
+ "corrigir.\n"
+ #: lib/commit.tcl:18
+ msgid ""
+ "Cannot amend while merging.\n"
+ "\n"
+ "You are currently in the middle of a merge that has not been fully "
+ "completed.  You cannot amend the prior commit unless you first abort the "
+ "current merge activity.\n"
+ msgstr ""
+ "Não é possível corrigir durante uma mesclagem.\n"
+ "\n"
+ "Você está em meio a uma operação de mesclagem que não foi completada. Não é "
+ "possível corrigir a revisão anterior a menos que você aborte a mescla atual "
+ "antes.\n"
+ #: lib/commit.tcl:48
+ msgid "Error loading commit data for amend:"
+ msgstr "Erro ao carregar dados da revisão para corrigir:"
+ #: lib/commit.tcl:75
+ msgid "Unable to obtain your identity:"
+ msgstr "Não foi possível obter a sua identidade:"
+ #: lib/commit.tcl:80
+ msgid "Invalid GIT_COMMITTER_IDENT:"
+ msgstr "Variável \"GIT_COMMITTER_IDENT\" inválida:"
+ #: lib/commit.tcl:129
+ #, tcl-format
+ msgid "warning: Tcl does not support encoding '%s'."
+ msgstr "aviso: O Tcl não suporta a codificação \"%s\"."
+ #: lib/commit.tcl:149
+ msgid ""
+ "Last scanned state does not match repository state.\n"
+ "\n"
+ "Another Git program has modified this repository since the last scan.  A "
+ "rescan must be performed before another commit can be created.\n"
+ "\n"
+ "The rescan will be automatically started now.\n"
+ msgstr ""
+ "O último estado lido não confere com o estado atual.\n"
+ "\n"
+ "Outro programa do Git modificou o repositório desde a última leitura. Uma "
+ "atualização deve ser executada antes de criar outra revisão.\n"
+ "\n"
+ "A atualização começará automaticamente agora.\n"
+ #: lib/commit.tcl:172
+ #, tcl-format
+ msgid ""
+ "Unmerged files cannot be committed.\n"
+ "\n"
+ "File %s has merge conflicts.  You must resolve them and stage the file "
+ "before committing.\n"
+ msgstr ""
+ "Não é possível salvar revisões para arquivos não mesclados.\n"
+ "\n"
+ "O arquivo %s possui conflitos de mesclagem. Você deve resolvê-los e marcar o "
+ "arquivo antes de salvar a revisão.\n"
+ #: lib/commit.tcl:180
+ #, tcl-format
+ msgid ""
+ "Unknown file state %s detected.\n"
+ "\n"
+ "File %s cannot be committed by this program.\n"
+ msgstr ""
+ "Estado desconhecido detectado para o arquivo %s.\n"
+ "\n"
+ "Este programa não pode salvar uma revisão para o arquivo %s.\n"
+ #: lib/commit.tcl:188
+ msgid ""
+ "No changes to commit.\n"
+ "\n"
+ "You must stage at least 1 file before you can commit.\n"
+ msgstr ""
+ "Não há mudanças para salvar.\n"
+ "\n"
+ "Você deve marcar ao menos um arquivo antes de salvar a revisão.\n"
+ #: lib/commit.tcl:203
+ msgid ""
+ "Please supply a commit message.\n"
+ "\n"
+ "A good commit message has the following format:\n"
+ "\n"
+ "- First line: Describe in one sentence what you did.\n"
+ "- Second line: Blank\n"
+ "- Remaining lines: Describe why this change is good.\n"
+ msgstr ""
+ "Por favor, indique uma descrição para a revisão.\n"
+ "\n"
+ "Uma boa descrição tem o seguinte formato:\n"
+ "\n"
+ "- Primeira linha: descreve, em uma única frase, o que você fez.\n"
+ "- Segunda linha: em branco.\n"
+ "- Demais linhas: Descreve detalhadamente a revisão.\n"
+ #: lib/commit.tcl:234
+ msgid "Calling pre-commit hook..."
+ msgstr "Executando script \"pre-commit\"..."
+ #: lib/commit.tcl:249
+ msgid "Commit declined by pre-commit hook."
+ msgstr "A revisão foi bloqueada pelo script \"pre-commit\"."
+ #: lib/commit.tcl:272
+ msgid "Calling commit-msg hook..."
+ msgstr "Executando script \"commit-msg\"..."
+ #: lib/commit.tcl:287
+ msgid "Commit declined by commit-msg hook."
+ msgstr "Revisão bloqueada pelo script \"commit-msg\"."
+ #: lib/commit.tcl:300
+ msgid "Committing changes..."
+ msgstr "Salvando revisão..."
+ #: lib/commit.tcl:316
+ msgid "write-tree failed:"
+ msgstr "write-tree falhou:"
+ #: lib/commit.tcl:317 lib/commit.tcl:361 lib/commit.tcl:382
+ msgid "Commit failed."
+ msgstr "A revisão falhou."
+ #: lib/commit.tcl:334
+ #, tcl-format
+ msgid "Commit %s appears to be corrupt"
+ msgstr "A revisão %s parece estar corrompida."
+ #: lib/commit.tcl:339
+ msgid ""
+ "No changes to commit.\n"
+ "\n"
+ "No files were modified by this commit and it was not a merge commit.\n"
+ "\n"
+ "A rescan will be automatically started now.\n"
+ msgstr ""
+ "Não há alterações para salvar.\n"
+ "\n"
+ "Nenhum arquivo foi modificado e esta não é uma revisão de mesclagem.\n"
+ "\n"
+ "Uma atualização será executada automaticamente agora.\n"
+ #: lib/commit.tcl:346
+ msgid "No changes to commit."
+ msgstr "Não há alterações para salvar."
+ #: lib/commit.tcl:360
+ msgid "commit-tree failed:"
+ msgstr "commit-tree falhou:"
+ #: lib/commit.tcl:381
+ msgid "update-ref failed:"
+ msgstr "update-ref falhou:"
+ #: lib/commit.tcl:469
+ #, tcl-format
+ msgid "Created commit %s: %s"
+ msgstr "Revisão %s criada: %s"
+ #: lib/console.tcl:59
+ msgid "Working... please wait..."
+ msgstr "Trabalhando... aguarde..."
+ #: lib/console.tcl:186
+ msgid "Success"
+ msgstr "Sucesso"
+ #: lib/console.tcl:200
+ msgid "Error: Command Failed"
+ msgstr "Erro: o comando falhou"
+ #: lib/database.tcl:43
+ msgid "Number of loose objects"
+ msgstr "Número de objetos soltos"
+ #: lib/database.tcl:44
+ msgid "Disk space used by loose objects"
+ msgstr "Espaço ocupado pelos objetos soltos"
+ #: lib/database.tcl:45
+ msgid "Number of packed objects"
+ msgstr "Número de objetos compactados"
+ #: lib/database.tcl:46
+ msgid "Number of packs"
+ msgstr "Número de pacotes"
+ #: lib/database.tcl:47
+ msgid "Disk space used by packed objects"
+ msgstr "Espaço ocupado pelos objetos compactados"
+ #: lib/database.tcl:48
+ msgid "Packed objects waiting for pruning"
+ msgstr "Objetos compactados aguardando eliminação"
+ #: lib/database.tcl:49
+ msgid "Garbage files"
+ msgstr "Arquivos de lixo"
+ #: lib/database.tcl:72
+ msgid "Compressing the object database"
+ msgstr "Compactando banco de dados de objetos"
+ #: lib/database.tcl:83
+ msgid "Verifying the object database with fsck-objects"
+ msgstr "Verificando banco de dados de objetos com fsck-objects"
+ #: lib/database.tcl:107
+ #, tcl-format
+ msgid ""
+ "This repository currently has approximately %i loose objects.\n"
+ "\n"
+ "To maintain optimal performance it is strongly recommended that you compress "
+ "the database.\n"
+ "\n"
+ "Compress the database now?"
+ msgstr ""
+ "Este repositório possui aproximadamente %i objetos soltos.\n"
+ "\n"
+ "Para manter o desempenho ótimo é altamente recomendado que você compacte o "
+ "banco de dados.\n"
+ "\n"
+ "Compactar o banco de dados agora?"
+ #: lib/date.tcl:25
+ #, tcl-format
+ msgid "Invalid date from Git: %s"
+ msgstr "Data inválida recebida do Git: %s"
+ #: lib/diff.tcl:64
+ #, tcl-format
+ msgid ""
+ "No differences detected.\n"
+ "\n"
+ "%s has no changes.\n"
+ "\n"
+ "The modification date of this file was updated by another application, but "
+ "the content within the file was not changed.\n"
+ "\n"
+ "A rescan will be automatically started to find other files which may have "
+ "the same state."
+ msgstr ""
+ "Nenhuma diferença foi detectada.\n"
+ "\n"
+ "%s não possui mudanças.\n"
+ "\n"
+ "A data de modificação deste arquivo foi atualizada por outro aplicativo, mas "
+ "o conteúdo do arquivo não foi alterado.\n"
+ "\n"
+ "Uma atualização ser executada para encontrar outros arquivos que possam ter "
+ "o mesmo estado."
+ #: lib/diff.tcl:104
+ #, tcl-format
+ msgid "Loading diff of %s..."
+ msgstr "Carregando diferenças de %s..."
+ #: lib/diff.tcl:125
+ msgid ""
+ "LOCAL: deleted\n"
+ "REMOTE:\n"
+ msgstr ""
+ "Local: apagado\n"
+ "Remoto:\n"
+ #: lib/diff.tcl:130
+ msgid ""
+ "REMOTE: deleted\n"
+ "LOCAL:\n"
+ msgstr ""
+ "Remoto: apagado\n"
+ "Local:\n"
+ #: lib/diff.tcl:137
+ msgid "LOCAL:\n"
+ msgstr "Local:\n"
+ #: lib/diff.tcl:140
+ msgid "REMOTE:\n"
+ msgstr "Remoto:\n"
+ #: lib/diff.tcl:202 lib/diff.tcl:319
+ #, tcl-format
+ msgid "Unable to display %s"
+ msgstr "Impossível exibir %s"
+ #: lib/diff.tcl:203
+ msgid "Error loading file:"
+ msgstr "Erro ao carregar o arquivo:"
+ #: lib/diff.tcl:210
+ msgid "Git Repository (subproject)"
+ msgstr "Repositório Git (sub-projeto)"
+ #: lib/diff.tcl:222
+ msgid "* Binary file (not showing content)."
+ msgstr "* Arquivo binário (conteúdo não exibido)."
+ #: lib/diff.tcl:227
+ #, tcl-format
+ msgid ""
+ "* Untracked file is %d bytes.\n"
+ "* Showing only first %d bytes.\n"
+ msgstr ""
+ "* O arquivo não rastreado possui %d bytes.\n"
+ "* Exibindo apenas os primeiros %d bytes.\n"
+ #: lib/diff.tcl:233
+ #, tcl-format
+ msgid ""
+ "\n"
+ "* Untracked file clipped here by %s.\n"
+ "* To see the entire file, use an external editor.\n"
+ msgstr ""
+ "\n"
+ "* O arquivo não rastreado foi cortado aqui por %s.\n"
+ "* Para ver o arquivo completo, use um editor externo.\n"
+ #: lib/diff.tcl:482
+ msgid "Failed to unstage selected hunk."
+ msgstr "Erro ao desmarcar o trecho selecionado."
+ #: lib/diff.tcl:489
+ msgid "Failed to stage selected hunk."
+ msgstr "Erro ao marcar o trecho selecionado."
+ #: lib/diff.tcl:568
+ msgid "Failed to unstage selected line."
+ msgstr "Erro ao desmarcar a linha selecionada."
+ #: lib/diff.tcl:576
+ msgid "Failed to stage selected line."
+ msgstr "Erro ao marcar a linha selecionada."
+ #: lib/encoding.tcl:443
+ msgid "Default"
+ msgstr "Padrão"
+ #: lib/encoding.tcl:448
+ #, tcl-format
+ msgid "System (%s)"
+ msgstr "Sistema (%s)"
+ #: lib/encoding.tcl:459 lib/encoding.tcl:465
+ msgid "Other"
+ msgstr "Outro"
+ #: lib/error.tcl:20 lib/error.tcl:114
+ msgid "error"
+ msgstr "Erro"
+ #: lib/error.tcl:36
+ msgid "warning"
+ msgstr "aviso"
+ #: lib/error.tcl:94
+ msgid "You must correct the above errors before committing."
+ msgstr "Você precisa corrigir os erros acima antes de salvar a revisão."
+ #: lib/index.tcl:6
+ msgid "Unable to unlock the index."
+ msgstr "Impossível desbloquear o índice."
+ #: lib/index.tcl:15
+ msgid "Index Error"
+ msgstr "Erro no índice"
+ #: lib/index.tcl:17
+ msgid ""
+ "Updating the Git index failed.  A rescan will be automatically started to "
+ "resynchronize git-gui."
+ msgstr ""
+ "A atualização do índice do Git falhou. Uma atualização será executada "
+ "automaticamente para ressincronizar o Git GUI"
+ #: lib/index.tcl:28
+ msgid "Continue"
+ msgstr "Continuar"
+ #: lib/index.tcl:31
+ msgid "Unlock Index"
+ msgstr "Desbloquear índice"
+ #: lib/index.tcl:289
+ #, tcl-format
+ msgid "Unstaging %s from commit"
+ msgstr "Desmarcando %s para revisão"
+ #: lib/index.tcl:328
+ msgid "Ready to commit."
+ msgstr "Pronto para salvar a revisão."
+ #: lib/index.tcl:341
+ #, tcl-format
+ msgid "Adding %s"
+ msgstr "Adicionando %s"
+ #: lib/index.tcl:398
+ #, tcl-format
+ msgid "Revert changes in file %s?"
+ msgstr "Reverter as alterações no arquivo %s?"
+ #: lib/index.tcl:400
+ #, tcl-format
+ msgid "Revert changes in these %i files?"
+ msgstr "Reverter as alterações nestes %i arquivos?"
+ #: lib/index.tcl:408
+ msgid "Any unstaged changes will be permanently lost by the revert."
+ msgstr ""
+ "Qualquer alteração não marcada será permanentemente perdida na reversão."
+ #: lib/index.tcl:411
+ msgid "Do Nothing"
+ msgstr "Não fazer nada"
+ #: lib/index.tcl:429
+ msgid "Reverting selected files"
+ msgstr "Revertendo os arquivos selecionados"
+ #: lib/index.tcl:433
+ #, tcl-format
+ msgid "Reverting %s"
+ msgstr "Revertendo %s"
+ #: lib/merge.tcl:13
+ msgid ""
+ "Cannot merge while amending.\n"
+ "\n"
+ "You must finish amending this commit before starting any type of merge.\n"
+ msgstr ""
+ "Não é possível mesclar durante uma correção.\n"
+ "\n"
+ "Você deve concluir a correção antes de começar qualquer mesclagem.\n"
+ #: lib/merge.tcl:27
+ msgid ""
+ "Last scanned state does not match repository state.\n"
+ "\n"
+ "Another Git program has modified this repository since the last scan.  A "
+ "rescan must be performed before a merge can be performed.\n"
+ "\n"
+ "The rescan will be automatically started now.\n"
+ msgstr ""
+ "O último estado lido não confere com o estado atual.\n"
+ "\n"
+ "Outro programa do Git modificou o repositório desde a última leitura. Uma "
+ "atualização deve ser executada antes de efetuar uma mesclagem.\n"
+ "\n"
+ "A atualização começará automaticamente agora.\n"
+ #: lib/merge.tcl:45
+ #, tcl-format
+ msgid ""
+ "You are in the middle of a conflicted merge.\n"
+ "\n"
+ "File %s has merge conflicts.\n"
+ "\n"
+ "You must resolve them, stage the file, and commit to complete the current "
+ "merge.  Only then can you begin another merge.\n"
+ msgstr ""
+ "Há uma mesclagem com conflitos em progresso.\n"
+ "\n"
+ "O arquivo %s possui conflitos de mesclagem.\n"
+ "\n"
+ "Você deve resolvê-los, marcar o arquivo e salvar a revisão para completar a "
+ "mesclagem atual. Só então você poderá começar outra.\n"
+ #: lib/merge.tcl:55
+ #, tcl-format
+ msgid ""
+ "You are in the middle of a change.\n"
+ "\n"
+ "File %s is modified.\n"
+ "\n"
+ "You should complete the current commit before starting a merge.  Doing so "
+ "will help you abort a failed merge, should the need arise.\n"
+ msgstr ""
+ "Você está em meio a uma mudança.\n"
+ "\n"
+ "O arquivo %s foi modificado.\n"
+ "\n"
+ "Você deve completar e salvar a revisão atual antes de começar uma mesclagem. "
+ "Ao fazê-lo, você poderá abortar a mesclagem caso haja algum erro.\n"
+ #: lib/merge.tcl:107
+ #, tcl-format
+ msgid "%s of %s"
+ msgstr "%s de %s"
+ #: lib/merge.tcl:120
+ #, tcl-format
+ msgid "Merging %s and %s..."
+ msgstr "Mesclando %s e %s..."
+ #: lib/merge.tcl:131
+ msgid "Merge completed successfully."
+ msgstr "Mesclagem completada com sucesso."
+ #: lib/merge.tcl:133
+ msgid "Merge failed.  Conflict resolution is required."
+ msgstr "A mesclagem falhou. É necessário resolver conflitos."
+ #: lib/merge.tcl:158
+ #, tcl-format
+ msgid "Merge Into %s"
+ msgstr "Mesclar em %s"
+ #: lib/merge.tcl:177
+ msgid "Revision To Merge"
+ msgstr "Revisão para mesclar"
+ #: lib/merge.tcl:212
+ msgid ""
+ "Cannot abort while amending.\n"
+ "\n"
+ "You must finish amending this commit.\n"
+ msgstr ""
+ "Não é possível abortar durante uma correção.\n"
+ "\n"
+ "Você precisa finalizar a correção desta revisão.\n"
+ #: lib/merge.tcl:222
+ msgid ""
+ "Abort merge?\n"
+ "\n"
+ "Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n"
+ "\n"
+ "Continue with aborting the current merge?"
+ msgstr ""
+ "Abortar mesclagem?\n"
+ "\n"
+ "Abortar a mesclagem atual implicará na perda de *TODAS* as mudanças não "
+ "salvas.\n"
+ "\n"
+ "Abortar a mesclagem atual?"
+ #: lib/merge.tcl:228
+ msgid ""
+ "Reset changes?\n"
+ "\n"
+ "Resetting the changes will cause *ALL* uncommitted changes to be lost.\n"
+ "\n"
+ "Continue with resetting the current changes?"
+ msgstr ""
+ "Descartar as mudanças?\n"
+ "\n"
+ "Ao fazê-lo, *TODAS* as alterações não salvas serão perdidas.\n"
+ "\n"
+ "Continuar e descartar as mudanças atuais?"
+ #: lib/merge.tcl:239
+ msgid "Aborting"
+ msgstr "Abortando"
+ #: lib/merge.tcl:239
+ msgid "files reset"
+ msgstr "arquivos redefindos"
+ #: lib/merge.tcl:267
+ msgid "Abort failed."
+ msgstr "A tentativa de abortar a operação falhou"
+ #: lib/merge.tcl:269
+ msgid "Abort completed.  Ready."
+ msgstr "Operação abortada com sucesso. Pronto."
+ #: lib/mergetool.tcl:8
+ msgid "Force resolution to the base version?"
+ msgstr "Forçar a resolução para a versão base?"
+ #: lib/mergetool.tcl:9
+ msgid "Force resolution to this branch?"
+ msgstr "Forçar resolução para este ramo?"
+ #: lib/mergetool.tcl:10
+ msgid "Force resolution to the other branch?"
+ msgstr "Forçar resolução para o outro ramo?"
+ #: 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 ""
+ "Note que o diff mostra apenas as mudanças conflitantes.\n"
+ "\n"
+ "%s será sobrescrito.\n"
+ "\n"
+ "Caso necessário, será preciso reiniciar a mesclagem para desfazer esta "
+ "operação."
+ #: lib/mergetool.tcl:45
+ #, tcl-format
+ msgid "File %s seems to have unresolved conflicts, still stage?"
+ msgstr "O arquivo %s parece ter conflitos não resolvidos. Marcar mesmo assim?"
+ #: lib/mergetool.tcl:60
+ #, tcl-format
+ msgid "Adding resolution for %s"
+ msgstr "Adicionando resolução para %s"
+ #: lib/mergetool.tcl:141
+ msgid "Cannot resolve deletion or link conflicts using a tool"
+ msgstr ""
+ "Impossível resolver conflitos envolvendo exclusão ou links de arquivos com "
+ "esta ferramenta."
+ #: lib/mergetool.tcl:146
+ msgid "Conflict file does not exist"
+ msgstr "O arquivo conflitante não existe"
+ #: lib/mergetool.tcl:264
+ #, tcl-format
+ msgid "Not a GUI merge tool: '%s'"
+ msgstr "Não é uma ferramenta de mesclagem gráfica: \"%s\""
+ #: lib/mergetool.tcl:268
+ #, tcl-format
+ msgid "Unsupported merge tool '%s'"
+ msgstr "Ferramenta de mesclagem não suportada \"%s\""
+ #: lib/mergetool.tcl:303
+ msgid "Merge tool is already running, terminate it?"
+ msgstr "A ferramenta de mesclagem já está em execução. Finalizar?"
+ #: lib/mergetool.tcl:323
+ #, tcl-format
+ msgid ""
+ "Error retrieving versions:\n"
+ "%s"
+ msgstr ""
+ "Erro ao obter as versões:\n"
+ "%s"
+ #: lib/mergetool.tcl:343
+ #, tcl-format
+ msgid ""
+ "Could not start the merge tool:\n"
+ "\n"
+ "%s"
+ msgstr ""
+ "Não foi possível iniciar a ferramenta de mesclagem:\n"
+ "\n"
+ "%s"
+ #: lib/mergetool.tcl:347
+ msgid "Running merge tool..."
+ msgstr "Executando ferramenta de mesclagem..."
+ #: lib/mergetool.tcl:375 lib/mergetool.tcl:383
+ msgid "Merge tool failed."
+ msgstr "Ferramenta de mesclagem falhou."
+ #: lib/option.tcl:11
+ #, tcl-format
+ msgid "Invalid global encoding '%s'"
+ msgstr "Codificação global inválida \"%s\""
+ #: lib/option.tcl:19
+ #, tcl-format
+ msgid "Invalid repo encoding '%s'"
+ msgstr "Codificação do repositório inválida \"%s\""
+ #: lib/option.tcl:117
+ msgid "Restore Defaults"
+ msgstr "Restaurar padrões"
+ #: lib/option.tcl:121
+ msgid "Save"
+ msgstr "Salvar"
+ #: lib/option.tcl:131
+ #, tcl-format
+ msgid "%s Repository"
+ msgstr "Repositório %s"
+ #: lib/option.tcl:132
+ msgid "Global (All Repositories)"
+ msgstr "Global (todos os repositórios)"
+ #: lib/option.tcl:138
+ msgid "User Name"
+ msgstr "Nome do usuário"
+ #: lib/option.tcl:139
+ msgid "Email Address"
+ msgstr "Endereço de e-mail"
+ #: lib/option.tcl:141
+ msgid "Summarize Merge Commits"
+ msgstr "Exibir sumário das revisões de mesclagem"
+ #: lib/option.tcl:142
+ msgid "Merge Verbosity"
+ msgstr "Nível de detalhamento da mesclagem"
+ #: lib/option.tcl:143
+ msgid "Show Diffstat After Merge"
+ msgstr "Exibir estatísticas após mesclagens"
+ #: lib/option.tcl:144
+ msgid "Use Merge Tool"
+ msgstr "Usar ferramenta de mesclagem"
+ #: lib/option.tcl:146
+ msgid "Trust File Modification Timestamps"
+ msgstr "Confiar nas datas de modificação dos arquivos"
+ #: lib/option.tcl:147
+ msgid "Prune Tracking Branches During Fetch"
+ msgstr "Eliminar ramos de rastreamento ao receber"
+ #: lib/option.tcl:148
+ msgid "Match Tracking Branches"
+ msgstr "Coincidir ramos de rastreamento"
+ #: lib/option.tcl:149
+ msgid "Blame Copy Only On Changed Files"
+ msgstr "Detectar cópias somente em arquivos modificados"
+ #: lib/option.tcl:150
+ msgid "Minimum Letters To Blame Copy On"
+ msgstr "Número mínimo de letras para detectar cópias"
+ #: lib/option.tcl:151
+ msgid "Blame History Context Radius (days)"
+ msgstr "Extensão do contexto de detecção (em dias)"
+ #: lib/option.tcl:152
+ msgid "Number of Diff Context Lines"
+ msgstr "Número de linhas para o diff contextual"
+ #: lib/option.tcl:153
+ msgid "Commit Message Text Width"
+ msgstr "Largura do texto da descrição da revisão"
+ #: lib/option.tcl:154
+ msgid "New Branch Name Template"
+ msgstr "Modelo de nome para novos ramos"
+ #: lib/option.tcl:155
+ msgid "Default File Contents Encoding"
+ msgstr "Codificação padrão dos arquivos"
+ #: lib/option.tcl:203
+ msgid "Change"
+ msgstr "Alterar"
+ #: lib/option.tcl:230
+ msgid "Spelling Dictionary:"
+ msgstr "Dicionário para o verificador ortográfico:"
+ #: lib/option.tcl:254
+ msgid "Change Font"
+ msgstr "Mudar fonte"
+ #: lib/option.tcl:258
+ #, tcl-format
+ msgid "Choose %s"
+ msgstr "Escolher %s"
+ #: lib/option.tcl:264
+ msgid "pt."
+ msgstr "pt."
+ #: lib/option.tcl:278
+ msgid "Preferences"
+ msgstr "Preferências"
+ #: lib/option.tcl:314
+ msgid "Failed to completely save options:"
+ msgstr "Houve um erro ao salvar as opções:"
+ #: lib/remote.tcl:163
+ msgid "Remove Remote"
+ msgstr "Excluir"
+ #: lib/remote.tcl:168
+ msgid "Prune from"
+ msgstr "Limpar de"
+ #: lib/remote.tcl:173
+ msgid "Fetch from"
+ msgstr "Receber de"
+ #: lib/remote.tcl:215
+ msgid "Push to"
+ msgstr "Enviar para"
+ #: lib/remote_add.tcl:19
+ msgid "Add Remote"
+ msgstr "Adicionar repositório remoto"
+ #: lib/remote_add.tcl:24
+ msgid "Add New Remote"
+ msgstr "Adicionar novo repositório remoto"
+ #: lib/remote_add.tcl:28 lib/tools_dlg.tcl:36
+ msgid "Add"
+ msgstr "Adicionar"
+ #: lib/remote_add.tcl:37
+ msgid "Remote Details"
+ msgstr "Detalhes do repositório remoto"
+ #: lib/remote_add.tcl:50
+ msgid "Location:"
+ msgstr "Local:"
+ #: lib/remote_add.tcl:62
+ msgid "Further Action"
+ msgstr "Ações adicionais"
+ #: lib/remote_add.tcl:65
+ msgid "Fetch Immediately"
+ msgstr "Receber imediatamente"
+ #: lib/remote_add.tcl:71
+ msgid "Initialize Remote Repository and Push"
+ msgstr "Inicializar repositório remoto e enviar"
+ #: lib/remote_add.tcl:77
+ msgid "Do Nothing Else Now"
+ msgstr "Não fazer nada agora"
+ #: lib/remote_add.tcl:101
+ msgid "Please supply a remote name."
+ msgstr "Por favor, indique um nome para o repositório remoto."
+ #: lib/remote_add.tcl:114
+ #, tcl-format
+ msgid "'%s' is not an acceptable remote name."
+ msgstr "\"%s\" não é um nome válido para um repositório remoto."
+ #: lib/remote_add.tcl:125
+ #, tcl-format
+ msgid "Failed to add remote '%s' of location '%s'."
+ msgstr "Erro ao adicionar repositório remoto \"%s\" do local \"%s\":"
+ #: lib/remote_add.tcl:133 lib/transport.tcl:6
+ #, tcl-format
+ msgid "fetch %s"
+ msgstr "receber %s"
+ #: lib/remote_add.tcl:134
+ #, tcl-format
+ msgid "Fetching the %s"
+ msgstr "Recebendo o %s"
+ #: lib/remote_add.tcl:157
+ #, tcl-format
+ msgid "Do not know how to initialize repository at location '%s'."
+ msgstr "Não sabe como inicializar o repositório remoto em \"%s\"."
+ #: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63
+ #: lib/transport.tcl:81
+ #, tcl-format
+ msgid "push %s"
+ msgstr "enviar %s"
+ #: lib/remote_add.tcl:164
+ #, tcl-format
+ msgid "Setting up the %s (at %s)"
+ msgstr "Configurando %s (em %s)"
+ #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
+ msgid "Delete Branch Remotely"
+ msgstr "Apagar ramo remoto"
+ #: lib/remote_branch_delete.tcl:47
+ msgid "From Repository"
+ msgstr "Do repositório"
+ #: lib/remote_branch_delete.tcl:50 lib/transport.tcl:134
+ msgid "Remote:"
+ msgstr "Remoto:"
+ #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149
+ msgid "Arbitrary Location:"
+ msgstr "Outro local:"
+ #: lib/remote_branch_delete.tcl:84
+ msgid "Branches"
+ msgstr "Ramos"
+ #: lib/remote_branch_delete.tcl:109
+ msgid "Delete Only If"
+ msgstr "Apagar somente se"
+ #: lib/remote_branch_delete.tcl:111
+ msgid "Merged Into:"
+ msgstr "Mesclado em:"
+ #: lib/remote_branch_delete.tcl:152
+ msgid "A branch is required for 'Merged Into'."
+ msgstr "É preciso indicar um ramo para \"Mesclado em\"."
+ #: lib/remote_branch_delete.tcl:184
+ #, tcl-format
+ msgid ""
+ "The following branches are not completely merged into %s:\n"
+ "\n"
+ " - %s"
+ msgstr ""
+ "Os seguintes ramos não estão inteiramente mesclados em %s:\n"
+ "\n"
+ " - %s"
+ #: lib/remote_branch_delete.tcl:189
+ #, tcl-format
+ msgid ""
+ "One or more of the merge tests failed because you have not fetched the "
+ "necessary commits.  Try fetching from %s first."
+ msgstr ""
+ "Um ou mais testes de mesclagem falharam porque você não possui as revisões "
+ "necessárias. Tente receber revisões de %s primeiro."
+ #: lib/remote_branch_delete.tcl:207
+ msgid "Please select one or more branches to delete."
+ msgstr "Por favor selecione um ou mais ramos para apagar."
+ #: lib/remote_branch_delete.tcl:226
+ #, tcl-format
+ msgid "Deleting branches from %s"
+ msgstr "Apagar ramos de %s"
+ #: lib/remote_branch_delete.tcl:292
+ msgid "No repository selected."
+ msgstr "Nenhum repositório foi selecionado."
+ #: lib/remote_branch_delete.tcl:297
+ #, tcl-format
+ msgid "Scanning %s..."
+ msgstr "Atualizando %s..."
+ #: lib/search.tcl:21
+ msgid "Find:"
+ msgstr "Encontrar:"
+ #: lib/search.tcl:23
+ msgid "Next"
+ msgstr "Próximo"
+ #: lib/search.tcl:24
+ msgid "Prev"
+ msgstr "Anterior"
+ #: lib/search.tcl:25
+ msgid "Case-Sensitive"
+ msgstr "Sensível a maiúsculas/minúsculas"
+ #: lib/shortcut.tcl:21 lib/shortcut.tcl:62
+ msgid "Cannot write shortcut:"
+ msgstr "Não foi possível gravar o atalho:"
+ #: lib/shortcut.tcl:137
+ msgid "Cannot write icon:"
+ msgstr "Não foi possível gravar o ícone:"
+ #: lib/spellcheck.tcl:57
+ msgid "Unsupported spell checker"
+ msgstr "Verificador ortográfico não suportado"
+ #: lib/spellcheck.tcl:65
+ msgid "Spell checking is unavailable"
+ msgstr "Verificação ortográfica indisponível"
+ #: lib/spellcheck.tcl:68
+ msgid "Invalid spell checking configuration"
+ msgstr "Configuração do verificador ortográfico inválida"
+ #: lib/spellcheck.tcl:70
+ #, tcl-format
+ msgid "Reverting dictionary to %s."
+ msgstr "Revertendo dicionário para %s."
+ #: lib/spellcheck.tcl:73
+ msgid "Spell checker silently failed on startup"
+ msgstr "O verificador ortográfico falhou sem relatar nenhum erro"
+ #: lib/spellcheck.tcl:80
+ msgid "Unrecognized spell checker"
+ msgstr "Verificador ortográfico não reconhecido"
+ #: lib/spellcheck.tcl:186
+ msgid "No Suggestions"
+ msgstr "Sem sugestões"
+ #: lib/spellcheck.tcl:388
+ msgid "Unexpected EOF from spell checker"
+ msgstr "Final de arquivo inesperado recebido do verificador ortográfico"
+ #: lib/spellcheck.tcl:392
+ msgid "Spell Checker Failed"
+ msgstr "A verificação ortográfica falhou"
+ #: lib/sshkey.tcl:31
+ msgid "No keys found."
+ msgstr "Nenhuma chave encontrada"
+ #: lib/sshkey.tcl:34
+ #, tcl-format
+ msgid "Found a public key in: %s"
+ msgstr "Chave pública encontrada em: %s"
+ #: lib/sshkey.tcl:40
+ msgid "Generate Key"
+ msgstr "Gerar chave"
+ #: lib/sshkey.tcl:56
+ msgid "Copy To Clipboard"
+ msgstr "Copiar para a área de transferência"
+ #: lib/sshkey.tcl:70
+ msgid "Your OpenSSH Public Key"
+ msgstr "Sua chave pública OpenSSH"
+ #: lib/sshkey.tcl:78
+ msgid "Generating..."
+ msgstr "Gerando..."
+ #: lib/sshkey.tcl:84
+ #, tcl-format
+ msgid ""
+ "Could not start ssh-keygen:\n"
+ "\n"
+ "%s"
+ msgstr ""
+ "Impossível iniciar ssh-keygen:\n"
+ "\n"
+ "%s"
+ #: lib/sshkey.tcl:111
+ msgid "Generation failed."
+ msgstr "A geração da chave falhou."
+ #: lib/sshkey.tcl:118
+ msgid "Generation succeded, but no keys found."
+ msgstr "A geração da chave foi bem-sucedida, mas nenhuma chave foi encontrada."
+ #: lib/sshkey.tcl:121
+ #, tcl-format
+ msgid "Your key is in: %s"
+ msgstr "Sua chave em: %s"
+ #: lib/status_bar.tcl:83
+ #, tcl-format
+ msgid "%s ... %*i of %*i %s (%3i%%)"
+ msgstr "%s ... %*i de %*i %s (%3i%%)"
+ #: lib/tools.tcl:75
+ #, tcl-format
+ msgid "Running %s requires a selected file."
+ msgstr "É preciso selecionar um arquivo para executar %s."
+ #: lib/tools.tcl:90
+ #, tcl-format
+ msgid "Are you sure you want to run %s?"
+ msgstr "Você tem certeza que deseja executar %s?"
+ #: lib/tools.tcl:110
+ #, tcl-format
+ msgid "Tool: %s"
+ msgstr "Ferramenta: %s"
+ #: lib/tools.tcl:111
+ #, tcl-format
+ msgid "Running: %s"
+ msgstr "Executando: %s"
+ #: lib/tools.tcl:149
+ #, tcl-format
+ msgid "Tool completed successfully: %s"
+ msgstr "Execução completada com sucesso: %s"
+ #: lib/tools.tcl:151
+ #, tcl-format
+ msgid "Tool failed: %s"
+ msgstr "Ferramenta falhou: %s"
+ #: lib/tools_dlg.tcl:22
+ msgid "Add Tool"
+ msgstr "Adicionar ferramenta"
+ #: lib/tools_dlg.tcl:28
+ msgid "Add New Tool Command"
+ msgstr "Adicionar novo comando de ferramenta"
+ #: lib/tools_dlg.tcl:33
+ msgid "Add globally"
+ msgstr "Adicionar globalmente"
+ #: lib/tools_dlg.tcl:45
+ msgid "Tool Details"
+ msgstr "Detalhes da ferramenta"
+ #: lib/tools_dlg.tcl:48
+ msgid "Use '/' separators to create a submenu tree:"
+ msgstr "Use o separador \"/\" para criar uma árvore de sub-menus:"
+ #: lib/tools_dlg.tcl:61
+ msgid "Command:"
+ msgstr "Comando:"
+ #: lib/tools_dlg.tcl:74
+ msgid "Show a dialog before running"
+ msgstr "Exibir uma caixa de diálogo antes de executar"
+ #: lib/tools_dlg.tcl:80
+ msgid "Ask the user to select a revision (sets $REVISION)"
+ msgstr "Solicitar a seleção de uma revisão (a variável $REVISION)"
+ #: lib/tools_dlg.tcl:85
+ msgid "Ask the user for additional arguments (sets $ARGS)"
+ msgstr "Solicitar argumentos adicionais (define a variável $ARGS)"
+ #: lib/tools_dlg.tcl:92
+ msgid "Don't show the command output window"
+ msgstr "Não exibir a janela de saída do comando"
+ #: lib/tools_dlg.tcl:97
+ msgid "Run only if a diff is selected ($FILENAME not empty)"
+ msgstr "Executar apenas se houver um diff selecionado ($FILENAME não-vazio)"
+ #: lib/tools_dlg.tcl:121
+ msgid "Please supply a name for the tool."
+ msgstr "Por favor, indique um nome para a ferramenta."
+ #: lib/tools_dlg.tcl:129
+ #, tcl-format
+ msgid "Tool '%s' already exists."
+ msgstr "A ferramenta \"%s\" já existe."
+ #: lib/tools_dlg.tcl:151
+ #, tcl-format
+ msgid ""
+ "Could not add tool:\n"
+ "%s"
+ msgstr ""
+ "Não foi possível adicionar a ferramenta:\n"
+ "%s"
+ #: lib/tools_dlg.tcl:190
+ msgid "Remove Tool"
+ msgstr "Excluir ferramenta"
+ #: lib/tools_dlg.tcl:196
+ msgid "Remove Tool Commands"
+ msgstr "Excluir comando de ferramenta"
+ #: lib/tools_dlg.tcl:200
+ msgid "Remove"
+ msgstr "Excluir"
+ #: lib/tools_dlg.tcl:236
+ msgid "(Blue denotes repository-local tools)"
+ msgstr "(Azul indica ferramentas do repositório local)"
+ #: lib/tools_dlg.tcl:297
+ #, tcl-format
+ msgid "Run Command: %s"
+ msgstr "Executar comando: %s"
+ #: lib/tools_dlg.tcl:311
+ msgid "Arguments"
+ msgstr "Argumentos"
+ #: lib/tools_dlg.tcl:348
+ msgid "OK"
+ msgstr "OK"
+ #: lib/transport.tcl:7
+ #, tcl-format
+ msgid "Fetching new changes from %s"
+ msgstr "Recebendo novas mudanças de %s"
+ #: lib/transport.tcl:18
+ #, tcl-format
+ msgid "remote prune %s"
+ msgstr "Limpar %s"
+ #: lib/transport.tcl:19
+ #, tcl-format
+ msgid "Pruning tracking branches deleted from %s"
+ msgstr "Limpando ramos excluídos de %s"
+ #: lib/transport.tcl:26
+ #, tcl-format
+ msgid "Pushing changes to %s"
+ msgstr "Enviando mudanças para %s"
+ #: lib/transport.tcl:64
+ #, tcl-format
+ msgid "Mirroring to %s"
+ msgstr "Duplicando para %s"
+ #: lib/transport.tcl:82
+ #, tcl-format
+ msgid "Pushing %s %s to %s"
+ msgstr "Enviando %s %s para %s"
+ #: lib/transport.tcl:100
+ msgid "Push Branches"
+ msgstr "Enviar ramos"
+ #: lib/transport.tcl:114
+ msgid "Source Branches"
+ msgstr "Ramos de origem"
+ #: lib/transport.tcl:131
+ msgid "Destination Repository"
+ msgstr "Repositório de destino"
+ #: lib/transport.tcl:169
+ msgid "Transfer Options"
+ msgstr "Opções de transferência"
+ #: lib/transport.tcl:171
+ msgid "Force overwrite existing branch (may discard changes)"
+ msgstr "Sobrescrever ramos existentes (pode descartar mudanças)"
+ #: lib/transport.tcl:175
+ msgid "Use thin pack (for slow network connections)"
+ msgstr "Usar compactação minimalista (para redes lentas)"
+ #: lib/transport.tcl:179
+ msgid "Include tags"
+ msgstr "Incluir etiquetas"
diff --combined git-gui/po/ru.po
@@@ -7,7 -7,7 +7,7 @@@ msgid "
  msgstr ""
  "Project-Id-Version: git-gui\n"
  "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2008-12-08 08:31-0800\n"
+ "POT-Creation-Date: 2010-01-26 15:47-0800\n"
  "PO-Revision-Date: 2007-10-22 22:30-0200\n"
  "Last-Translator: Alex Riesen <raa.lkml@gmail.com>\n"
  "Language-Team: Russian Translation <git@vger.kernel.org>\n"
  "Content-Type: text/plain; charset=UTF-8\n"
  "Content-Transfer-Encoding: 8bit\n"
  
- #: git-gui.sh:41 git-gui.sh:737 git-gui.sh:751 git-gui.sh:764 git-gui.sh:847
- #: git-gui.sh:866
+ #: git-gui.sh:41 git-gui.sh:793 git-gui.sh:807 git-gui.sh:820 git-gui.sh:903
+ #: git-gui.sh:922
  msgid "git-gui: fatal error"
  msgstr "git-gui: критическая ошибка"
  
- #: git-gui.sh:689
+ #: git-gui.sh:743
  #, tcl-format
  msgid "Invalid font specified in %s:"
  msgstr "В %s установлен неверный шрифт:"
  
- #: git-gui.sh:723
+ #: git-gui.sh:779
  msgid "Main Font"
  msgstr "Шрифт интерфейса"
  
- #: git-gui.sh:724
+ #: git-gui.sh:780
  msgid "Diff/Console Font"
  msgstr "Шрифт консоли и изменений (diff)"
  
- #: git-gui.sh:738
+ #: git-gui.sh:794
  msgid "Cannot find git in PATH."
  msgstr "git не найден в PATH."
  
- #: git-gui.sh:765
+ #: git-gui.sh:821
  msgid "Cannot parse Git version string:"
  msgstr "Невозможно распознать строку версии Git: "
  
- #: git-gui.sh:783
+ #: git-gui.sh:839
  #, tcl-format
  msgid ""
  "Git version cannot be determined.\n"
@@@ -60,450 -60,474 +60,474 @@@ msgstr "
  "\n"
  "Принять '%s' как версию 1.5.0?\n"
  
- #: git-gui.sh:1062
+ #: git-gui.sh:1128
  msgid "Git directory not found:"
  msgstr "Каталог Git не найден:"
  
- #: git-gui.sh:1069
+ #: git-gui.sh:1146
  msgid "Cannot move to top of working directory:"
  msgstr "Невозможно перейти к корню рабочего каталога репозитория: "
  
- #: git-gui.sh:1076
- msgid "Cannot use funny .git directory:"
- msgstr "Ð\9aаÑ\82алог .git Ð¸Ñ\81поÑ\80Ñ\87ен: "
+ #: git-gui.sh:1154
+ msgid "Cannot use bare repository:"
+ msgstr "Ð\9dевозможно Ð¸Ñ\81полÑ\8cзование Ñ\80епозиÑ\82оÑ\80иÑ\8f Ð±ÐµÐ· Ñ\80абоÑ\87его ÐºÐ°Ñ\82алога:"
  
- #: git-gui.sh:1081
+ #: git-gui.sh:1162
  msgid "No working directory"
  msgstr "Отсутствует рабочий каталог"
  
- #: git-gui.sh:1247 lib/checkout_op.tcl:305
+ #: git-gui.sh:1334 lib/checkout_op.tcl:306
  msgid "Refreshing file status..."
  msgstr "Обновление информации о состоянии файлов..."
  
- #: git-gui.sh:1303
+ #: git-gui.sh:1390
  msgid "Scanning for modified files ..."
  msgstr "Поиск измененных файлов..."
  
- #: git-gui.sh:1367
+ #: git-gui.sh:1454
  msgid "Calling prepare-commit-msg hook..."
  msgstr "Вызов программы поддержки репозитория prepare-commit-msg..."
  
- #: git-gui.sh:1384
+ #: git-gui.sh:1471
  msgid "Commit declined by prepare-commit-msg hook."
  msgstr ""
  "Сохранение прервано программой поддержки репозитория prepare-commit-msg"
  
- #: git-gui.sh:1542 lib/browser.tcl:246
+ #: git-gui.sh:1629 lib/browser.tcl:246
  msgid "Ready."
  msgstr "Готово."
  
- #: git-gui.sh:1726
+ #: git-gui.sh:1787
  #, tcl-format
  msgid "Displaying only %s of %s files."
  msgstr "Показано %s из %s файлов."
  
- #: git-gui.sh:1819
+ #: git-gui.sh:1913
  msgid "Unmodified"
  msgstr "Не изменено"
  
- #: git-gui.sh:1821
+ #: git-gui.sh:1915
  msgid "Modified, not staged"
  msgstr "Изменено, не подготовлено"
  
- #: git-gui.sh:1822 git-gui.sh:1830
+ #: git-gui.sh:1916 git-gui.sh:1924
  msgid "Staged for commit"
  msgstr "Подготовлено для сохранения"
  
- #: git-gui.sh:1823 git-gui.sh:1831
+ #: git-gui.sh:1917 git-gui.sh:1925
  msgid "Portions staged for commit"
  msgstr "Части, подготовленные для сохранения"
  
- #: git-gui.sh:1824 git-gui.sh:1832
+ #: git-gui.sh:1918 git-gui.sh:1926
  msgid "Staged for commit, missing"
  msgstr "Подготовлено для сохранения, отсутствует"
  
- #: git-gui.sh:1826
+ #: git-gui.sh:1920
  msgid "File type changed, not staged"
  msgstr "Тип файла изменён, не подготовлено"
  
- #: git-gui.sh:1827
+ #: git-gui.sh:1921
  msgid "File type changed, staged"
  msgstr "Тип файла изменён, подготовлено"
  
- #: git-gui.sh:1829
+ #: git-gui.sh:1923
  msgid "Untracked, not staged"
  msgstr "Не отслеживается, не подготовлено"
  
- #: git-gui.sh:1834
+ #: git-gui.sh:1928
  msgid "Missing"
  msgstr "Отсутствует"
  
- #: git-gui.sh:1835
+ #: git-gui.sh:1929
  msgid "Staged for removal"
  msgstr "Подготовлено для удаления"
  
- #: git-gui.sh:1836
+ #: git-gui.sh:1930
  msgid "Staged for removal, still present"
  msgstr "Подготовлено для удаления, еще не удалено"
  
- #: git-gui.sh:1838 git-gui.sh:1839 git-gui.sh:1840 git-gui.sh:1841
- #: git-gui.sh:1842 git-gui.sh:1843
+ #: git-gui.sh:1932 git-gui.sh:1933 git-gui.sh:1934 git-gui.sh:1935
+ #: git-gui.sh:1936 git-gui.sh:1937
  msgid "Requires merge resolution"
  msgstr "Требуется разрешение конфликта при слиянии"
  
- #: git-gui.sh:1878
+ #: git-gui.sh:1972
  msgid "Starting gitk... please wait..."
  msgstr "Запускается gitk... Подождите, пожалуйста..."
  
- #: git-gui.sh:1887
+ #: git-gui.sh:1984
  msgid "Couldn't find gitk in PATH"
  msgstr "gitk не найден в PATH."
  
- #: git-gui.sh:2280 lib/choose_repository.tcl:36
+ #: git-gui.sh:2043
+ msgid "Couldn't find git gui in PATH"
+ msgstr "git gui не найден в PATH."
+ #: git-gui.sh:2455 lib/choose_repository.tcl:36
  msgid "Repository"
  msgstr "Репозиторий"
  
- #: git-gui.sh:2281
+ #: git-gui.sh:2456
  msgid "Edit"
  msgstr "Редактировать"
  
- #: git-gui.sh:2283 lib/choose_rev.tcl:561
+ #: git-gui.sh:2458 lib/choose_rev.tcl:561
  msgid "Branch"
  msgstr "Ветвь"
  
- #: git-gui.sh:2286 lib/choose_rev.tcl:548
+ #: git-gui.sh:2461 lib/choose_rev.tcl:548
  msgid "Commit@@noun"
  msgstr "Состояние"
  
- #: git-gui.sh:2289 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
+ #: git-gui.sh:2464 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
  msgid "Merge"
  msgstr "Слияние"
  
- #: git-gui.sh:2290 lib/choose_rev.tcl:557
+ #: git-gui.sh:2465 lib/choose_rev.tcl:557
  msgid "Remote"
  msgstr "Внешние репозитории"
  
- #: git-gui.sh:2293
+ #: git-gui.sh:2468
  msgid "Tools"
  msgstr "Вспомогательные операции"
  
- #: git-gui.sh:2302
+ #: git-gui.sh:2477
  msgid "Explore Working Copy"
  msgstr "Просмотр рабочего каталога"
  
- #: git-gui.sh:2307
+ #: git-gui.sh:2483
  msgid "Browse Current Branch's Files"
  msgstr "Просмотреть файлы текущей ветви"
  
- #: git-gui.sh:2311
+ #: git-gui.sh:2487
  msgid "Browse Branch Files..."
  msgstr "Показать файлы ветви..."
  
- #: git-gui.sh:2316
+ #: git-gui.sh:2492
  msgid "Visualize Current Branch's History"
  msgstr "Показать историю текущей ветви"
  
- #: git-gui.sh:2320
+ #: git-gui.sh:2496
  msgid "Visualize All Branch History"
  msgstr "Показать историю всех ветвей"
  
- #: git-gui.sh:2327
+ #: git-gui.sh:2503
  #, tcl-format
  msgid "Browse %s's Files"
  msgstr "Показать файлы ветви %s"
  
- #: git-gui.sh:2329
+ #: git-gui.sh:2505
  #, tcl-format
  msgid "Visualize %s's History"
  msgstr "Показать историю ветви %s"
  
- #: git-gui.sh:2334 lib/database.tcl:27 lib/database.tcl:67
+ #: git-gui.sh:2510 lib/database.tcl:27 lib/database.tcl:67
  msgid "Database Statistics"
  msgstr "Статистика базы данных"
  
- #: git-gui.sh:2337 lib/database.tcl:34
+ #: git-gui.sh:2513 lib/database.tcl:34
  msgid "Compress Database"
  msgstr "Сжать базу данных"
  
- #: git-gui.sh:2340
+ #: git-gui.sh:2516
  msgid "Verify Database"
  msgstr "Проверить базу данных"
  
- #: git-gui.sh:2347 git-gui.sh:2351 git-gui.sh:2355 lib/shortcut.tcl:7
- #: lib/shortcut.tcl:39 lib/shortcut.tcl:71
+ #: git-gui.sh:2523 git-gui.sh:2527 git-gui.sh:2531 lib/shortcut.tcl:8
+ #: lib/shortcut.tcl:40 lib/shortcut.tcl:72
  msgid "Create Desktop Icon"
  msgstr "Создать ярлык на рабочем столе"
  
- #: git-gui.sh:2363 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191
+ #: git-gui.sh:2539 lib/choose_repository.tcl:183 lib/choose_repository.tcl:191
  msgid "Quit"
  msgstr "Выход"
  
- #: git-gui.sh:2371
+ #: git-gui.sh:2547
  msgid "Undo"
  msgstr "Отменить"
  
- #: git-gui.sh:2374
+ #: git-gui.sh:2550
  msgid "Redo"
  msgstr "Повторить"
  
- #: git-gui.sh:2378 git-gui.sh:2937
+ #: git-gui.sh:2554 git-gui.sh:3109
  msgid "Cut"
  msgstr "Вырезать"
  
- #: git-gui.sh:2381 git-gui.sh:2940 git-gui.sh:3014 git-gui.sh:3096
+ #: git-gui.sh:2557 git-gui.sh:3112 git-gui.sh:3186 git-gui.sh:3259
  #: lib/console.tcl:69
  msgid "Copy"
  msgstr "Копировать"
  
- #: git-gui.sh:2384 git-gui.sh:2943
+ #: git-gui.sh:2560 git-gui.sh:3115
  msgid "Paste"
  msgstr "Вставить"
  
- #: git-gui.sh:2387 git-gui.sh:2946 lib/branch_delete.tcl:26
+ #: git-gui.sh:2563 git-gui.sh:3118 lib/branch_delete.tcl:26
  #: lib/remote_branch_delete.tcl:38
  msgid "Delete"
  msgstr "Удалить"
  
- #: git-gui.sh:2391 git-gui.sh:2950 git-gui.sh:3100 lib/console.tcl:71
+ #: git-gui.sh:2567 git-gui.sh:3122 git-gui.sh:3263 lib/console.tcl:71
  msgid "Select All"
  msgstr "Выделить все"
  
- #: git-gui.sh:2400
+ #: git-gui.sh:2576
  msgid "Create..."
  msgstr "Создать..."
  
- #: git-gui.sh:2406
+ #: git-gui.sh:2582
  msgid "Checkout..."
  msgstr "Перейти..."
  
- #: git-gui.sh:2412
+ #: git-gui.sh:2588
  msgid "Rename..."
  msgstr "Переименовать..."
  
- #: git-gui.sh:2417
+ #: git-gui.sh:2593
  msgid "Delete..."
  msgstr "Удалить..."
  
- #: git-gui.sh:2422
+ #: git-gui.sh:2598
  msgid "Reset..."
  msgstr "Сбросить..."
  
- #: git-gui.sh:2432
+ #: git-gui.sh:2608
  msgid "Done"
  msgstr "Завершено"
  
- #: git-gui.sh:2434
+ #: git-gui.sh:2610
  msgid "Commit@@verb"
  msgstr "Сохранить"
  
- #: git-gui.sh:2443 git-gui.sh:2878
+ #: git-gui.sh:2619 git-gui.sh:3050
  msgid "New Commit"
  msgstr "Новое состояние"
  
- #: git-gui.sh:2451 git-gui.sh:2885
+ #: git-gui.sh:2627 git-gui.sh:3057
  msgid "Amend Last Commit"
  msgstr "Исправить последнее состояние"
  
- #: git-gui.sh:2461 git-gui.sh:2839 lib/remote_branch_delete.tcl:99
+ #: git-gui.sh:2637 git-gui.sh:3011 lib/remote_branch_delete.tcl:99
  msgid "Rescan"
  msgstr "Перечитать"
  
- #: git-gui.sh:2467
+ #: git-gui.sh:2643
  msgid "Stage To Commit"
  msgstr "Подготовить для сохранения"
  
- #: git-gui.sh:2473
+ #: git-gui.sh:2649
  msgid "Stage Changed Files To Commit"
  msgstr "Подготовить измененные файлы для сохранения"
  
- #: git-gui.sh:2479
+ #: git-gui.sh:2655
  msgid "Unstage From Commit"
  msgstr "Убрать из подготовленного"
  
- #: git-gui.sh:2484 lib/index.tcl:410
+ #: git-gui.sh:2661 lib/index.tcl:412
  msgid "Revert Changes"
  msgstr "Отменить изменения"
  
- #: git-gui.sh:2491 git-gui.sh:3083
+ #: git-gui.sh:2669 git-gui.sh:3310 git-gui.sh:3341
  msgid "Show Less Context"
  msgstr "Меньше контекста"
  
- #: git-gui.sh:2495 git-gui.sh:3087
+ #: git-gui.sh:2673 git-gui.sh:3314 git-gui.sh:3345
  msgid "Show More Context"
  msgstr "Больше контекста"
  
- #: git-gui.sh:2502 git-gui.sh:2852 git-gui.sh:2961
+ #: git-gui.sh:2680 git-gui.sh:3024 git-gui.sh:3133
  msgid "Sign Off"
  msgstr "Вставить Signed-off-by"
  
- #: git-gui.sh:2518
+ #: git-gui.sh:2696
  msgid "Local Merge..."
  msgstr "Локальное слияние..."
  
- #: git-gui.sh:2523
+ #: git-gui.sh:2701
  msgid "Abort Merge..."
  msgstr "Прервать слияние..."
  
- #: git-gui.sh:2535 git-gui.sh:2575
+ #: git-gui.sh:2713 git-gui.sh:2741
  msgid "Add..."
  msgstr "Добавить..."
  
- #: git-gui.sh:2539
+ #: git-gui.sh:2717
  msgid "Push..."
  msgstr "Отправить..."
  
- #: git-gui.sh:2543
+ #: git-gui.sh:2721
  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 "О %s"
- #: git-gui.sh:2557
- msgid "Preferences..."
- msgstr "Настройки..."
- #: git-gui.sh:2565 git-gui.sh:3129
+ #: git-gui.sh:2731 git-gui.sh:3292
  msgid "Options..."
  msgstr "Настройки..."
  
- #: git-gui.sh:2576
+ #: git-gui.sh:2742
  msgid "Remove..."
  msgstr "Удалить..."
  
- #: git-gui.sh:2585 lib/choose_repository.tcl:50
+ #: git-gui.sh:2751 lib/choose_repository.tcl:50
  msgid "Help"
  msgstr "Помощь"
  
- #: git-gui.sh:2611
+ #: git-gui.sh:2755 git-gui.sh:2759 lib/about.tcl:14
+ #: lib/choose_repository.tcl:44 lib/choose_repository.tcl:53
+ #, tcl-format
+ msgid "About %s"
+ msgstr "О %s"
+ #: git-gui.sh:2783
  msgid "Online Documentation"
  msgstr "Документация в интернете"
  
- #: git-gui.sh:2614 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56
+ #: git-gui.sh:2786 lib/choose_repository.tcl:47 lib/choose_repository.tcl:56
  msgid "Show SSH Key"
  msgstr "Показать ключ SSH"
  
- #: git-gui.sh:2721
+ #: git-gui.sh:2893
  #, tcl-format
  msgid "fatal: cannot stat path %s: No such file or directory"
  msgstr "критическая ошибка: %s: нет такого файла или каталога"
  
- #: git-gui.sh:2754
+ #: git-gui.sh:2926
  msgid "Current Branch:"
  msgstr "Текущая ветвь:"
  
- #: git-gui.sh:2775
+ #: git-gui.sh:2947
  msgid "Staged Changes (Will Commit)"
  msgstr "Подготовлено (будет сохранено)"
  
- #: git-gui.sh:2795
+ #: git-gui.sh:2967
  msgid "Unstaged Changes"
  msgstr "Изменено (не будет сохранено)"
  
- #: git-gui.sh:2845
+ #: git-gui.sh:3017
  msgid "Stage Changed"
  msgstr "Подготовить все"
  
- #: git-gui.sh:2864 lib/transport.tcl:104 lib/transport.tcl:193
+ #: git-gui.sh:3036 lib/transport.tcl:104 lib/transport.tcl:193
  msgid "Push"
  msgstr "Отправить"
  
- #: git-gui.sh:2899
+ #: git-gui.sh:3071
  msgid "Initial Commit Message:"
  msgstr "Комментарий к первому состоянию:"
  
- #: git-gui.sh:2900
+ #: git-gui.sh:3072
  msgid "Amended Commit Message:"
  msgstr "Комментарий к исправленному состоянию:"
  
- #: git-gui.sh:2901
+ #: git-gui.sh:3073
  msgid "Amended Initial Commit Message:"
  msgstr "Комментарий к исправленному первоначальному состоянию:"
  
- #: git-gui.sh:2902
+ #: git-gui.sh:3074
  msgid "Amended Merge Commit Message:"
  msgstr "Комментарий к исправленному слиянию:"
  
- #: git-gui.sh:2903
+ #: git-gui.sh:3075
  msgid "Merge Commit Message:"
  msgstr "Комментарий к слиянию:"
  
- #: git-gui.sh:2904
+ #: git-gui.sh:3076
  msgid "Commit Message:"
  msgstr "Комментарий к состоянию:"
  
- #: git-gui.sh:2953 git-gui.sh:3104 lib/console.tcl:73
+ #: git-gui.sh:3125 git-gui.sh:3267 lib/console.tcl:73
  msgid "Copy All"
  msgstr "Копировать все"
  
- #: git-gui.sh:2977 lib/blame.tcl:104
+ #: git-gui.sh:3149 lib/blame.tcl:104
  msgid "File:"
  msgstr "Файл:"
  
- #: git-gui.sh:3092
+ #: git-gui.sh:3255
  msgid "Refresh"
  msgstr "Обновить"
  
- #: git-gui.sh:3113
+ #: git-gui.sh:3276
  msgid "Decrease Font Size"
  msgstr "Уменьшить размер шрифта"
  
- #: git-gui.sh:3117
+ #: git-gui.sh:3280
  msgid "Increase Font Size"
  msgstr "Увеличить размер шрифта"
  
- #: git-gui.sh:3125 lib/blame.tcl:281
+ #: git-gui.sh:3288 lib/blame.tcl:281
  msgid "Encoding"
  msgstr "Кодировка"
  
- #: git-gui.sh:3136
+ #: git-gui.sh:3299
  msgid "Apply/Reverse Hunk"
  msgstr "Применить/Убрать изменение"
  
- #: git-gui.sh:3141
+ #: git-gui.sh:3304
  msgid "Apply/Reverse Line"
  msgstr "Применить/Убрать строку"
  
- #: git-gui.sh:3151
+ #: git-gui.sh:3323
  msgid "Run Merge Tool"
  msgstr "Запустить программу слияния"
  
- #: git-gui.sh:3156
+ #: git-gui.sh:3328
  msgid "Use Remote Version"
  msgstr "Взять внешнюю версию"
  
- #: git-gui.sh:3160
+ #: git-gui.sh:3332
  msgid "Use Local Version"
  msgstr "Взять локальную версию"
  
- #: git-gui.sh:3164
+ #: git-gui.sh:3336
  msgid "Revert To Base"
  msgstr "Отменить изменения"
  
- #: git-gui.sh:3183
+ #: git-gui.sh:3354
+ msgid "Visualize These Changes In The Submodule"
+ msgstr ""
+ #: git-gui.sh:3358
+ msgid "Visualize Current Branch History In The Submodule"
+ msgstr "Показать историю текущей ветви подмодуля"
+ #: git-gui.sh:3362
+ msgid "Visualize All Branch History In The Submodule"
+ msgstr "Показать историю всех ветвей подмодуля"
+ #: git-gui.sh:3367
+ msgid "Start git gui In The Submodule"
+ msgstr ""
+ #: git-gui.sh:3389
  msgid "Unstage Hunk From Commit"
  msgstr "Не сохранять часть"
  
- #: git-gui.sh:3184
+ #: git-gui.sh:3391
+ msgid "Unstage Lines From Commit"
+ msgstr "Убрать строки из подготовленного"
+ #: git-gui.sh:3393
  msgid "Unstage Line From Commit"
  msgstr "Убрать строку из подготовленного"
  
- #: git-gui.sh:3186
+ #: git-gui.sh:3396
  msgid "Stage Hunk For Commit"
  msgstr "Подготовить часть для сохранения"
  
- #: git-gui.sh:3187
+ #: git-gui.sh:3398
+ msgid "Stage Lines For Commit"
+ msgstr "Подготовить строки для сохранения"
+ #: git-gui.sh:3400
  msgid "Stage Line For Commit"
  msgstr "Подготовить строку для сохранения"
  
- #: git-gui.sh:3210
+ #: git-gui.sh:3424
  msgid "Initializing..."
  msgstr "Инициализация..."
  
- #: git-gui.sh:3315
+ #: git-gui.sh:3541
  #, tcl-format
  msgid ""
  "Possible environment issues exist.\n"
@@@ -520,7 -544,7 +544,7 @@@ msgstr "
  "запущенными из %s\n"
  "\n"
  
- #: git-gui.sh:3345
+ #: git-gui.sh:3570
  msgid ""
  "\n"
  "This is due to a known issue with the\n"
@@@ -530,7 -554,7 +554,7 @@@ msgstr "
  "Это известная проблема с Tcl,\n"
  "распространяемым Cygwin."
  
- #: git-gui.sh:3350
+ #: git-gui.sh:3575
  #, tcl-format
  msgid ""
  "\n"
@@@ -640,7 -664,7 +664,7 @@@ msgstr "Ð\9dевозможно Ð½Ð°Ð¹Ñ\82Ð
  msgid "Unable to display parent"
  msgstr "Не могу показать предка"
  
- #: lib/blame.tcl:1091 lib/diff.tcl:297
+ #: lib/blame.tcl:1091 lib/diff.tcl:320
  msgid "Error loading diff:"
  msgstr "Ошибка загрузки изменений:"
  
@@@ -666,7 -690,7 +690,7 @@@ 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:172
+ #: lib/checkout_op.tcl:579 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:108
@@@ -697,7 -721,7 +721,7 @@@ msgstr "Создание ветви
  msgid "Create New Branch"
  msgstr "Создать новую ветвь"
  
- #: lib/branch_create.tcl:31 lib/choose_repository.tcl:377
+ #: lib/branch_create.tcl:31 lib/choose_repository.tcl:381
  msgid "Create"
  msgstr "Создать"
  
@@@ -729,7 -753,7 +753,7 @@@ msgstr "Нет
  msgid "Fast Forward Only"
  msgstr "Только Fast Forward"
  
- #: lib/branch_create.tcl:85 lib/checkout_op.tcl:536
+ #: lib/branch_create.tcl:85 lib/checkout_op.tcl:571
  msgid "Reset"
  msgstr "Сброс"
  
@@@ -771,8 -795,8 +795,8 @@@ msgstr "Локальные ветви
  msgid "Delete Only If Merged Into"
  msgstr "Удалить только в случае, если было слияние с"
  
- #: lib/branch_delete.tcl:54
- msgid "Always (Do not perform merge test.)"
+ #: lib/branch_delete.tcl:54 lib/remote_branch_delete.tcl:119
+ msgid "Always (Do not perform merge checks)"
  msgstr "Всегда (не выполнять проверку на слияние)"
  
  #: lib/branch_delete.tcl:103
  msgid "The following branches are not completely merged into %s:"
  msgstr "Ветви, которые не полностью сливаются с %s:"
  
+ #: lib/branch_delete.tcl:115 lib/remote_branch_delete.tcl:217
+ msgid ""
+ "Recovering deleted branches is difficult.\n"
+ "\n"
+ "Delete the selected branches?"
+ msgstr ""
+ "Восстановить удаленные ветви сложно.\n"
+ "\n"
+ "Продолжить?"
  #: lib/branch_delete.tcl:141
  #, tcl-format
  msgid ""
@@@ -809,7 -843,7 +843,7 @@@ msgstr "Новое название:
  msgid "Please select a branch to rename."
  msgstr "Укажите ветвь для переименования."
  
- #: lib/branch_rename.tcl:96 lib/checkout_op.tcl:201
+ #: lib/branch_rename.tcl:96 lib/checkout_op.tcl:202
  #, tcl-format
  msgid "Branch '%s' already exists."
  msgstr "Ветвь '%s' уже существует."
@@@ -840,38 -874,38 +874,38 @@@ msgstr "[На уровень выше]
  msgid "Browse Branch Files"
  msgstr "Показать файлы ветви"
  
- #: lib/browser.tcl:278 lib/choose_repository.tcl:394
- #: lib/choose_repository.tcl:480 lib/choose_repository.tcl:491
- #: lib/choose_repository.tcl:995
+ #: lib/browser.tcl:278 lib/choose_repository.tcl:398
+ #: lib/choose_repository.tcl:486 lib/choose_repository.tcl:497
+ #: lib/choose_repository.tcl:1028
  msgid "Browse"
  msgstr "Показать"
  
- #: lib/checkout_op.tcl:84
+ #: lib/checkout_op.tcl:85
  #, tcl-format
  msgid "Fetching %s from %s"
  msgstr "Получение %s из %s "
  
- #: lib/checkout_op.tcl:132
+ #: lib/checkout_op.tcl:133
  #, tcl-format
  msgid "fatal: Cannot resolve %s"
  msgstr "критическая ошибка: невозможно разрешить %s"
  
- #: lib/checkout_op.tcl:145 lib/console.tcl:81 lib/database.tcl:31
+ #: lib/checkout_op.tcl:146 lib/console.tcl:81 lib/database.tcl:31
  #: lib/sshkey.tcl:53
  msgid "Close"
  msgstr "Закрыть"
  
- #: lib/checkout_op.tcl:174
+ #: lib/checkout_op.tcl:175
  #, tcl-format
  msgid "Branch '%s' does not exist."
  msgstr "Ветвь '%s' не существует "
  
- #: lib/checkout_op.tcl:193
+ #: lib/checkout_op.tcl:194
  #, tcl-format
  msgid "Failed to configure simplified git-pull for '%s'."
  msgstr "Ошибка создания упрощённой конфигурации git pull для '%s'."
  
- #: lib/checkout_op.tcl:228
+ #: lib/checkout_op.tcl:229
  #, tcl-format
  msgid ""
  "Branch '%s' already exists.\n"
@@@ -884,21 -918,21 +918,21 @@@ msgstr "
  "Она не может быть прокручена(fast-forward) к %s.\n"
  "Требуется слияние."
  
- #: lib/checkout_op.tcl:242
+ #: lib/checkout_op.tcl:243
  #, tcl-format
  msgid "Merge strategy '%s' not supported."
  msgstr "Неизвестная стратегия слияния: '%s'."
  
- #: lib/checkout_op.tcl:261
+ #: lib/checkout_op.tcl:262
  #, tcl-format
  msgid "Failed to update '%s'."
  msgstr "Не удалось обновить '%s'."
  
- #: lib/checkout_op.tcl:273
+ #: lib/checkout_op.tcl:274
  msgid "Staging area (index) is already locked."
  msgstr "Рабочая область заблокирована другим процессом."
  
- #: lib/checkout_op.tcl:288
+ #: lib/checkout_op.tcl:289
  msgid ""
  "Last scanned state does not match repository state.\n"
  "\n"
@@@ -914,30 -948,30 +948,30 @@@ msgstr "
  "\n"
  "Это будет сделано сейчас автоматически.\n"
  
- #: lib/checkout_op.tcl:344
+ #: lib/checkout_op.tcl:345
  #, tcl-format
  msgid "Updating working directory to '%s'..."
  msgstr "Обновление рабочего каталога из '%s'..."
  
- #: lib/checkout_op.tcl:345
+ #: lib/checkout_op.tcl:346
  msgid "files checked out"
  msgstr "файлы извлечены"
  
- #: lib/checkout_op.tcl:375
+ #: lib/checkout_op.tcl:376
  #, tcl-format
  msgid "Aborted checkout of '%s' (file level merging is required)."
  msgstr "Прерван переход на '%s' (требуется слияние содержания файлов)"
  
- #: lib/checkout_op.tcl:376
+ #: lib/checkout_op.tcl:377
  msgid "File level merge required."
  msgstr "Требуется слияние содержания файлов."
  
- #: lib/checkout_op.tcl:380
+ #: lib/checkout_op.tcl:381
  #, tcl-format
  msgid "Staying on branch '%s'."
  msgstr "Ветвь '%s' остается текущей."
  
- #: lib/checkout_op.tcl:451
+ #: lib/checkout_op.tcl:452
  msgid ""
  "You are no longer on a local branch.\n"
  "\n"
@@@ -949,30 -983,30 +983,30 @@@ msgstr "
  "Если вы хотите снова вернуться к какой-нибудь ветви, создайте ее сейчас, "
  "начиная с 'Текущего отсоединенного состояния'."
  
- #: lib/checkout_op.tcl:468 lib/checkout_op.tcl:472
+ #: lib/checkout_op.tcl:503 lib/checkout_op.tcl:507
  #, tcl-format
  msgid "Checked out '%s'."
  msgstr "Ветвь '%s' сделана текущей."
  
- #: lib/checkout_op.tcl:500
+ #: lib/checkout_op.tcl:535
  #, tcl-format
  msgid "Resetting '%s' to '%s' will lose the following commits:"
  msgstr "Сброс '%s' в '%s' приведет к потере следующих сохраненных состояний: "
  
- #: lib/checkout_op.tcl:522
+ #: lib/checkout_op.tcl:557
  msgid "Recovering lost commits may not be easy."
  msgstr "Восстановить потерянные сохраненные состояния будет сложно."
  
- #: lib/checkout_op.tcl:527
+ #: lib/checkout_op.tcl:562
  #, tcl-format
  msgid "Reset '%s'?"
  msgstr "Сбросить '%s'?"
  
- #: lib/checkout_op.tcl:532 lib/merge.tcl:164 lib/tools_dlg.tcl:343
+ #: lib/checkout_op.tcl:567 lib/merge.tcl:164 lib/tools_dlg.tcl:343
  msgid "Visualize"
  msgstr "Наглядно"
  
- #: lib/checkout_op.tcl:600
+ #: lib/checkout_op.tcl:635
  #, tcl-format
  msgid ""
  "Failed to set current branch.\n"
@@@ -1017,7 -1051,7 +1051,7 @@@ msgstr "
  msgid "Git Gui"
  msgstr "Git Gui"
  
- #: lib/choose_repository.tcl:87 lib/choose_repository.tcl:382
+ #: lib/choose_repository.tcl:87 lib/choose_repository.tcl:386
  msgid "Create New Repository"
  msgstr "Создать новый репозиторий"
  
  msgid "New..."
  msgstr "Новый..."
  
- #: lib/choose_repository.tcl:100 lib/choose_repository.tcl:465
+ #: lib/choose_repository.tcl:100 lib/choose_repository.tcl:471
  msgid "Clone Existing Repository"
  msgstr "Склонировать существующий репозиторий"
  
  msgid "Clone..."
  msgstr "Склонировать..."
  
- #: lib/choose_repository.tcl:113 lib/choose_repository.tcl:983
+ #: lib/choose_repository.tcl:113 lib/choose_repository.tcl:1016
  msgid "Open Existing Repository"
  msgstr "Выбрать существующий репозиторий"
  
@@@ -1049,194 -1083,194 +1083,194 @@@ msgstr "Недавние репозит
  msgid "Open Recent Repository:"
  msgstr "Открыть последний репозиторий"
  
- #: lib/choose_repository.tcl:302 lib/choose_repository.tcl:309
- #: lib/choose_repository.tcl:316
+ #: lib/choose_repository.tcl:306 lib/choose_repository.tcl:313
+ #: lib/choose_repository.tcl:320
  #, tcl-format
  msgid "Failed to create repository %s:"
  msgstr "Не удалось создать репозиторий %s:"
  
- #: lib/choose_repository.tcl:387
+ #: lib/choose_repository.tcl:391
  msgid "Directory:"
  msgstr "Каталог:"
  
- #: lib/choose_repository.tcl:417 lib/choose_repository.tcl:544
- #: lib/choose_repository.tcl:1017
+ #: lib/choose_repository.tcl:423 lib/choose_repository.tcl:550
+ #: lib/choose_repository.tcl:1052
  msgid "Git Repository"
  msgstr "Репозиторий"
  
- #: lib/choose_repository.tcl:442
+ #: lib/choose_repository.tcl:448
  #, tcl-format
  msgid "Directory %s already exists."
  msgstr "Каталог '%s' уже существует."
  
- #: lib/choose_repository.tcl:446
+ #: lib/choose_repository.tcl:452
  #, tcl-format
  msgid "File %s already exists."
  msgstr "Файл '%s' уже существует."
  
- #: lib/choose_repository.tcl:460
+ #: lib/choose_repository.tcl:466
  msgid "Clone"
  msgstr "Склонировать"
  
- #: lib/choose_repository.tcl:473
+ #: lib/choose_repository.tcl:479
  msgid "Source Location:"
  msgstr "Исходное положение:"
  
- #: lib/choose_repository.tcl:484
+ #: lib/choose_repository.tcl:490
  msgid "Target Directory:"
  msgstr "Каталог назначения:"
  
- #: lib/choose_repository.tcl:496
+ #: lib/choose_repository.tcl:502
  msgid "Clone Type:"
  msgstr "Тип клона:"
  
- #: lib/choose_repository.tcl:502
+ #: lib/choose_repository.tcl:508
  msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
  msgstr "Стандартный (Быстрый, полуизбыточный, \"жесткие\" ссылки)"
  
- #: lib/choose_repository.tcl:508
+ #: lib/choose_repository.tcl:514
  msgid "Full Copy (Slower, Redundant Backup)"
  msgstr "Полная копия (Медленный, создает резервную копию)"
  
- #: lib/choose_repository.tcl:514
+ #: lib/choose_repository.tcl:520
  msgid "Shared (Fastest, Not Recommended, No Backup)"
  msgstr "Общий (Самый быстрый, не рекомендуется, без резервной копии)"
  
- #: 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
+ #: lib/choose_repository.tcl:556 lib/choose_repository.tcl:603
+ #: lib/choose_repository.tcl:749 lib/choose_repository.tcl:819
+ #: lib/choose_repository.tcl:1058 lib/choose_repository.tcl:1066
  #, tcl-format
  msgid "Not a Git repository: %s"
  msgstr "Каталог не является репозиторием: %s"
  
- #: lib/choose_repository.tcl:586
+ #: lib/choose_repository.tcl:592
  msgid "Standard only available for local repository."
  msgstr "Стандартный клон возможен только для локального репозитория."
  
- #: lib/choose_repository.tcl:590
+ #: lib/choose_repository.tcl:596
  msgid "Shared only available for local repository."
  msgstr "Общий клон возможен только для локального репозитория."
  
- #: lib/choose_repository.tcl:611
+ #: lib/choose_repository.tcl:617
  #, tcl-format
  msgid "Location %s already exists."
  msgstr "Путь '%s' уже существует."
  
- #: lib/choose_repository.tcl:622
+ #: lib/choose_repository.tcl:628
  msgid "Failed to configure origin"
  msgstr "Не могу сконфигурировать исходный репозиторий."
  
- #: lib/choose_repository.tcl:634
+ #: lib/choose_repository.tcl:640
  msgid "Counting objects"
  msgstr "Считаю объекты"
  
- #: lib/choose_repository.tcl:635
+ #: lib/choose_repository.tcl:641
  msgid "buckets"
  msgstr ""
  
- #: lib/choose_repository.tcl:659
+ #: lib/choose_repository.tcl:665
  #, tcl-format
  msgid "Unable to copy objects/info/alternates: %s"
  msgstr "Не могу скопировать objects/info/alternates: %s"
  
- #: lib/choose_repository.tcl:695
+ #: lib/choose_repository.tcl:701
  #, tcl-format
  msgid "Nothing to clone from %s."
  msgstr "Нечего клонировать с %s."
  
- #: lib/choose_repository.tcl:697 lib/choose_repository.tcl:911
- #: lib/choose_repository.tcl:923
+ #: lib/choose_repository.tcl:703 lib/choose_repository.tcl:917
+ #: lib/choose_repository.tcl:929
  msgid "The 'master' branch has not been initialized."
  msgstr "Не инициализирована ветвь 'master'."
  
- #: lib/choose_repository.tcl:710
+ #: lib/choose_repository.tcl:716
  msgid "Hardlinks are unavailable.  Falling back to copying."
  msgstr "\"Жесткие ссылки\" недоступны. Будет использовано копирование."
  
- #: lib/choose_repository.tcl:722
+ #: lib/choose_repository.tcl:728
  #, tcl-format
  msgid "Cloning from %s"
  msgstr "Клонирование %s"
  
- #: lib/choose_repository.tcl:753
+ #: lib/choose_repository.tcl:759
  msgid "Copying objects"
  msgstr "Копирование objects"
  
- #: lib/choose_repository.tcl:754
+ #: lib/choose_repository.tcl:760
  msgid "KiB"
  msgstr "КБ"
  
- #: lib/choose_repository.tcl:778
+ #: lib/choose_repository.tcl:784
  #, tcl-format
  msgid "Unable to copy object: %s"
  msgstr "Не могу скопировать объект: %s"
  
- #: lib/choose_repository.tcl:788
+ #: lib/choose_repository.tcl:794
  msgid "Linking objects"
  msgstr "Создание ссылок на objects"
  
- #: lib/choose_repository.tcl:789
+ #: lib/choose_repository.tcl:795
  msgid "objects"
  msgstr "объекты"
  
- #: lib/choose_repository.tcl:797
+ #: lib/choose_repository.tcl:803
  #, tcl-format
  msgid "Unable to hardlink object: %s"
  msgstr "Не могу \"жестко связать\" объект: %s"
  
- #: lib/choose_repository.tcl:852
+ #: lib/choose_repository.tcl:858
  msgid "Cannot fetch branches and objects.  See console output for details."
  msgstr ""
  "Не могу получить ветви и объекты. Дополнительная информация на консоли."
  
- #: lib/choose_repository.tcl:863
+ #: lib/choose_repository.tcl:869
  msgid "Cannot fetch tags.  See console output for details."
  msgstr "Не могу получить метки. Дополнительная информация на консоли."
  
- #: lib/choose_repository.tcl:887
+ #: lib/choose_repository.tcl:893
  msgid "Cannot determine HEAD.  See console output for details."
  msgstr "Не могу определить HEAD. Дополнительная информация на консоли."
  
- #: lib/choose_repository.tcl:896
+ #: lib/choose_repository.tcl:902
  #, tcl-format
  msgid "Unable to cleanup %s"
  msgstr "Не могу очистить %s"
  
- #: lib/choose_repository.tcl:902
+ #: lib/choose_repository.tcl:908
  msgid "Clone failed."
  msgstr "Клонирование не удалось."
  
- #: lib/choose_repository.tcl:909
+ #: lib/choose_repository.tcl:915
  msgid "No default branch obtained."
  msgstr "Не было получено ветви по умолчанию."
  
- #: lib/choose_repository.tcl:920
+ #: lib/choose_repository.tcl:926
  #, tcl-format
  msgid "Cannot resolve %s as a commit."
  msgstr "Не могу распознать %s как состояние."
  
- #: lib/choose_repository.tcl:932
+ #: lib/choose_repository.tcl:938
  msgid "Creating working directory"
  msgstr "Создаю рабочий каталог"
  
- #: lib/choose_repository.tcl:933 lib/index.tcl:65 lib/index.tcl:128
- #: lib/index.tcl:196
+ #: lib/choose_repository.tcl:939 lib/index.tcl:67 lib/index.tcl:130
+ #: lib/index.tcl:198
  msgid "files"
  msgstr "файлов"
  
- #: lib/choose_repository.tcl:962
+ #: lib/choose_repository.tcl:968
  msgid "Initial file checkout failed."
  msgstr "Не удалось получить начальное состояние файлов репозитория."
  
- #: lib/choose_repository.tcl:978
+ #: lib/choose_repository.tcl:1011
  msgid "Open"
  msgstr "Открыть"
  
- #: lib/choose_repository.tcl:988
+ #: lib/choose_repository.tcl:1021
  msgid "Repository:"
  msgstr "Репозиторий:"
  
- #: lib/choose_repository.tcl:1037
+ #: lib/choose_repository.tcl:1072
  #, tcl-format
  msgid "Failed to open repository %s:"
  msgstr "Не удалось открыть репозиторий %s:"
@@@ -1318,7 -1352,12 +1352,12 @@@ msgstr "Невозможно получ
  msgid "Invalid GIT_COMMITTER_IDENT:"
  msgstr "Неверный GIT_COMMITTER_IDENT:"
  
- #: lib/commit.tcl:132
+ #: lib/commit.tcl:129
+ #, tcl-format
+ msgid "warning: Tcl does not support encoding '%s'."
+ msgstr "предупреждение: Tcl не поддерживает кодировку '%s'."
+ #: lib/commit.tcl:149
  msgid ""
  "Last scanned state does not match repository state.\n"
  "\n"
@@@ -1334,7 -1373,7 +1373,7 @@@ msgstr "
  "\n"
  "Это будет сделано сейчас автоматически.\n"
  
- #: lib/commit.tcl:155
+ #: lib/commit.tcl:172
  #, tcl-format
  msgid ""
  "Unmerged files cannot be committed.\n"
  "File %s has merge conflicts.  You must resolve them and stage the file "
  "before committing.\n"
  msgstr ""
- "Нельзя сохранить файлы с незавершённой операцей слияния.\n"
+ "Ð\9dелÑ\8cзÑ\8f Ñ\81оÑ\85Ñ\80аниÑ\82Ñ\8c Ñ\84айлÑ\8b Ñ\81 Ð½ÐµÐ·Ð°Ð²ÐµÑ\80Ñ\88Ñ\91нной Ð¾Ð¿ÐµÑ\80аÑ\86ией Ñ\81лиÑ\8fниÑ\8f.\n"
  "\n"
  "Для файла %s возник конфликт слияния. Разрешите конфликт и добавьте к "
  "подготовленным файлам перед сохранением.\n"
  
- #: lib/commit.tcl:163
+ #: lib/commit.tcl:180
  #, tcl-format
  msgid ""
  "Unknown file state %s detected.\n"
@@@ -1358,7 -1397,7 +1397,7 @@@ msgstr "
  "\n"
  "Файл %s не может быть сохранен данной программой.\n"
  
- #: lib/commit.tcl:171
+ #: lib/commit.tcl:188
  msgid ""
  "No changes to commit.\n"
  "\n"
@@@ -1368,7 -1407,7 +1407,7 @@@ msgstr "
  "\n"
  "Подготовьте хотя бы один файл до создания сохраненного состояния.\n"
  
- #: lib/commit.tcl:186
+ #: lib/commit.tcl:203
  msgid ""
  "Please supply a commit message.\n"
  "\n"
@@@ -1386,45 -1425,40 +1425,40 @@@ msgstr "
  "- вторая строка пустая\n"
  "- оставшиеся строки: опишите, что дают ваши изменения.\n"
  
- #: lib/commit.tcl:210
- #, tcl-format
- msgid "warning: Tcl does not support encoding '%s'."
- msgstr "предупреждение: Tcl не поддерживает кодировку '%s'."
- #: lib/commit.tcl:226
+ #: lib/commit.tcl:234
  msgid "Calling pre-commit hook..."
  msgstr "Вызов программы поддержки репозитория pre-commit..."
  
- #: lib/commit.tcl:241
+ #: lib/commit.tcl:249
  msgid "Commit declined by pre-commit hook."
  msgstr "Сохранение прервано программой поддержки репозитория pre-commit"
  
- #: lib/commit.tcl:264
+ #: lib/commit.tcl:272
  msgid "Calling commit-msg hook..."
  msgstr "Вызов программы поддержки репозитория commit-msg..."
  
- #: lib/commit.tcl:279
+ #: lib/commit.tcl:287
  msgid "Commit declined by commit-msg hook."
  msgstr "Сохранение прервано программой поддержки репозитория commit-msg"
  
- #: lib/commit.tcl:292
+ #: lib/commit.tcl:300
  msgid "Committing changes..."
  msgstr "Сохранение изменений..."
  
- #: lib/commit.tcl:308
+ #: lib/commit.tcl:316
  msgid "write-tree failed:"
  msgstr "Программа write-tree завершилась с ошибкой:"
  
- #: lib/commit.tcl:309 lib/commit.tcl:353 lib/commit.tcl:373
+ #: lib/commit.tcl:317 lib/commit.tcl:361 lib/commit.tcl:382
  msgid "Commit failed."
  msgstr "Сохранить состояние не удалось."
  
- #: lib/commit.tcl:326
+ #: lib/commit.tcl:334
  #, tcl-format
  msgid "Commit %s appears to be corrupt"
  msgstr "Состояние %s выглядит поврежденным"
  
- #: lib/commit.tcl:331
+ #: lib/commit.tcl:339
  msgid ""
  "No changes to commit.\n"
  "\n"
@@@ -1438,19 -1472,19 +1472,19 @@@ msgstr "
  "\n"
  "Сейчас автоматически запустится перечитывание репозитория.\n"
  
- #: lib/commit.tcl:338
+ #: lib/commit.tcl:346
  msgid "No changes to commit."
- msgstr "Ð\9eÑ\82Ñ\83Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 Ð¸Ð·Ð¼ения для сохранения."
+ msgstr "Ð\9eÑ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 Ð¸Ð·Ð¼ÐµÐ½ения для сохранения."
  
- #: lib/commit.tcl:352
+ #: lib/commit.tcl:360
  msgid "commit-tree failed:"
  msgstr "Программа commit-tree завершилась с ошибкой:"
  
- #: lib/commit.tcl:372
+ #: lib/commit.tcl:381
  msgid "update-ref failed:"
  msgstr "Программа update-ref завершилась с ошибкой:"
  
- #: lib/commit.tcl:460
+ #: lib/commit.tcl:469
  #, tcl-format
  msgid "Created commit %s: %s"
  msgstr "Создано состояние %s: %s "
@@@ -1503,20 -1537,19 +1537,19 @@@ msgstr "СжаÑ\82ие Ð±Ð°Ð·Ñ\8b Ð¾Ð±Ñ\8aеÐ
  msgid "Verifying the object database with fsck-objects"
  msgstr "Проверка базы объектов при помощи fsck"
  
- #: lib/database.tcl:108
+ #: lib/database.tcl:107
  #, tcl-format
  msgid ""
  "This repository currently has approximately %i loose objects.\n"
  "\n"
  "To maintain optimal performance it is strongly recommended that you compress "
- "the database when more than %i loose objects exist.\n"
+ "the database.\n"
  "\n"
  "Compress the database now?"
  msgstr ""
  "Этот репозиторий сейчас содержит примерно %i свободных объектов\n"
  "\n"
- "Для лучшей производительности рекомендуется сжать базу данных, когда есть "
- "более %i несвязанных объектов.\n"
+ "Для лучшей производительности рекомендуется сжать базу данных.\n"
  "\n"
  "Сжать базу данных сейчас?"
  
  msgid "Invalid date from Git: %s"
  msgstr "Неправильная дата в репозитории: %s"
  
- #: lib/diff.tcl:59
+ #: lib/diff.tcl:64
  #, tcl-format
  msgid ""
  "No differences detected.\n"
  msgstr ""
  "Изменений не обнаружено.\n"
  "\n"
- "в %s отутствуют изменения.\n"
+ "в %s Ð¾Ñ\82Ñ\81Ñ\83Ñ\82Ñ\81Ñ\82вÑ\83Ñ\8eÑ\82 Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f.\n"
  "\n"
  "Дата изменения файла была обновлена другой программой, но содержимое файла "
  "осталось прежним.\n"
  "\n"
  "Сейчас будет запущено перечитывание репозитория, чтобы найти подобные файлы."
  
- #: lib/diff.tcl:99
+ #: lib/diff.tcl:104
  #, tcl-format
  msgid "Loading diff of %s..."
  msgstr "Загрузка изменений в %s..."
  
- #: lib/diff.tcl:120
+ #: lib/diff.tcl:125
  msgid ""
  "LOCAL: deleted\n"
  "REMOTE:\n"
@@@ -1560,7 -1593,7 +1593,7 @@@ msgstr "
  "ЛОКАЛЬНО: удалён\n"
  "ВНЕШНИЙ:\n"
  
- #: lib/diff.tcl:125
+ #: lib/diff.tcl:130
  msgid ""
  "REMOTE: deleted\n"
  "LOCAL:\n"
@@@ -1568,41 -1601,41 +1601,41 @@@ msgstr "
  "ВНЕШНИЙ: удалён\n"
  "ЛОКАЛЬНО:\n"
  
- #: lib/diff.tcl:132
+ #: lib/diff.tcl:137
  msgid "LOCAL:\n"
  msgstr "ЛОКАЛЬНО:\n"
  
- #: lib/diff.tcl:135
+ #: lib/diff.tcl:140
  msgid "REMOTE:\n"
  msgstr "ВНЕШНИЙ:\n"
  
- #: lib/diff.tcl:197 lib/diff.tcl:296
+ #: lib/diff.tcl:202 lib/diff.tcl:319
  #, tcl-format
  msgid "Unable to display %s"
  msgstr "Не могу показать %s"
  
- #: lib/diff.tcl:198
+ #: lib/diff.tcl:203
  msgid "Error loading file:"
  msgstr "Ошибка загрузки файла:"
  
- #: lib/diff.tcl:205
+ #: lib/diff.tcl:210
  msgid "Git Repository (subproject)"
  msgstr "Репозиторий Git (подпроект)"
  
- #: lib/diff.tcl:217
+ #: lib/diff.tcl:222
  msgid "* Binary file (not showing content)."
  msgstr "* Двоичный файл (содержимое не показано)"
  
- #: lib/diff.tcl:222
+ #: lib/diff.tcl:227
  #, tcl-format
  msgid ""
  "* Untracked file is %d bytes.\n"
  "* Showing only first %d bytes.\n"
  msgstr ""
- "* Размер неподготовленого файла %d байт.\n"
+ "* Ð Ð°Ð·Ð¼ÐµÑ\80 Ð½ÐµÐ¿Ð¾Ð´Ð³Ð¾Ñ\82овленного Ñ\84айла %d Ð±Ð°Ð¹Ñ\82.\n"
  "* Показано первых %d байт.\n"
  
- #: lib/diff.tcl:228
+ #: lib/diff.tcl:233
  #, tcl-format
  msgid ""
  "\n"
  "* To see the entire file, use an external editor.\n"
  msgstr ""
  "\n"
- "* Неподготовленый файл обрезан: %s.\n"
+ "* Неподготовленный файл обрезан: %s.\n"
  "* Чтобы увидеть весь файл, используйте программу-редактор.\n"
  
- #: lib/diff.tcl:436
+ #: lib/diff.tcl:482
  msgid "Failed to unstage selected hunk."
  msgstr "Не удалось исключить выбранную часть."
  
- #: lib/diff.tcl:443
+ #: lib/diff.tcl:489
  msgid "Failed to stage selected hunk."
  msgstr "Не удалось подготовить к сохранению выбранную часть."
  
- #: lib/diff.tcl:509
+ #: lib/diff.tcl:568
  msgid "Failed to unstage selected line."
  msgstr "Не удалось исключить выбранную строку."
  
- #: lib/diff.tcl:517
+ #: lib/diff.tcl:576
  msgid "Failed to stage selected line."
  msgstr "Не удалось подготовить к сохранению выбранную строку."
  
@@@ -1662,15 -1695,15 +1695,15 @@@ msgstr "Ð\9dе Ñ\83далоÑ\81Ñ\8c Ñ\80азблÐ
  msgid "Index Error"
  msgstr "Ошибка в индексе"
  
- #: lib/index.tcl:21
+ #: lib/index.tcl:17
  msgid ""
  "Updating the Git index failed.  A rescan will be automatically started to "
  "resynchronize git-gui."
  msgstr ""
- "Не удалось обновить индекс Git. Состояние репозитория будетперечитано "
+ "Не удалось обновить индекс Git. Состояние репозитория будет перечитано "
  "автоматически."
  
- #: lib/index.tcl:27
+ #: lib/index.tcl:28
  msgid "Continue"
  msgstr "Продолжить"
  
  msgid "Unlock Index"
  msgstr "Разблокировать индекс"
  
- #: lib/index.tcl:287
+ #: lib/index.tcl:289
  #, tcl-format
  msgid "Unstaging %s from commit"
  msgstr "Удаление %s из подготовленного"
  
- #: lib/index.tcl:326
+ #: lib/index.tcl:328
  msgid "Ready to commit."
  msgstr "Подготовлено для сохранения"
  
- #: lib/index.tcl:339
+ #: lib/index.tcl:341
  #, tcl-format
  msgid "Adding %s"
  msgstr "Добавление %s..."
  
- #: lib/index.tcl:396
+ #: lib/index.tcl:398
  #, tcl-format
  msgid "Revert changes in file %s?"
  msgstr "Отменить изменения в файле %s?"
  
- #: lib/index.tcl:398
+ #: lib/index.tcl:400
  #, tcl-format
  msgid "Revert changes in these %i files?"
  msgstr "Отменить изменения в %i файле(-ах)?"
  
- #: lib/index.tcl:406
+ #: lib/index.tcl:408
  msgid "Any unstaged changes will be permanently lost by the revert."
  msgstr ""
  "Любые изменения, не подготовленные к сохранению, будут потеряны при данной "
  "операции."
  
- #: lib/index.tcl:409
+ #: lib/index.tcl:411
  msgid "Do Nothing"
  msgstr "Ничего не делать"
  
- #: lib/index.tcl:427
+ #: lib/index.tcl:429
  msgid "Reverting selected files"
- msgstr "Удаление изменений в выбраных файлах"
+ msgstr "Удаление изменений в выбранных файлах"
  
- #: lib/index.tcl:431
+ #: lib/index.tcl:433
  #, tcl-format
  msgid "Reverting %s"
  msgstr "Отмена изменений в %s"
@@@ -1778,7 -1811,7 +1811,7 @@@ msgstr "
  "\n"
  "Файл %s изменен.\n"
  "\n"
- "Подготовьте и сохраните измения перед началом слияния. В случае "
+ "Ð\9fодгоÑ\82овÑ\8cÑ\82е Ð¸ Ñ\81оÑ\85Ñ\80аниÑ\82е Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ\8f Ð¿ÐµÑ\80ед Ð½Ð°Ñ\87алом Ñ\81лиÑ\8fниÑ\8f. Ð\92 Ñ\81лÑ\83Ñ\87ае "
  "необходимости это позволит прервать операцию слияния.\n"
  
  #: lib/merge.tcl:107
@@@ -1893,7 -1926,7 +1926,7 @@@ msgstr "
  #, tcl-format
  msgid "File %s seems to have unresolved conflicts, still stage?"
  msgstr ""
- "Файл %s кажется содержит необработаные конфликты. Продолжить подготовку к "
+ "Файл %s, похоже, содержит необработанные конфликты. Продолжить подготовку к "
  "сохранению?"
  
  #: lib/mergetool.tcl:60
@@@ -2152,7 -2185,7 +2185,7 @@@ msgstr "Получение %s
  #: lib/remote_add.tcl:157
  #, tcl-format
  msgid "Do not know how to initialize repository at location '%s'."
- msgstr "Невозможно инициалировать репозиторий в '%s'."
+ msgstr "Невозможно инициализировать репозиторий в '%s'."
  
  #: lib/remote_add.tcl:163 lib/transport.tcl:25 lib/transport.tcl:63
  #: lib/transport.tcl:81
@@@ -2179,7 -2212,7 +2212,7 @@@ msgstr "внешний:
  
  #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:149
  msgid "Arbitrary Location:"
- msgstr "Указаное положение:"
+ msgstr "Указанное Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ:"
  
  #: lib/remote_branch_delete.tcl:84
  msgid "Branches"
@@@ -2193,10 -2226,6 +2226,6 @@@ msgstr "Удалить только в 
  msgid "Merged Into:"
  msgstr "Слияние с:"
  
- #: lib/remote_branch_delete.tcl:119
- msgid "Always (Do not perform merge checks)"
- msgstr "Всегда (не выполнять проверку на слияние)"
  #: lib/remote_branch_delete.tcl:152
  msgid "A branch is required for 'Merged Into'."
  msgstr "Для опции 'Слияние с' требуется указать ветвь."
@@@ -2225,26 -2254,16 +2254,16 @@@ msgstr "
  msgid "Please select one or more branches to delete."
  msgstr "Укажите одну или несколько ветвей для удаления."
  
- #: lib/remote_branch_delete.tcl:216
- msgid ""
- "Recovering deleted branches is difficult.\n"
- "\n"
- "Delete the selected branches?"
- msgstr ""
- "Восстановить удаленные ветви сложно.\n"
- "\n"
- "Продолжить?"
  #: lib/remote_branch_delete.tcl:226
  #, tcl-format
  msgid "Deleting branches from %s"
  msgstr "Удаление ветвей из %s"
  
- #: lib/remote_branch_delete.tcl:286
+ #: lib/remote_branch_delete.tcl:292
  msgid "No repository selected."
  msgstr "Не указан репозиторий."
  
- #: lib/remote_branch_delete.tcl:291
+ #: lib/remote_branch_delete.tcl:297
  #, tcl-format
  msgid "Scanning %s..."
  msgstr "Перечитывание %s... "
@@@ -2265,11 -2284,11 +2284,11 @@@ msgstr "Обратно
  msgid "Case-Sensitive"
  msgstr "Игн. большие/маленькие"
  
- #: lib/shortcut.tcl:20 lib/shortcut.tcl:61
+ #: lib/shortcut.tcl:21 lib/shortcut.tcl:62
  msgid "Cannot write shortcut:"
  msgstr "Невозможно записать ссылку:"
  
- #: lib/shortcut.tcl:136
+ #: lib/shortcut.tcl:137
  msgid "Cannot write icon:"
  msgstr "Невозможно записать значок:"
  
@@@ -2292,11 -2311,11 +2311,11 @@@ msgstr "Словарь вернут к 
  
  #: lib/spellcheck.tcl:73
  msgid "Spell checker silently failed on startup"
- msgstr "Программа проверки правописания не смогла запустится"
+ msgstr "Ð\9fÑ\80огÑ\80амма Ð¿Ñ\80овеÑ\80ки Ð¿Ñ\80авопиÑ\81аниÑ\8f Ð½Ðµ Ñ\81могла Ð·Ð°Ð¿Ñ\83Ñ\81Ñ\82иÑ\82Ñ\8cÑ\81Ñ\8f"
  
  #: lib/spellcheck.tcl:80
  msgid "Unrecognized spell checker"
- msgstr "Нераспознаная программа проверки правописания"
+ msgstr "Ð\9dеÑ\80аÑ\81познаннаÑ\8f Ð¿Ñ\80огÑ\80амма Ð¿Ñ\80овеÑ\80ки Ð¿Ñ\80авопиÑ\81аниÑ\8f"
  
  #: lib/spellcheck.tcl:186
  msgid "No Suggestions"
@@@ -2412,7 -2431,7 +2431,7 @@@ msgstr "Описание вспомог
  
  #: lib/tools_dlg.tcl:48
  msgid "Use '/' separators to create a submenu tree:"
- msgstr "Испольуйте '/' для создания подменю"
+ msgstr "Используйте '/' для создания подменю"
  
  #: lib/tools_dlg.tcl:61
  msgid "Command:"