From d277e89f87fda01daa1e1a35fc1f7118678faa1f Mon Sep 17 00:00:00 2001 From: Paul Mackerras <paulus@samba.org> Date: Sun, 21 Sep 2008 18:11:37 -0500 Subject: [PATCH 01/11] gitk: Use <Button-2> for context menus on OSX An OSX user has reported that gitk's context menus are not usable under OSX because it doesn't provide a way to generate <Button-3> events. Users can generate <Button-2> events with command+click, so use that for the context menus instead on OSX. Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gitk b/gitk index 2eaa2ae7d6..e61e68b88a 100755 --- a/gitk +++ b/gitk @@ -2166,7 +2166,8 @@ proc makewindow {} { bind $cflist <1> {sel_flist %W %x %y; break} bind $cflist <B1-Motion> {sel_flist %W %x %y; break} bind $cflist <ButtonRelease-1> {treeclick %W %x %y} - bind $cflist <Button-3> {pop_flist_menu %W %X %Y %x %y} + global ctxbut + bind $cflist $ctxbut {pop_flist_menu %W %X %Y %x %y} set maincursor [. cget -cursor] set textcursor [$ctext cget -cursor] @@ -4919,7 +4920,7 @@ proc drawcmittext {id row col} { global rowtextx idpos idtags idheads idotherrefs global linehtag linentag linedtag selectedline global canvxmax boldrows boldnamerows fgcolor - global mainheadid nullid nullid2 circleitem circlecolors + global mainheadid nullid nullid2 circleitem circlecolors ctxbut # listed is 0 for boundary, 1 for normal, 2 for negative, 3 for left, 4 for right set listed $cmitlisted($curview,$id) @@ -4992,7 +4993,7 @@ proc drawcmittext {id row col} { } set linehtag($row) [$canv create text $xt $y -anchor w -fill $fgcolor \ -text $headline -font $font -tags text] - $canv bind $linehtag($row) <Button-3> "rowmenu %X %Y $id" + $canv bind $linehtag($row) $ctxbut "rowmenu %X %Y $id" set linentag($row) [$canv2 create text 3 $y -anchor w -fill $fgcolor \ -text $name -font $nfont -tags text] set linedtag($row) [$canv3 create text 3 $y -anchor w -fill $fgcolor \ @@ -5334,7 +5335,7 @@ proc bindline {t id} { proc drawtags {id x xt y1} { global idtags idheads idotherrefs mainhead global linespc lthickness - global canv rowtextx curview fgcolor bgcolor + global canv rowtextx curview fgcolor bgcolor ctxbut set marks {} set ntags 0 @@ -5412,7 +5413,7 @@ proc drawtags {id x xt y1} { if {$ntags >= 0} { $canv bind $t <1> [list showtag $tag 1] } elseif {$nheads >= 0} { - $canv bind $t <Button-3> [list headmenu %X %Y $id $tag] + $canv bind $t $ctxbut [list headmenu %X %Y $id $tag] } } return $xt @@ -9851,6 +9852,13 @@ set selectbgcolor gray85 set circlecolors {white blue gray blue blue} +# button for popping up context menus +if {[tk windowingsystem] eq "aqua"} { + set ctxbut <Button-2> +} else { + set ctxbut <Button-3> +} + ## For msgcat loading, first locate the installation location. if { [info exists ::env(GITK_MSGSDIR)] } { ## Msgsdir was manually set in the environment. From b8a640ee1aa45e0f874664417db8a05d5a0d48b0 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov <angavrilov@gmail.com> Date: Mon, 8 Sep 2008 11:28:16 +0400 Subject: [PATCH 02/11] gitk: Fix a bug in collapsing deeply nested trees To reproduce: expand a tree like this, then collapse A: +A +B C D The result is: -A C D I.e. sub-nodes expanded from the last sub-node of the item being collapsed are not removed. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitk b/gitk index e61e68b88a..b097230079 100755 --- a/gitk +++ b/gitk @@ -2706,7 +2706,7 @@ proc treeopendir {w dir} { $w insert e:$ix $e [highlight_tag $de] } } - $w mark gravity e:$ix left + $w mark gravity e:$ix right $w conf -state disabled set treediropen($dir) 1 set top [lindex [split [$w index @0,0] .] 0] From 3945d2c05226d6c380a4f1b70f11941a6503a97e Mon Sep 17 00:00:00 2001 From: Christian Stimming <stimming@tuhh.de> Date: Fri, 12 Sep 2008 11:39:43 +0200 Subject: [PATCH 03/11] gitk: Add untranslated error messages to translation Signed-off-by: Christian Stimming <stimming@tuhh.de> Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/gitk b/gitk index b097230079..dce17e9f17 100755 --- a/gitk +++ b/gitk @@ -269,7 +269,7 @@ proc parseviewrevs {view revs} { lappend badrev $line } } - error_popup "Error parsing revisions: $err" + error_popup "[mc "Error parsing revisions:"] $err" return {} } set ret {} @@ -324,7 +324,7 @@ proc start_rev_list {view} { if {[catch { set str [exec sh -c $viewargscmd($view)] } err]} { - error_popup "Error executing --argscmd command: $err" + error_popup "[mc "Error executing --argscmd command:"] $err" return 0 } set args [concat $args [split $str "\n"]] @@ -500,7 +500,7 @@ proc updatecommits {} { set fd [open [concat | git log --no-color -z --pretty=raw --parents \ --boundary $args "--" $vfilelimit($view)] r] } err]} { - error_popup "Error executing git log: $err" + error_popup "[mc "Error executing git log:"] $err" return } if {$viewactive($view) == 0} { @@ -2937,7 +2937,7 @@ proc save_file_from_commit {filename output what} { if {[string match "fatal: bad revision *" $err]} { return $nullfile } - error_popup "Error getting \"$filename\" from $what: $err" + error_popup "[mc "Error getting \"%s\" from %s:" $filename $what] $err" return {} } return $output @@ -2994,7 +2994,7 @@ proc external_diff {} { set gitktmpdir [file join [file dirname $gitdir] \ [format ".gitk-tmp.%s" [pid]]] if {[catch {file mkdir $gitktmpdir} err]} { - error_popup "Error creating temporary directory $gitktmpdir: $err" + error_popup "[mc "Error creating temporary directory %s:" $gitktmpdir] $err" unset gitktmpdir return } @@ -3003,7 +3003,7 @@ proc external_diff {} { incr diffnum set diffdir [file join $gitktmpdir $diffnum] if {[catch {file mkdir $diffdir} err]} { - error_popup "Error creating temporary directory $diffdir: $err" + error_popup "[mc "Error creating temporary directory %s:" $diffdir] $err" return } @@ -3016,7 +3016,7 @@ proc external_diff {} { [list $difffromfile $difftofile]] if {[catch {set fl [open $cmd r]} err]} { file delete -force $diffdir - error_popup [mc "$extdifftool: command failed: $err"] + error_popup "$extdifftool: [mc "command failed:"] $err" } else { fconfigure $fl -blocking 0 filerun $fl [list delete_at_eof $fl $diffdir] @@ -3041,7 +3041,7 @@ proc external_blame {parent_idx} { } if {[catch {exec git gui blame $base_commit $flist_menu_file &} err]} { - error_popup [mc "git gui blame: command failed: $err"] + error_popup "[mc "git gui blame: command failed:"] $err" } } @@ -3050,7 +3050,7 @@ proc delete_at_eof {f dir} { while {[gets $f line] >= 0} {} if {[eof $f]} { if {[catch {close $f} err]} { - error_popup "External diff viewer failed: $err" + error_popup "[mc "External diff viewer failed:"] $err" } file delete -force $dir return 0 From 09c7029dfa58748268a6306bfe764456a65a22bf Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov <angavrilov@gmail.com> Date: Mon, 13 Oct 2008 12:12:31 +0400 Subject: [PATCH 04/11] gitk: Enhance file encoding support This allows the encoding to be specified for file contents and used when displaying files and diffs in the bottom-left pane. When displaying diffs, the encoding for each diff hunk is that for the file that the diff hunk is from, so it can change through the course of the diff. The encoding for file contents is determined as follows: - File encoding defaults to the system encoding. - It can be overridden by setting the gui.encoding option. - Finally, the 'encoding' attribute is checked on per-file basis; it has the last word. Note: Since git-check-attr does not provide support for reading attributes from trees, attribute lookup is done using files from the working directory. This also extends the range of supported encoding names, adding ShiftJIS and Shift-JIS as aliases for Shift_JIS, and allowing cp-*, cp_*, ibm-*, ibm_*, jis-* and jis_* as aliases for cp*, ibm* and jis* respectively. This also fixes some bugs in handling of non-ASCII filenames. Core git apparently supports only locale-encoded filenames, so processing is done using the system encoding. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 63 insertions(+), 11 deletions(-) diff --git a/gitk b/gitk index dce17e9f17..5f35f612c7 100755 --- a/gitk +++ b/gitk @@ -6229,7 +6229,7 @@ proc gettree {id} { set treepending $id set treefilelist($id) {} set treeidlist($id) {} - fconfigure $gtf -blocking 0 + fconfigure $gtf -blocking 0 -encoding binary filerun $gtf [list gettreeline $gtf $id] } } else { @@ -6251,11 +6251,12 @@ proc gettreeline {gtf id} { set line [string range $line 0 [expr {$i-1}]] if {$diffids ne $nullid2 && [lindex $line 1] ne "blob"} continue set sha1 [lindex $line 2] - if {[string index $fname 0] eq "\""} { - set fname [lindex $fname 0] - } lappend treeidlist($id) $sha1 } + if {[string index $fname 0] eq "\""} { + set fname [lindex $fname 0] + } + set fname [encoding convertfrom $fname] lappend treefilelist($id) $fname } if {![eof $gtf]} { @@ -6296,7 +6297,7 @@ proc showfile {f} { return } } - fconfigure $bf -blocking 0 + fconfigure $bf -blocking 0 -encoding [get_path_encoding $f] filerun $bf [list getblobline $bf $diffids] $ctext config -state normal clear_ctext $commentend @@ -6334,6 +6335,7 @@ proc mergediff {id} { global diffids global parents global diffcontext + global diffencoding global limitdiffs vfilelimit curview set diffmergeid $id @@ -6347,9 +6349,10 @@ proc mergediff {id} { error_popup "[mc "Error getting merge diffs:"] $err" return } - fconfigure $mdf -blocking 0 + fconfigure $mdf -blocking 0 -encoding binary set mdifffd($id) $mdf set np [llength $parents($curview,$id)] + set diffencoding [get_path_encoding {}] settabs $np filerun $mdf [list getmergediffline $mdf $id $np] } @@ -6357,6 +6360,7 @@ proc mergediff {id} { proc getmergediffline {mdf id np} { global diffmergeid ctext cflist mergemax global difffilestart mdifffd + global diffencoding $ctext conf -state normal set nr 0 @@ -6368,18 +6372,22 @@ proc getmergediffline {mdf id np} { } if {[regexp {^diff --cc (.*)} $line match fname]} { # start of a new file + set fname [encoding convertfrom $fname] $ctext insert end "\n" set here [$ctext index "end - 1c"] lappend difffilestart $here add_flist [list $fname] + set diffencoding [get_path_encoding $fname] set l [expr {(78 - [string length $fname]) / 2}] set pad [string range "----------------------------------------" 1 $l] $ctext insert end "$pad $fname $pad\n" filesep } elseif {[regexp {^@@} $line]} { + set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" hunksep } elseif {[regexp {^[0-9a-f]{40}$} $line] || [regexp {^index} $line]} { # do nothing } else { + set line [encoding convertfrom $diffencoding $line] # parse the prefix - one ' ', '-' or '+' for each parent set spaces {} set minuses {} @@ -6514,7 +6522,7 @@ proc gettreediffs {ids} { set treepending $ids set treediff {} - fconfigure $gdtf -blocking 0 + fconfigure $gdtf -blocking 0 -encoding binary filerun $gdtf [list gettreediffline $gdtf $ids] } @@ -6530,6 +6538,7 @@ proc gettreediffline {gdtf ids} { if {[string index $file 0] eq "\""} { set file [lindex $file 0] } + set file [encoding convertfrom $file] lappend treediff $file } } @@ -6587,6 +6596,7 @@ proc getblobdiffs {ids} { global diffcontext global ignorespace global limitdiffs vfilelimit curview + global diffencoding set cmd [diffcmd $ids "-p -C --no-commit-id -U$diffcontext"] if {$ignorespace} { @@ -6600,7 +6610,8 @@ proc getblobdiffs {ids} { return } set diffinhdr 0 - fconfigure $bdf -blocking 0 + set diffencoding [get_path_encoding {}] + fconfigure $bdf -blocking 0 -encoding binary set blobdifffd($ids) $bdf filerun $bdf [list getblobdiffline $bdf $diffids] } @@ -6634,6 +6645,7 @@ proc getblobdiffline {bdf ids} { global diffids blobdifffd ctext curdiffstart global diffnexthead diffnextnote difffilestart global diffinhdr treediffs + global diffencoding set nr 0 $ctext conf -state normal @@ -6671,10 +6683,13 @@ proc getblobdiffline {bdf ids} { } else { set fname [string range $line 2 [expr {$i - 1}]] } + set fname [encoding convertfrom $fname] + set diffencoding [get_path_encoding $fname] makediffhdr $fname $ids } elseif {[regexp {^@@ -([0-9]+)(,[0-9]+)? \+([0-9]+)(,[0-9]+)? @@(.*)} \ $line match f1l f1c f2l f2c rest]} { + set line [encoding convertfrom $diffencoding $line] $ctext insert end "$line\n" hunksep set diffinhdr 0 @@ -6684,6 +6699,7 @@ proc getblobdiffline {bdf ids} { if {[string index $fname 0] eq "\""} { set fname [lindex $fname 0] } + set fname [encoding convertfrom $fname] set i [lsearch -exact $treediffs($ids) $fname] if {$i >= 0} { setinlist difffilestart $i $curdiffstart @@ -6694,6 +6710,8 @@ proc getblobdiffline {bdf ids} { if {[string index $fname 0] eq "\""} { set fname [lindex $fname 0] } + set fname [encoding convertfrom $fname] + set diffencoding [get_path_encoding $fname] makediffhdr $fname $ids } elseif {[string compare -length 3 $line "---"] == 0} { # do nothing @@ -6705,6 +6723,7 @@ proc getblobdiffline {bdf ids} { $ctext insert end "$line\n" filesep } else { + set line [encoding convertfrom $diffencoding $line] set x [string range $line 0 0] if {$x == "-" || $x == "+"} { set tag [expr {$x == "+"}] @@ -9727,7 +9746,7 @@ set encoding_aliases { { ISO-8859-16 iso-ir-226 ISO_8859-16:2001 ISO_8859-16 latin10 l10 } { GBK CP936 MS936 windows-936 } { JIS_Encoding csJISEncoding } - { Shift_JIS MS_Kanji csShiftJIS } + { Shift_JIS MS_Kanji csShiftJIS ShiftJIS Shift-JIS } { Extended_UNIX_Code_Packed_Format_for_Japanese csEUCPkdFmtJapanese EUC-JP } { Extended_UNIX_Code_Fixed_Width_for_Japanese csEUCFixWidJapanese } @@ -9769,7 +9788,7 @@ proc tcl_encoding {enc} { set i [lsearch -exact $lcnames $enc] if {$i < 0} { # look for "isonnn" instead of "iso-nnn" or "iso_nnn" - if {[regsub {^iso[-_]} $enc iso encx]} { + if {[regsub {^(iso|cp|ibm|jis)[-_]} $enc {\1} encx]} { set i [lsearch -exact $lcnames $encx] } } @@ -9781,7 +9800,7 @@ proc tcl_encoding {enc} { foreach e $ll { set i [lsearch -exact $lcnames $e] if {$i < 0} { - if {[regsub {^iso[-_]} $e iso ex]} { + if {[regsub {^(iso|cp|ibm|jis)[-_]} $e {\1} ex]} { set i [lsearch -exact $lcnames $ex] } } @@ -9796,6 +9815,34 @@ proc tcl_encoding {enc} { return {} } +proc gitattr {path attr default} { + if {[catch {set r [exec git check-attr $attr -- $path]}]} { + set r unspecified + } else { + set r [join [lrange [split $r :] 2 end] :] + regsub {^ } $r {} r + } + if {$r eq {unspecified}} { + return $default + } + return $r +} + +proc get_path_encoding {path} { + global gui_encoding + set tcl_enc [tcl_encoding $gui_encoding] + if {$tcl_enc eq {}} { + set tcl_enc [encoding system] + } + if {$path ne {}} { + set enc2 [tcl_encoding [gitattr $path encoding $tcl_enc]] + if {$enc2 ne {}} { + set tcl_enc $enc2 + } + } + return $tcl_enc +} + # First check that Tcl/Tk is recent enough if {[catch {package require Tk 8.4} err]} { show_error {} . [mc "Sorry, gitk cannot run with this version of Tcl/Tk.\n\ @@ -9818,6 +9865,11 @@ if {$tclencoding == {}} { puts stderr "Warning: encoding $gitencoding is not supported by Tcl/Tk" } +set gui_encoding [encoding system] +catch { + set gui_encoding [exec git config --get gui.encoding] +} + set mainfont {Helvetica 9} set textfont {Courier 9} set uifont {Helvetica 9 bold} From 4db09304f97b12d7db5d199eebb1f24c74e12d17 Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov <angavrilov@gmail.com> Date: Mon, 13 Oct 2008 12:12:33 +0400 Subject: [PATCH 05/11] gitk: Implement batch lookup and caching of encoding attrs When the diff contains thousands of files, calling git-check-attr once per file is very slow. With this patch gitk does attribute lookup in batches of 30 files while reading the diff file list, which leads to a very noticeable speedup. It may be possible to reimplement this even more efficiently, if git-check-attr is modified to support a --stdin-paths option. Additionally, it should quote the ':' character in file paths, or provide a more robust way of column separation. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/gitk b/gitk index 5f35f612c7..8cd3171c4c 100755 --- a/gitk +++ b/gitk @@ -6531,6 +6531,7 @@ proc gettreediffline {gdtf ids} { global cmitmode vfilelimit curview limitdiffs set nr 0 + set sublist {} while {[incr nr] <= 1000 && [gets $gdtf line] >= 0} { set i [string first "\t" $line] if {$i >= 0} { @@ -6540,8 +6541,10 @@ proc gettreediffline {gdtf ids} { } set file [encoding convertfrom $file] lappend treediff $file + lappend sublist $file } } + cache_gitattr encoding $sublist if {![eof $gdtf]} { return [expr {$nr >= 1000? 2: 1}] } @@ -9816,18 +9819,48 @@ proc tcl_encoding {enc} { } proc gitattr {path attr default} { - if {[catch {set r [exec git check-attr $attr -- $path]}]} { + global path_attr_cache + if {[info exists path_attr_cache($attr,$path)]} { + set r $path_attr_cache($attr,$path) + } elseif {[catch {set r [exec git check-attr $attr -- $path]}]} { set r unspecified } else { set r [join [lrange [split $r :] 2 end] :] regsub {^ } $r {} r } + set path_attr_cache($attr,$path) $r if {$r eq {unspecified}} { return $default } return $r } +proc cache_gitattr {attr pathlist} { + global path_attr_cache + set newlist {} + foreach path $pathlist { + if {[info exists path_attr_cache($attr,$path)]} continue + lappend newlist $path + } + while {$newlist ne {}} { + set head [lrange $newlist 0 29] + set newlist [lrange $newlist 30 end] + if {![catch {set rlist [eval exec git check-attr $attr -- $head]}]} { + foreach row [split $rlist "\n"] { + set cols [split $row :] + set path [lindex $cols 0] + set value [join [lrange $cols 2 end] :] + if {[string index $path 0] eq "\""} { + set path [encoding convertfrom [lindex $path 0]] + } + regsub {^ } $value {} value + set path_attr_cache($attr,$path) $value + } + } + update + } +} + proc get_path_encoding {path} { global gui_encoding set tcl_enc [tcl_encoding $gui_encoding] From 39ee47ef0616fb67ffdffca98283272c36deecc9 Mon Sep 17 00:00:00 2001 From: Paul Mackerras <paulus@samba.org> Date: Wed, 15 Oct 2008 22:23:03 +1100 Subject: [PATCH 06/11] gitk: Clean up file encoding code and add enable/disable option This adds an option allowing the user to select whether gitk should look up per-file encoding settings using git check-attr or not. If not, gitk uses the global encoding set in the git config (as reported by git config --get gui.encoding) for all files, or if that is not set, then the system encoding. The option is controlled by a checkbox in the Edit->Preferences window, and defaults to off for now because git check-attr is so slow. When the user turns it on we discard any cached diff file lists in treediffs, because we may not have encodings cached for the files listed in those lists, meaning that getblobdiffline will do it for each file, which will be really really slow. This adjusts the limit of how many paths cache_gitattr passes to each instance of git check-attr depending on whether we're running under windows or not. Passing only 30 doesn't effectively amortize the startup costs of git check-attr, but it's all we can do under windows because of the 32k limit on arguments to a command. Under other OSes we pass up to 1000. Similarly we adjust how many lines gettreediffline processes depending on whether we are doing per-file encodings so that we don't run for too long. When we are, 500 seems to be a reasonable limit, leading to gettreediffline taking about 60-70ms under Linux (almost all of which is in cache_gitattr, unfortunately). This means that we can take out the update call in cache_gitattr. This adds a simple cache on [tclencoding]. Now that we get repeated calls to translate the same encoding, this is useful. This reindents the new code added in the last couple of commits to conform to the gitk 4-space indent and makes various other improvements: use regexp in gitattr and cache_gitattr instead of split + join + regsub, make gui_encoding be the value from [tclencoding] to avoid having to do [tcl_encoding $gui_encoding] in each call to get_path_encoding, and print a warning message at startup if $gui_encoding isn't supported by Tcl. Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 149 ++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 91 insertions(+), 58 deletions(-) diff --git a/gitk b/gitk index 8cd3171c4c..ccfe1917cb 100755 --- a/gitk +++ b/gitk @@ -2332,7 +2332,7 @@ proc savestuff {w} { global viewname viewfiles viewargs viewargscmd viewperm nextviewnum global cmitmode wrapcomment datetimeformat limitdiffs global colors bgcolor fgcolor diffcolors diffcontext selectbgcolor - global autoselect extdifftool + global autoselect extdifftool perfile_attrs if {$stuffsaved} return if {![winfo viewable .]} return @@ -2359,6 +2359,7 @@ proc savestuff {w} { puts $f [list set diffcontext $diffcontext] puts $f [list set selectbgcolor $selectbgcolor] puts $f [list set extdifftool $extdifftool] + puts $f [list set perfile_attrs $perfile_attrs] puts $f "set geometry(main) [wm geometry .]" puts $f "set geometry(topwidth) [winfo width .tf]" @@ -6528,11 +6529,20 @@ proc gettreediffs {ids} { proc gettreediffline {gdtf ids} { global treediff treediffs treepending diffids diffmergeid - global cmitmode vfilelimit curview limitdiffs + global cmitmode vfilelimit curview limitdiffs perfile_attrs set nr 0 set sublist {} - while {[incr nr] <= 1000 && [gets $gdtf line] >= 0} { + set max 1000 + if {$perfile_attrs} { + # cache_gitattr is slow, and even slower on win32 where we + # have to invoke it for only about 30 paths at a time + set max 500 + if {[tk windowingsystem] == "win32"} { + set max 120 + } + } + while {[incr nr] <= $max && [gets $gdtf line] >= 0} { set i [string first "\t" $line] if {$i >= 0} { set file [string range $line [expr {$i+1}] end] @@ -6544,9 +6554,11 @@ proc gettreediffline {gdtf ids} { lappend sublist $file } } - cache_gitattr encoding $sublist + if {$perfile_attrs} { + cache_gitattr encoding $sublist + } if {![eof $gdtf]} { - return [expr {$nr >= 1000? 2: 1}] + return [expr {$nr >= $max? 2: 1}] } close $gdtf if {$limitdiffs && $vfilelimit($curview) ne {}} { @@ -9318,7 +9330,7 @@ proc doprefs {} { global maxwidth maxgraphpct global oldprefs prefstop showneartags showlocalchanges global bgcolor fgcolor ctext diffcolors selectbgcolor - global tabstop limitdiffs autoselect extdifftool + global tabstop limitdiffs autoselect extdifftool perfile_attrs set top .gitkprefs set prefstop $top @@ -9327,7 +9339,7 @@ proc doprefs {} { return } foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ - limitdiffs tabstop} { + limitdiffs tabstop perfile_attrs} { set oldprefs($v) [set $v] } toplevel $top @@ -9369,6 +9381,11 @@ proc doprefs {} { checkbutton $top.ldiff.b -variable limitdiffs pack $top.ldiff.b $top.ldiff.l -side left grid x $top.ldiff -sticky w + frame $top.lattr + label $top.lattr.l -text [mc "Support per-file encodings"] -font optionfont + checkbutton $top.lattr.b -variable perfile_attrs + pack $top.lattr.b $top.lattr.l -side left + grid x $top.lattr -sticky w entry $top.extdifft -textvariable extdifftool frame $top.extdifff @@ -9478,7 +9495,7 @@ proc prefscan {} { global oldprefs prefstop foreach v {maxwidth maxgraphpct showneartags showlocalchanges \ - limitdiffs tabstop} { + limitdiffs tabstop perfile_attrs} { global $v set $v $oldprefs($v) } @@ -9491,7 +9508,7 @@ proc prefsok {} { global maxwidth maxgraphpct global oldprefs prefstop showneartags showlocalchanges global fontpref mainfont textfont uifont - global limitdiffs treediffs + global limitdiffs treediffs perfile_attrs catch {destroy $prefstop} unset prefstop @@ -9524,8 +9541,10 @@ proc prefsok {} { dohidelocalchanges } } - if {$limitdiffs != $oldprefs(limitdiffs)} { - # treediffs elements are limited by path + if {$limitdiffs != $oldprefs(limitdiffs) || + ($perfile_attrs && !$oldprefs(perfile_attrs))} { + # treediffs elements are limited by path; + # won't have encodings cached if perfile_attrs was just turned on catch {unset treediffs} } if {$fontchanged || $maxwidth != $oldprefs(maxwidth) @@ -9784,7 +9803,10 @@ set encoding_aliases { } proc tcl_encoding {enc} { - global encoding_aliases + global encoding_aliases tcl_encoding_cache + if {[info exists tcl_encoding_cache($enc)]} { + return $tcl_encoding_cache($enc) + } set names [encoding names] set lcnames [string tolower $names] set enc [string tolower $enc] @@ -9812,68 +9834,70 @@ proc tcl_encoding {enc} { break } } + set tclenc {} if {$i >= 0} { - return [lindex $names $i] + set tclenc [lindex $names $i] } - return {} + set tcl_encoding_cache($enc) $tclenc + return $tclenc } proc gitattr {path attr default} { - global path_attr_cache - if {[info exists path_attr_cache($attr,$path)]} { - set r $path_attr_cache($attr,$path) - } elseif {[catch {set r [exec git check-attr $attr -- $path]}]} { - set r unspecified - } else { - set r [join [lrange [split $r :] 2 end] :] - regsub {^ } $r {} r + global path_attr_cache + if {[info exists path_attr_cache($attr,$path)]} { + set r $path_attr_cache($attr,$path) + } else { + set r "unspecified" + if {![catch {set line [exec git check-attr $attr -- $path]}]} { + regexp "(.*): encoding: (.*)" $line m f r } set path_attr_cache($attr,$path) $r - if {$r eq {unspecified}} { - return $default - } - return $r + } + if {$r eq "unspecified"} { + return $default + } + return $r } proc cache_gitattr {attr pathlist} { - global path_attr_cache - set newlist {} - foreach path $pathlist { - if {[info exists path_attr_cache($attr,$path)]} continue - lappend newlist $path + global path_attr_cache + set newlist {} + foreach path $pathlist { + if {![info exists path_attr_cache($attr,$path)]} { + lappend newlist $path } - while {$newlist ne {}} { - set head [lrange $newlist 0 29] - set newlist [lrange $newlist 30 end] - if {![catch {set rlist [eval exec git check-attr $attr -- $head]}]} { - foreach row [split $rlist "\n"] { - set cols [split $row :] - set path [lindex $cols 0] - set value [join [lrange $cols 2 end] :] - if {[string index $path 0] eq "\""} { - set path [encoding convertfrom [lindex $path 0]] - } - regsub {^ } $value {} value - set path_attr_cache($attr,$path) $value - } + } + set lim 1000 + if {[tk windowingsystem] == "win32"} { + # windows has a 32k limit on the arguments to a command... + set lim 30 + } + while {$newlist ne {}} { + set head [lrange $newlist 0 [expr {$lim - 1}]] + set newlist [lrange $newlist $lim end] + if {![catch {set rlist [eval exec git check-attr $attr -- $head]}]} { + foreach row [split $rlist "\n"] { + if {[regexp "(.*): encoding: (.*)" $row m path value]} { + if {[string index $path 0] eq "\""} { + set path [encoding convertfrom [lindex $path 0]] + } + set path_attr_cache($attr,$path) $value } - update + } } + } } proc get_path_encoding {path} { - global gui_encoding - set tcl_enc [tcl_encoding $gui_encoding] - if {$tcl_enc eq {}} { - set tcl_enc [encoding system] + global gui_encoding perfile_attrs + set tcl_enc $gui_encoding + if {$path ne {} && $perfile_attrs} { + set enc2 [tcl_encoding [gitattr $path encoding $tcl_enc]] + if {$enc2 ne {}} { + set tcl_enc $enc2 } - if {$path ne {}} { - set enc2 [tcl_encoding [gitattr $path encoding $tcl_enc]] - if {$enc2 ne {}} { - set tcl_enc $enc2 - } - } - return $tcl_enc + } + return $tcl_enc } # First check that Tcl/Tk is recent enough @@ -9900,7 +9924,15 @@ if {$tclencoding == {}} { set gui_encoding [encoding system] catch { - set gui_encoding [exec git config --get gui.encoding] + set enc [exec git config --get gui.encoding] + if {$enc ne {}} { + set tclenc [tcl_encoding $enc] + if {$tclenc ne {}} { + set gui_encoding $tclenc + } else { + puts stderr "Warning: encoding $enc is not supported by Tcl/Tk" + } + } } set mainfont {Helvetica 9} @@ -9924,6 +9956,7 @@ set showlocalchanges 1 set limitdiffs 1 set datetimeformat "%Y-%m-%d %H:%M:%S" set autoselect 1 +set perfile_attrs 0 set extdifftool "meld" From 968ce45c9d2765b527d895b6933d20c0d104387c Mon Sep 17 00:00:00 2001 From: Paul Mackerras <paulus@samba.org> Date: Thu, 16 Oct 2008 09:57:02 +1100 Subject: [PATCH 07/11] gitk: Fix binding for <Return> in sha1 entry field This adds a break so that gitk doesn't go and execute the global binding for <Return> (i.e. find next) when the user presses the return key in the sha1 entry field to indicate that gitk should jump to the commit identified by what they just put into the sha1 field. Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitk b/gitk index ccfe1917cb..00ea8da735 100755 --- a/gitk +++ b/gitk @@ -2161,7 +2161,7 @@ proc makewindow {} { bind . <Destroy> {stop_backends} bind . <Button-1> "click %W" bind $fstring <Key-Return> {dofind 1 1} - bind $sha1entry <Key-Return> gotocommit + bind $sha1entry <Key-Return> {gotocommit; break} bind $sha1entry <<PasteSelection>> clearsha1 bind $cflist <1> {sel_flist %W %x %y; break} bind $cflist <B1-Motion> {sel_flist %W %x %y; break} From 63767d5fb8fe236d8fdeba44297ac925701b27a0 Mon Sep 17 00:00:00 2001 From: Richard Quirk <richard.quirk@gmail.com> Date: Tue, 14 Oct 2008 22:53:25 +0200 Subject: [PATCH 08/11] gitk: Bind Key-Return to create on new branch dialog The Return key can now be used as well as pressing the Create button from the dialog box that is shown when selecting "Create new branch". Signed-off-by: Richard Quirk <richard.quirk@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 1 + 1 file changed, 1 insertion(+) diff --git a/gitk b/gitk index 00ea8da735..0f9ff7f659 100755 --- a/gitk +++ b/gitk @@ -7625,6 +7625,7 @@ proc mkbranch {} { grid $top.id $top.sha1 -sticky w label $top.nlab -text [mc "Name:"] entry $top.name -width 40 + bind $top.name <Key-Return> "[list mkbrgo $top]" grid $top.nlab $top.name -sticky w frame $top.buts button $top.buts.go -text [mc "Create"] -command [list mkbrgo $top] From f2d0bbbd680b2a11cb42eff9a63d6ff03dd4d0e5 Mon Sep 17 00:00:00 2001 From: Paul Mackerras <paulus@samba.org> Date: Fri, 17 Oct 2008 22:44:42 +1100 Subject: [PATCH 09/11] gitk: New way of constructing menus that allows for Alt+letter accelerators This is inspired by patches from Robin Rosenberg but takes a different approach. This adds a "makemenu" procedure for constructing menus that allows the menu layout to be specified in a clear fashion, and provides one place where the alt+letter accelerators can be detected and handled. The alt+letter accelerator is specified by putting an ampersand (&) before the letter for the accelerator in the menu item name. (Two ampersands in succession produce one ampersand in the menu item as it appears on screen.) This is handled in makemenu. We also add an mca procedure which is like mc but also does the ampersand translation, for use when we want to refer to a menu item by name. The mca name and the locations where we use it were shamelessly stolen from Robin Rosenberg's patch. This doesn't actually add any alt+letter accelerators yet. Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 168 ++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 98 insertions(+), 70 deletions(-) diff --git a/gitk b/gitk index 0f9ff7f659..dedc95dcf9 100755 --- a/gitk +++ b/gitk @@ -1750,6 +1750,45 @@ proc setoptions {} { option add *Entry.font uifont startupFile } +proc makemenu {m items} { + menu $m + foreach i $items { + set name [mc [lindex $i 0]] + set type [lindex $i 1] + set thing [lindex $i 2] + set params [list $type] + if {$name ne {}} { + set u [string first "&" [string map {&& x} $name]] + lappend params -label [string map {&& & & {}} $name] + if {$u >= 0} { + lappend params -underline $u + } + } + switch -- $type { + "cascade" { + set submenu [string tolower [string map {& ""} [lindex $i 0]]] + lappend params -menu $m.$submenu + } + "command" { + lappend params -command $thing + } + "radiobutton" { + lappend params -variable [lindex $thing 0] \ + -value [lindex $thing 1] + } + } + eval $m add $params [lrange $i 3 end] + if {$type eq "cascade"} { + makemenu $m.$submenu $thing + } + } +} + +# translate string and remove ampersands +proc mca {str} { + return [string map {&& & & {}} [mc $str]] +} + proc makewindow {} { global canv canv2 canv3 linespc charspc ctext cflist cscroll global tabstop @@ -1767,33 +1806,29 @@ proc makewindow {} { global rprogitem rprogcoord rownumsel numcommits global have_tk85 - menu .bar - .bar add cascade -label [mc "File"] -menu .bar.file - menu .bar.file - .bar.file add command -label [mc "Update"] -command updatecommits - .bar.file add command -label [mc "Reload"] -command reloadcommits - .bar.file add command -label [mc "Reread references"] -command rereadrefs - .bar.file add command -label [mc "List references"] -command showrefs - .bar.file add command -label [mc "Quit"] -command doquit - menu .bar.edit - .bar add cascade -label [mc "Edit"] -menu .bar.edit - .bar.edit add command -label [mc "Preferences"] -command doprefs - - menu .bar.view - .bar add cascade -label [mc "View"] -menu .bar.view - .bar.view add command -label [mc "New view..."] -command {newview 0} - .bar.view add command -label [mc "Edit view..."] -command editview \ - -state disabled - .bar.view add command -label [mc "Delete view"] -command delview -state disabled - .bar.view add separator - .bar.view add radiobutton -label [mc "All files"] -command {showview 0} \ - -variable selectedview -value 0 - - menu .bar.help - .bar add cascade -label [mc "Help"] -menu .bar.help - .bar.help add command -label [mc "About gitk"] -command about - .bar.help add command -label [mc "Key bindings"] -command keys - .bar.help configure + makemenu .bar { + {"File" cascade { + {"Update" command updatecommits -accelerator F5} + {"Reload" command reloadcommits} + {"Reread references" command rereadrefs} + {"List references" command showrefs} + {"Quit" command doquit} + }} + {"Edit" cascade { + {"Preferences" command doprefs} + }} + {"View" cascade { + {"New view..." command {newview 0}} + {"Edit view..." command editview -state disabled} + {"Delete view" command delview -state disabled} + {"" separator} + {"All files" radiobutton {selectedview 0} -command {showview 0}} + }} + {"Help" cascade { + {"About gitk" command about} + {"Key bindings" command keys} + }} + } . configure -menu .bar # the gui has upper and lower half, parts of a paned window. @@ -2174,49 +2209,42 @@ proc makewindow {} { set curtextcursor $textcursor set rowctxmenu .rowctxmenu - menu $rowctxmenu -tearoff 0 - $rowctxmenu add command -label [mc "Diff this -> selected"] \ - -command {diffvssel 0} - $rowctxmenu add command -label [mc "Diff selected -> this"] \ - -command {diffvssel 1} - $rowctxmenu add command -label [mc "Make patch"] -command mkpatch - $rowctxmenu add command -label [mc "Create tag"] -command mktag - $rowctxmenu add command -label [mc "Write commit to file"] -command writecommit - $rowctxmenu add command -label [mc "Create new branch"] -command mkbranch - $rowctxmenu add command -label [mc "Cherry-pick this commit"] \ - -command cherrypick - $rowctxmenu add command -label [mc "Reset HEAD branch to here"] \ - -command resethead + makemenu $rowctxmenu { + {"Diff this -> selected" command {diffvssel 0}} + {"Diff selected -> this" command {diffvssel 1}} + {"Make patch" command mkpatch} + {"Create tag" command mktag} + {"Write commit to file" command writecommit} + {"Create new branch" command mkbranch} + {"Cherry-pick this commit" command cherrypick} + {"Reset HEAD branch to here" command resethead} + } + $rowctxmenu configure -tearoff 0 set fakerowmenu .fakerowmenu - menu $fakerowmenu -tearoff 0 - $fakerowmenu add command -label [mc "Diff this -> selected"] \ - -command {diffvssel 0} - $fakerowmenu add command -label [mc "Diff selected -> this"] \ - -command {diffvssel 1} - $fakerowmenu add command -label [mc "Make patch"] -command mkpatch -# $fakerowmenu add command -label [mc "Commit"] -command {mkcommit 0} -# $fakerowmenu add command -label [mc "Commit all"] -command {mkcommit 1} -# $fakerowmenu add command -label [mc "Revert local changes"] -command revertlocal + makemenu $fakerowmenu { + {"Diff this -> selected" command {diffvssel 0}} + {"Diff selected -> this" command {diffvssel 1}} + {"Make patch" command mkpatch} + } + $fakerowmenu configure -tearoff 0 set headctxmenu .headctxmenu - menu $headctxmenu -tearoff 0 - $headctxmenu add command -label [mc "Check out this branch"] \ - -command cobranch - $headctxmenu add command -label [mc "Remove this branch"] \ - -command rmbranch + makemenu $headctxmenu { + {"Check out this branch" command cobranch} + {"Remove this branch" command rmbranch} + } + $headctxmenu configure -tearoff 0 global flist_menu set flist_menu .flistctxmenu - menu $flist_menu -tearoff 0 - $flist_menu add command -label [mc "Highlight this too"] \ - -command {flist_hl 0} - $flist_menu add command -label [mc "Highlight this only"] \ - -command {flist_hl 1} - $flist_menu add command -label [mc "External diff"] \ - -command {external_diff} - $flist_menu add command -label [mc "Blame parent commit"] \ - -command {external_blame 1} + makemenu $flist_menu { + {"Highlight this too" command {flist_hl 0}} + {"Highlight this only" command {flist_hl 1}} + {"External diff" command {external_diff}} + {"Blame parent commit" command {external_blame 1}} + } + $flist_menu configure -tearoff 0 } # Windows sends all mouse wheel events to the current focused window, not @@ -3376,8 +3404,8 @@ proc showview {n} { set curview $n set selectedview $n - .bar.view entryconf [mc "Edit view..."] -state [expr {$n == 0? "disabled": "normal"}] - .bar.view entryconf [mc "Delete view"] -state [expr {$n == 0? "disabled": "normal"}] + .bar.view entryconf [mca "Edit view..."] -state [expr {$n == 0? "disabled": "normal"}] + .bar.view entryconf [mca "Delete view"] -state [expr {$n == 0? "disabled": "normal"}] run refill_reflist if {![info exists viewcomplete($n)]} { @@ -7323,9 +7351,9 @@ proc rowmenu {x y id} { } else { set menu $fakerowmenu } - $menu entryconfigure [mc "Diff this -> selected"] -state $state - $menu entryconfigure [mc "Diff selected -> this"] -state $state - $menu entryconfigure [mc "Make patch"] -state $state + $menu entryconfigure [mca "Diff this -> selected"] -state $state + $menu entryconfigure [mca "Diff selected -> this"] -state $state + $menu entryconfigure [mca "Make patch"] -state $state tk_popup $menu $x $y } @@ -10146,8 +10174,8 @@ if {$cmdline_files ne {} || $revtreeargs ne {} || $revtreeargscmd ne {}} { set viewperm(1) 0 set vdatemode(1) 0 addviewmenu 1 - .bar.view entryconf [mc "Edit view..."] -state normal - .bar.view entryconf [mc "Delete view"] -state normal + .bar.view entryconf [mca "Edit view..."] -state normal + .bar.view entryconf [mca "Delete view"] -state normal } if {[info exists permviews]} { From 79056034bece6bf39140554eb48f293053828d4d Mon Sep 17 00:00:00 2001 From: Paul Mackerras <paulus@samba.org> Date: Sat, 18 Oct 2008 16:24:46 +1100 Subject: [PATCH 10/11] gitk: Regenerate .po files This is the result of running make update-po and removing or fixing the strings that were fuzzily matched. The ones that were fixed were the ones where the only change was "git rev-list" to "git log", and the "about gitk" message where the copyright year got updated. To get xgettext to see the menu labels as needing translation, it was necessary for arrange for them to be preceded by "mc". This therefore changes makemenu to ignore the first element in each menu item so that it can be "mc" in the makemenu call. Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 88 +++++----- po/de.po | 460 ++++++++++++++++++++++++------------------------- po/es.po | 507 +++++++++++++++++++++++++++++-------------------------- po/it.po | 500 ++++++++++++++++++++++++++++-------------------------- po/sv.po | 448 ++++++++++++++++++++++++------------------------ 5 files changed, 1037 insertions(+), 966 deletions(-) diff --git a/gitk b/gitk index dedc95dcf9..3678de1959 100755 --- a/gitk +++ b/gitk @@ -1750,12 +1750,20 @@ proc setoptions {} { option add *Entry.font uifont startupFile } +# Make a menu and submenus. +# m is the window name for the menu, items is the list of menu items to add. +# Each item is a list {mc label type description options...} +# mc is ignored; it's so we can put mc there to alert xgettext +# label is the string that appears in the menu +# type is cascade, command or radiobutton (should add checkbutton) +# description depends on type; it's the sublist for cascade, the +# command to invoke for command, or {variable value} for radiobutton proc makemenu {m items} { menu $m foreach i $items { - set name [mc [lindex $i 0]] - set type [lindex $i 1] - set thing [lindex $i 2] + set name [mc [lindex $i 1]] + set type [lindex $i 2] + set thing [lindex $i 3] set params [list $type] if {$name ne {}} { set u [string first "&" [string map {&& x} $name]] @@ -1766,7 +1774,7 @@ proc makemenu {m items} { } switch -- $type { "cascade" { - set submenu [string tolower [string map {& ""} [lindex $i 0]]] + set submenu [string tolower [string map {& ""} [lindex $i 1]]] lappend params -menu $m.$submenu } "command" { @@ -1777,7 +1785,7 @@ proc makemenu {m items} { -value [lindex $thing 1] } } - eval $m add $params [lrange $i 3 end] + eval $m add $params [lrange $i 4 end] if {$type eq "cascade"} { makemenu $m.$submenu $thing } @@ -1806,27 +1814,29 @@ proc makewindow {} { global rprogitem rprogcoord rownumsel numcommits global have_tk85 + # The "mc" arguments here are purely so that xgettext + # sees the following string as needing to be translated makemenu .bar { - {"File" cascade { - {"Update" command updatecommits -accelerator F5} - {"Reload" command reloadcommits} - {"Reread references" command rereadrefs} - {"List references" command showrefs} - {"Quit" command doquit} + {mc "File" cascade { + {mc "Update" command updatecommits -accelerator F5} + {mc "Reload" command reloadcommits} + {mc "Reread references" command rereadrefs} + {mc "List references" command showrefs} + {mc "Quit" command doquit} }} - {"Edit" cascade { - {"Preferences" command doprefs} + {mc "Edit" cascade { + {mc "Preferences" command doprefs} }} - {"View" cascade { - {"New view..." command {newview 0}} - {"Edit view..." command editview -state disabled} - {"Delete view" command delview -state disabled} - {"" separator} - {"All files" radiobutton {selectedview 0} -command {showview 0}} + {mc "View" cascade { + {mc "New view..." command {newview 0}} + {mc "Edit view..." command editview -state disabled} + {mc "Delete view" command delview -state disabled} + {xx "" separator} + {mc "All files" radiobutton {selectedview 0} -command {showview 0}} }} - {"Help" cascade { - {"About gitk" command about} - {"Key bindings" command keys} + {mc "Help" cascade { + {mc "About gitk" command about} + {mc "Key bindings" command keys} }} } . configure -menu .bar @@ -2210,39 +2220,39 @@ proc makewindow {} { set rowctxmenu .rowctxmenu makemenu $rowctxmenu { - {"Diff this -> selected" command {diffvssel 0}} - {"Diff selected -> this" command {diffvssel 1}} - {"Make patch" command mkpatch} - {"Create tag" command mktag} - {"Write commit to file" command writecommit} - {"Create new branch" command mkbranch} - {"Cherry-pick this commit" command cherrypick} - {"Reset HEAD branch to here" command resethead} + {mc "Diff this -> selected" command {diffvssel 0}} + {mc "Diff selected -> this" command {diffvssel 1}} + {mc "Make patch" command mkpatch} + {mc "Create tag" command mktag} + {mc "Write commit to file" command writecommit} + {mc "Create new branch" command mkbranch} + {mc "Cherry-pick this commit" command cherrypick} + {mc "Reset HEAD branch to here" command resethead} } $rowctxmenu configure -tearoff 0 set fakerowmenu .fakerowmenu makemenu $fakerowmenu { - {"Diff this -> selected" command {diffvssel 0}} - {"Diff selected -> this" command {diffvssel 1}} - {"Make patch" command mkpatch} + {mc "Diff this -> selected" command {diffvssel 0}} + {mc "Diff selected -> this" command {diffvssel 1}} + {mc "Make patch" command mkpatch} } $fakerowmenu configure -tearoff 0 set headctxmenu .headctxmenu makemenu $headctxmenu { - {"Check out this branch" command cobranch} - {"Remove this branch" command rmbranch} + {mc "Check out this branch" command cobranch} + {mc "Remove this branch" command rmbranch} } $headctxmenu configure -tearoff 0 global flist_menu set flist_menu .flistctxmenu makemenu $flist_menu { - {"Highlight this too" command {flist_hl 0}} - {"Highlight this only" command {flist_hl 1}} - {"External diff" command {external_diff}} - {"Blame parent commit" command {external_blame 1}} + {mc "Highlight this too" command {flist_hl 0}} + {mc "Highlight this only" command {flist_hl 1}} + {mc "External diff" command {external_diff}} + {mc "Blame parent commit" command {external_blame 1}} } $flist_menu configure -tearoff 0 } diff --git a/po/de.po b/po/de.po index 04ee570995..c86cc2df5e 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-05-24 22:32+0200\n" +"POT-Creation-Date: 2008-10-18 22:03+1100\n" "PO-Revision-Date: 2008-05-24 22:40+0200\n" "Last-Translator: Christian Stimming <stimming@tuhh.de>\n" "Language-Team: German\n" @@ -15,17 +15,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: gitk:102 +#: gitk:113 msgid "Couldn't get list of unmerged files:" msgstr "Liste der nicht-zusammengeführten Dateien nicht gefunden:" -#: gitk:329 +#: gitk:340 msgid "No files selected: --merge specified but no files are unmerged." msgstr "" "Keine Dateien ausgewählt: --merge angegeben, es existieren aber keine nicht-" "zusammengeführten Dateien." -#: gitk:332 +#: gitk:343 msgid "" "No files selected: --merge specified but no unmerged files are within file " "limit." @@ -33,257 +33,261 @@ msgstr "" "Keine Dateien ausgewähle: --merge angegeben, aber keine nicht-" "zusammengeführten Dateien sind in der Dateiauswahl." -#: gitk:354 +#: gitk:365 gitk:503 msgid "Error executing git log:" msgstr "Fehler beim Ausführen von git-log:" -#: gitk:369 +#: gitk:378 msgid "Reading" msgstr "Lesen" -#: gitk:151 gitk:2191 +#: gitk:438 gitk:3462 msgid "Reading commits..." msgstr "Versionen lesen..." -#: gitk:275 -msgid "Can't parse git log output:" -msgstr "Ausgabe von git-log kann nicht erkannt werden:" - -#: gitk:386 gitk:2195 +#: gitk:441 gitk:1528 gitk:3465 msgid "No commits selected" msgstr "Keine Versionen ausgewählt." -#: gitk:500 +#: gitk:1399 +msgid "Can't parse git log output:" +msgstr "Ausgabe von git-log kann nicht erkannt werden:" + +#: gitk:1605 msgid "No commit information available" msgstr "Keine Versionsinformation verfügbar" -#: gitk:599 gitk:621 gitk:1955 gitk:6424 gitk:7924 gitk:8083 +#: gitk:1709 gitk:1731 gitk:3259 gitk:7764 gitk:9293 gitk:9466 msgid "OK" msgstr "Ok" -#: gitk:623 gitk:1956 gitk:6108 gitk:6179 gitk:6276 gitk:6322 gitk:6426 -#: gitk:7925 gitk:8084 +#: gitk:1733 gitk:3260 gitk:7439 gitk:7510 gitk:7613 gitk:7660 gitk:7766 +#: gitk:9294 gitk:9467 msgid "Cancel" msgstr "Abbrechen" -#: gitk:661 -msgid "File" -msgstr "Datei" - -#: gitk:663 +#: gitk:1811 msgid "Update" msgstr "Aktualisieren" -#: gitk:1722 +#: gitk:1812 msgid "Reload" msgstr "Neu laden" -#: gitk:1723 +#: gitk:1813 msgid "Reread references" msgstr "Zweige neu laden" -#: gitk:665 +#: gitk:1814 msgid "List references" msgstr "Zweige/Markierungen auflisten" -#: gitk:666 +#: gitk:1815 msgid "Quit" msgstr "Beenden" -#: gitk:668 -msgid "Edit" -msgstr "Bearbeiten" +#: gitk:1810 +msgid "File" +msgstr "Datei" -#: gitk:669 +#: gitk:1818 msgid "Preferences" msgstr "Einstellungen" -#: gitk:672 gitk:1892 -msgid "View" -msgstr "Ansicht" +#: gitk:1817 +msgid "Edit" +msgstr "Bearbeiten" -#: gitk:673 +#: gitk:1821 msgid "New view..." msgstr "Neue Ansicht..." -#: gitk:674 gitk:2133 gitk:8723 +#: gitk:1822 msgid "Edit view..." msgstr "Ansicht bearbeiten..." -#: gitk:676 gitk:2134 gitk:8724 +#: gitk:1823 msgid "Delete view" msgstr "Ansicht löschen" -#: gitk:678 +#: gitk:1825 msgid "All files" msgstr "Alle Dateien" -#: gitk:682 -msgid "Help" -msgstr "Hilfe" +#: gitk:1820 gitk:3196 +msgid "View" +msgstr "Ansicht" -#: gitk:683 gitk:1317 +#: gitk:1828 gitk:2487 msgid "About gitk" msgstr "Über gitk" -#: gitk:684 +#: gitk:1829 msgid "Key bindings" msgstr "Tastenkürzel" -#: gitk:741 +#: gitk:1827 +msgid "Help" +msgstr "Hilfe" + +#: gitk:1887 msgid "SHA1 ID: " msgstr "SHA1:" -#: gitk:1831 +#: gitk:1918 msgid "Row" msgstr "Zeile" -#: gitk:1862 +#: gitk:1949 msgid "Find" msgstr "Suche" -#: gitk:792 +#: gitk:1950 msgid "next" msgstr "nächste" -#: gitk:793 +#: gitk:1951 msgid "prev" msgstr "vorige" -#: gitk:794 +#: gitk:1952 msgid "commit" msgstr "Version nach" -#: gitk:797 gitk:799 gitk:2356 gitk:2379 gitk:2403 gitk:4306 gitk:4369 +#: gitk:1955 gitk:1957 gitk:3617 gitk:3640 gitk:3664 gitk:5550 gitk:5621 msgid "containing:" msgstr "Beschreibung:" -#: gitk:800 gitk:1778 gitk:1783 gitk:2431 +#: gitk:1958 gitk:2954 gitk:2959 gitk:3692 msgid "touching paths:" msgstr "Dateien:" -#: gitk:801 gitk:2436 +#: gitk:1959 gitk:3697 msgid "adding/removing string:" msgstr "Änderungen:" -#: gitk:810 gitk:812 +#: gitk:1968 gitk:1970 msgid "Exact" msgstr "Exakt" -#: gitk:812 gitk:2514 gitk:4274 +#: gitk:1970 gitk:3773 gitk:5518 msgid "IgnCase" msgstr "Kein Groß/Klein" -#: gitk:812 gitk:2405 gitk:2512 gitk:4270 +#: gitk:1970 gitk:3666 gitk:3771 gitk:5514 msgid "Regexp" msgstr "Regexp" -#: gitk:814 gitk:815 gitk:2533 gitk:2563 gitk:2570 gitk:4380 gitk:4436 +#: gitk:1972 gitk:1973 gitk:3792 gitk:3822 gitk:3829 gitk:5641 gitk:5708 msgid "All fields" msgstr "Alle Felder" -#: gitk:815 gitk:2531 gitk:2563 gitk:4336 +#: gitk:1973 gitk:3790 gitk:3822 gitk:5580 msgid "Headline" msgstr "Überschrift" -#: gitk:816 gitk:2531 gitk:4336 gitk:4436 gitk:4827 +#: gitk:1974 gitk:3790 gitk:5580 gitk:5708 gitk:6109 msgid "Comments" msgstr "Beschreibung" -#: gitk:816 gitk:2531 gitk:2535 gitk:2570 gitk:4336 gitk:4763 gitk:5957 -#: gitk:5972 +#: gitk:1974 gitk:3790 gitk:3794 gitk:3829 gitk:5580 gitk:6045 gitk:7285 +#: gitk:7300 msgid "Author" msgstr "Autor" -#: gitk:816 gitk:2531 gitk:4336 gitk:4765 +#: gitk:1974 gitk:3790 gitk:5580 gitk:6047 msgid "Committer" msgstr "Eintragender" -#: gitk:845 +#: gitk:2003 msgid "Search" msgstr "Suche" -#: gitk:852 +#: gitk:2010 msgid "Diff" msgstr "Vergleich" -#: gitk:854 +#: gitk:2012 msgid "Old version" msgstr "Alte Version" -#: gitk:856 +#: gitk:2014 msgid "New version" msgstr "Neue Version" -#: gitk:858 +#: gitk:2016 msgid "Lines of context" msgstr "Kontextzeilen" -#: gitk:868 +#: gitk:2026 msgid "Ignore space change" msgstr "Leerzeichenänderungen ignorieren" -#: gitk:926 +#: gitk:2084 msgid "Patch" msgstr "Patch" -#: gitk:928 +#: gitk:2086 msgid "Tree" msgstr "Baum" -#: gitk:1053 gitk:1068 gitk:6023 +#: gitk:2213 gitk:2226 msgid "Diff this -> selected" msgstr "Vergleich diese -> gewählte" -#: gitk:1055 gitk:1070 gitk:6024 +#: gitk:2214 gitk:2227 msgid "Diff selected -> this" msgstr "Vergleich gewählte -> diese" -#: gitk:1057 gitk:1072 gitk:6025 +#: gitk:2215 gitk:2228 msgid "Make patch" msgstr "Patch erstellen" -#: gitk:1058 gitk:6163 +#: gitk:2216 gitk:7494 msgid "Create tag" msgstr "Markierung erstellen" -#: gitk:1059 gitk:6256 +#: gitk:2217 gitk:7593 msgid "Write commit to file" msgstr "Version in Datei schreiben" -#: gitk:1060 gitk:6310 +#: gitk:2218 gitk:7647 msgid "Create new branch" msgstr "Neuen Zweig erstellen" -#: gitk:1061 +#: gitk:2219 msgid "Cherry-pick this commit" msgstr "Diese Version pflücken" -#: gitk:1063 +#: gitk:2220 msgid "Reset HEAD branch to here" msgstr "HEAD-Zweig auf diese Version zurücksetzen" -#: gitk:1079 +#: gitk:2234 msgid "Check out this branch" msgstr "Auf diesen Zweig umstellen" -#: gitk:1081 +#: gitk:2235 msgid "Remove this branch" msgstr "Zweig löschen" -#: gitk:1087 +#: gitk:2242 msgid "Highlight this too" msgstr "Diesen auch hervorheben" -#: gitk:1089 +#: gitk:2243 msgid "Highlight this only" msgstr "Nur diesen hervorheben" -#: gitk:2162 +#: gitk:2244 msgid "External diff" msgstr "Externer Vergleich" -#: gitk:2403 +#: gitk:2245 +msgid "Blame parent commit" +msgstr "" + +#: gitk:2488 msgid "" "\n" "Gitk - a commit viewer for git\n" @@ -297,431 +301,431 @@ msgstr "" "\n" "Copyright © 2005-2008 Paul Mackerras\n" "\n" -"Benutzung und Weiterverbreitung gemäß den Bedingungen der GNU General Public License" +"Benutzung und Weiterverbreitung gemäß den Bedingungen der GNU General Public " +"License" -#: gitk:1326 gitk:1387 gitk:6582 +#: gitk:2496 gitk:2557 gitk:7943 msgid "Close" msgstr "Schließen" -#: gitk:1345 +#: gitk:2515 msgid "Gitk key bindings" msgstr "Gitk Tastaturbelegung" -#: gitk:1347 +#: gitk:2517 msgid "Gitk key bindings:" msgstr "Gitk Tastaturbelegung:" -#: gitk:1349 +#: gitk:2519 #, tcl-format msgid "<%s-Q>\t\tQuit" msgstr "<%s-Q>\t\tBeenden" -#: gitk:1350 +#: gitk:2520 msgid "<Home>\t\tMove to first commit" msgstr "<Pos1>\t\tZur neuesten Version springen" -#: gitk:1351 +#: gitk:2521 msgid "<End>\t\tMove to last commit" msgstr "<Ende>\t\tZur ältesten Version springen" -#: gitk:1352 +#: gitk:2522 msgid "<Up>, p, i\tMove up one commit" msgstr "<Hoch>, p, i\tNächste neuere Version" -#: gitk:1353 +#: gitk:2523 msgid "<Down>, n, k\tMove down one commit" msgstr "<Runter>, n, k\tNächste ältere Version" -#: gitk:1354 +#: gitk:2524 msgid "<Left>, z, j\tGo back in history list" msgstr "<Links>, z, j\tEine Version zurückgehen" -#: gitk:1355 +#: gitk:2525 msgid "<Right>, x, l\tGo forward in history list" msgstr "<Rechts>, x, l\tEine Version weitergehen" -#: gitk:1356 +#: gitk:2526 msgid "<PageUp>\tMove up one page in commit list" msgstr "<BildHoch>\tEine Seite nach oben blättern" -#: gitk:1357 +#: gitk:2527 msgid "<PageDown>\tMove down one page in commit list" msgstr "<BildRunter>\tEine Seite nach unten blättern" -#: gitk:1358 +#: gitk:2528 #, tcl-format msgid "<%s-Home>\tScroll to top of commit list" msgstr "<%s-Pos1>\tZum oberen Ende der Versionsliste blättern" -#: gitk:1359 +#: gitk:2529 #, tcl-format msgid "<%s-End>\tScroll to bottom of commit list" msgstr "<%s-Ende>\tZum unteren Ende der Versionsliste blättern" -#: gitk:1360 +#: gitk:2530 #, tcl-format msgid "<%s-Up>\tScroll commit list up one line" msgstr "<%s-Hoch>\tVersionsliste eine Zeile nach oben blättern" -#: gitk:1361 +#: gitk:2531 #, tcl-format msgid "<%s-Down>\tScroll commit list down one line" msgstr "<%s-Runter>\tVersionsliste eine Zeile nach unten blättern" -#: gitk:1362 +#: gitk:2532 #, tcl-format msgid "<%s-PageUp>\tScroll commit list up one page" msgstr "<%s-BildHoch>\tVersionsliste eine Seite hoch blättern" -#: gitk:1363 +#: gitk:2533 #, tcl-format msgid "<%s-PageDown>\tScroll commit list down one page" msgstr "<%s-BildRunter>\tVersionsliste eine Seite nach unten blättern" -#: gitk:1364 +#: gitk:2534 msgid "<Shift-Up>\tFind backwards (upwards, later commits)" msgstr "<Umschalt-Hoch>\tRückwärts suchen (nach oben; neuere Versionen)" -#: gitk:1365 +#: gitk:2535 msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" msgstr "<Umschalt-Runter> Suchen (nach unten; ältere Versionen)" -#: gitk:1366 +#: gitk:2536 msgid "<Delete>, b\tScroll diff view up one page" msgstr "<Entf>, b\t\tVergleich eine Seite nach oben blättern" -#: gitk:1367 +#: gitk:2537 msgid "<Backspace>\tScroll diff view up one page" msgstr "<Löschtaste>\tVergleich eine Seite nach oben blättern" -#: gitk:1368 +#: gitk:2538 msgid "<Space>\t\tScroll diff view down one page" msgstr "<Leertaste>\tVergleich eine Seite nach unten blättern" -#: gitk:1369 +#: gitk:2539 msgid "u\t\tScroll diff view up 18 lines" msgstr "u\t\tVergleich um 18 Zeilen nach oben (»up«) blättern" -#: gitk:1370 +#: gitk:2540 msgid "d\t\tScroll diff view down 18 lines" msgstr "d\t\tVergleich um 18 Zeilen nach unten (»down«) blättern" -#: gitk:1371 +#: gitk:2541 #, tcl-format msgid "<%s-F>\t\tFind" msgstr "<%s-F>\t\tSuchen" -#: gitk:1372 +#: gitk:2542 #, tcl-format msgid "<%s-G>\t\tMove to next find hit" msgstr "<%s-G>\t\tWeitersuchen" -#: gitk:1373 +#: gitk:2543 msgid "<Return>\tMove to next find hit" msgstr "<Eingabetaste>\tWeitersuchen" -#: gitk:1374 +#: gitk:2544 msgid "/\t\tMove to next find hit, or redo find" msgstr "/\t\tWeitersuchen oder neue Suche beginnen" -#: gitk:1375 +#: gitk:2545 msgid "?\t\tMove to previous find hit" msgstr "?\t\tRückwärts weitersuchen" -#: gitk:1376 +#: gitk:2546 msgid "f\t\tScroll diff view to next file" msgstr "f\t\tVergleich zur nächsten Datei (»file«) blättern" -#: gitk:1377 +#: gitk:2547 #, tcl-format msgid "<%s-S>\t\tSearch for next hit in diff view" msgstr "<%s-S>\t\tWeitersuchen im Vergleich" -#: gitk:1378 +#: gitk:2548 #, tcl-format msgid "<%s-R>\t\tSearch for previous hit in diff view" msgstr "<%s-R>\t\tRückwärts weitersuchen im Vergleich" -#: gitk:1379 +#: gitk:2549 #, tcl-format msgid "<%s-KP+>\tIncrease font size" msgstr "<%s-Nummerblock-Plus>\tSchriftgröße vergrößern" -#: gitk:1380 +#: gitk:2550 #, tcl-format msgid "<%s-plus>\tIncrease font size" msgstr "<%s-Plus>\tSchriftgröße vergrößern" -#: gitk:1381 +#: gitk:2551 #, tcl-format msgid "<%s-KP->\tDecrease font size" msgstr "<%s-Nummernblock-> Schriftgröße verkleinern" -#: gitk:1382 +#: gitk:2552 #, tcl-format msgid "<%s-minus>\tDecrease font size" msgstr "<%s-Minus>\tSchriftgröße verkleinern" -#: gitk:1383 +#: gitk:2553 msgid "<F5>\t\tUpdate" msgstr "<F5>\t\tAktualisieren" -#: gitk:1896 +#: gitk:3200 msgid "Gitk view definition" msgstr "Gitk Ansichten" -#: gitk:1921 +#: gitk:3225 msgid "Name" msgstr "Name" -#: gitk:1924 +#: gitk:3228 msgid "Remember this view" msgstr "Diese Ansicht speichern" -#: gitk:3126 +#: gitk:3232 msgid "Commits to include (arguments to git log):" msgstr "Versionen anzeigen (Argumente von git-log):" -#: gitk:3133 +#: gitk:3239 msgid "Command to generate more commits to include:" msgstr "Versionsliste durch folgendes Kommando erzeugen lassen:" -#: gitk:1942 +#: gitk:3246 msgid "Enter files and directories to include, one per line:" msgstr "Folgende Dateien und Verzeichnisse anzeigen (eine pro Zeile):" -#: gitk:1989 +#: gitk:3293 msgid "Error in commit selection arguments:" msgstr "Fehler in den ausgewählten Versionen:" -#: gitk:2043 gitk:2127 gitk:2583 gitk:2597 gitk:3781 gitk:8689 gitk:8690 +#: gitk:3347 gitk:3399 gitk:3842 gitk:3856 gitk:5060 gitk:10141 gitk:10142 msgid "None" msgstr "Keine" -#: gitk:2531 gitk:4336 gitk:5959 gitk:5974 +#: gitk:3790 gitk:5580 gitk:7287 gitk:7302 msgid "Date" msgstr "Datum" -#: gitk:2531 gitk:4336 +#: gitk:3790 gitk:5580 msgid "CDate" msgstr "Eintragedatum" -#: gitk:2680 gitk:2685 +#: gitk:3939 gitk:3944 msgid "Descendant" msgstr "Abkömmling" -#: gitk:2681 +#: gitk:3940 msgid "Not descendant" msgstr "Nicht Abkömmling" -#: gitk:2688 gitk:2693 +#: gitk:3947 gitk:3952 msgid "Ancestor" msgstr "Vorgänger" -#: gitk:2689 +#: gitk:3948 msgid "Not ancestor" msgstr "Nicht Vorgänger" -#: gitk:2924 +#: gitk:4187 msgid "Local changes checked in to index but not committed" msgstr "Lokale Änderungen bereitgestellt, aber nicht eingetragen" -#: gitk:2954 +#: gitk:4220 msgid "Local uncommitted changes, not checked in to index" msgstr "Lokale Änderungen, nicht bereitgestellt" -#: gitk:4305 +#: gitk:5549 msgid "Searching" msgstr "Suchen" -#: gitk:4767 +#: gitk:6049 msgid "Tags:" msgstr "Markierungen:" -#: gitk:4784 gitk:4790 gitk:5952 +#: gitk:6066 gitk:6072 gitk:7280 msgid "Parent" msgstr "Eltern" -#: gitk:4795 +#: gitk:6077 msgid "Child" msgstr "Kind" -#: gitk:4804 +#: gitk:6086 msgid "Branch" msgstr "Zweig" -#: gitk:4807 +#: gitk:6089 msgid "Follows" msgstr "Folgt auf" -#: gitk:4810 +#: gitk:6092 msgid "Precedes" msgstr "Vorgänger von" -#: gitk:5094 +#: gitk:6378 msgid "Error getting merge diffs:" msgstr "Fehler beim Laden des Vergleichs:" -#: gitk:5779 +#: gitk:7113 msgid "Goto:" msgstr "Gehe zu:" -#: gitk:5781 +#: gitk:7115 msgid "SHA1 ID:" msgstr "SHA1-Hashwert:" -#: gitk:5806 +#: gitk:7134 #, tcl-format msgid "Short SHA1 id %s is ambiguous" msgstr "Kurzer SHA1-Hashwert »%s« ist mehrdeutig" -#: gitk:5818 +#: gitk:7146 #, tcl-format msgid "SHA1 id %s is not known" msgstr "SHA1-Hashwert »%s« unbekannt" -#: gitk:5820 +#: gitk:7148 #, tcl-format msgid "Tag/Head %s is not known" msgstr "Markierung/Zweig »%s« ist unbekannt" -#: gitk:5962 +#: gitk:7290 msgid "Children" msgstr "Kinder" -#: gitk:6019 +#: gitk:7347 #, tcl-format msgid "Reset %s branch to here" msgstr "Zweig »%s« hierher zurücksetzen" -#: gitk:7204 +#: gitk:7349 msgid "Detached head: can't reset" msgstr "Zweigspitze ist abgetrennt: Zurücksetzen nicht möglich" -#: gitk:7236 +#: gitk:7381 msgid "Top" msgstr "Oben" -#: gitk:6051 +#: gitk:7382 msgid "From" msgstr "Von" -#: gitk:6056 +#: gitk:7387 msgid "To" msgstr "bis" -#: gitk:6079 +#: gitk:7410 msgid "Generate patch" msgstr "Patch erstellen" -#: gitk:6081 +#: gitk:7412 msgid "From:" msgstr "Von:" -#: gitk:6090 +#: gitk:7421 msgid "To:" msgstr "bis:" -#: gitk:6099 +#: gitk:7430 msgid "Reverse" msgstr "Umgekehrt" -#: gitk:6101 gitk:6270 +#: gitk:7432 gitk:7607 msgid "Output file:" msgstr "Ausgabedatei:" -#: gitk:6107 +#: gitk:7438 msgid "Generate" msgstr "Erzeugen" -#: gitk:6143 +#: gitk:7474 msgid "Error creating patch:" msgstr "Fehler beim Patch erzeugen:" -#: gitk:6165 gitk:6258 gitk:6312 +#: gitk:7496 gitk:7595 gitk:7649 msgid "ID:" msgstr "ID:" -#: gitk:6174 +#: gitk:7505 msgid "Tag name:" msgstr "Markierungsname:" -#: gitk:6178 gitk:6321 +#: gitk:7509 gitk:7659 msgid "Create" msgstr "Erstellen" -#: gitk:6193 +#: gitk:7524 msgid "No tag name specified" msgstr "Kein Markierungsname angegeben" -#: gitk:6197 +#: gitk:7528 #, tcl-format msgid "Tag \"%s\" already exists" msgstr "Markierung »%s« existiert bereits." -#: gitk:6203 +#: gitk:7534 msgid "Error creating tag:" msgstr "Fehler bei Markierung erstellen:" -#: gitk:6267 +#: gitk:7604 msgid "Command:" msgstr "Kommando:" -#: gitk:6275 +#: gitk:7612 msgid "Write" msgstr "Schreiben" -#: gitk:6291 +#: gitk:7628 msgid "Error writing commit:" msgstr "Fehler beim Schreiben der Version:" -#: gitk:6317 +#: gitk:7654 msgid "Name:" msgstr "Name:" -#: gitk:6336 +#: gitk:7674 msgid "Please specify a name for the new branch" msgstr "Bitte geben Sie einen Namen für den neuen Zweig an." -#: gitk:6365 +#: gitk:7703 #, tcl-format msgid "Commit %s is already included in branch %s -- really re-apply it?" msgstr "" -"Version »%s« ist bereits im Zweig »%s« enthalten -- trotzdem erneut " -"eintragen?" +"Version »%s« ist bereits im Zweig »%s« enthalten -- trotzdem erneut eintragen?" -#: gitk:6370 +#: gitk:7708 msgid "Cherry-picking" msgstr "Version pflücken" -#: gitk:6382 +#: gitk:7720 msgid "No changes committed" msgstr "Keine Änderungen eingetragen" -#: gitk:6405 +#: gitk:7745 msgid "Confirm reset" msgstr "Zurücksetzen bestätigen" -#: gitk:6407 +#: gitk:7747 #, tcl-format msgid "Reset branch %s to %s?" msgstr "Zweig »%s« auf »%s« zurücksetzen?" -#: gitk:6411 +#: gitk:7751 msgid "Reset type:" msgstr "Art des Zurücksetzens:" -#: gitk:6415 +#: gitk:7755 msgid "Soft: Leave working tree and index untouched" msgstr "Harmlos: Arbeitskopie und Bereitstellung unverändert" -#: gitk:6418 +#: gitk:7758 msgid "Mixed: Leave working tree untouched, reset index" msgstr "" "Gemischt: Arbeitskopie unverändert,\n" "Bereitstellung zurückgesetzt" -#: gitk:6421 +#: gitk:7761 msgid "" "Hard: Reset working tree and index\n" "(discard ALL local changes)" @@ -729,21 +733,21 @@ msgstr "" "Hart: Arbeitskopie und Bereitstellung\n" "(Alle lokalen Änderungen werden gelöscht)" -#: gitk:6437 +#: gitk:7777 msgid "Resetting" msgstr "Zurücksetzen" -#: gitk:6494 +#: gitk:7834 msgid "Checking out" msgstr "Umstellen" -#: gitk:6524 +#: gitk:7885 msgid "Cannot delete the currently checked-out branch" msgstr "" "Der Zweig, auf den die Arbeitskopie momentan umgestellt ist, kann nicht " "gelöscht werden." -#: gitk:6530 +#: gitk:7891 #, tcl-format msgid "" "The commits on branch %s aren't on any other branch.\n" @@ -752,16 +756,16 @@ msgstr "" "Die Versionen auf Zweig »%s« existieren auf keinem anderen Zweig.\n" "Zweig »%s« trotzdem löschen?" -#: gitk:6561 +#: gitk:7922 #, tcl-format msgid "Tags and heads: %s" msgstr "Markierungen und Zweige: %s" -#: gitk:6575 +#: gitk:7936 msgid "Filter" msgstr "Filtern" -#: gitk:6869 +#: gitk:8230 msgid "" "Error reading commit topology information; branch and preceding/following " "tag information will be incomplete." @@ -769,125 +773,129 @@ msgstr "" "Fehler beim Lesen der Strukturinformationen; Zweige und Vorgänger/Nachfolger " "Informationen werden unvollständig sein." -#: gitk:7853 +#: gitk:9216 msgid "Tag" msgstr "Markierung" -#: gitk:7853 +#: gitk:9216 msgid "Id" msgstr "Id" -#: gitk:7893 +#: gitk:9262 msgid "Gitk font chooser" msgstr "Gitk Schriften wählen" -#: gitk:7910 +#: gitk:9279 msgid "B" msgstr "F" -#: gitk:7913 +#: gitk:9282 msgid "I" msgstr "K" -#: gitk:8006 +#: gitk:9375 msgid "Gitk preferences" msgstr "Gitk Einstellungen" -#: gitk:8007 +#: gitk:9376 msgid "Commit list display options" msgstr "Anzeige Versionsliste" -#: gitk:8010 +#: gitk:9379 msgid "Maximum graph width (lines)" msgstr "Maximale Graphenbreite (Zeilen)" -#: gitk:8014 +#: gitk:9383 #, tcl-format msgid "Maximum graph width (% of pane)" msgstr "Maximale Graphenbreite (% des Fensters)" -#: gitk:8019 +#: gitk:9388 msgid "Show local changes" msgstr "Lokale Änderungen anzeigen" -#: gitk:8024 +#: gitk:9393 msgid "Auto-select SHA1" msgstr "SHA1-Hashwert automatisch markieren" -#: gitk:8029 +#: gitk:9398 msgid "Diff display options" msgstr "Anzeige Vergleich" -#: gitk:8031 +#: gitk:9400 msgid "Tab spacing" msgstr "Tabulatorbreite" -#: gitk:8035 +#: gitk:9404 msgid "Display nearby tags" msgstr "Naheliegende Überschriften anzeigen" -#: gitk:8040 +#: gitk:9409 msgid "Limit diffs to listed paths" msgstr "Vergleich nur für angezeigte Pfade" -#: gitk:9264 +#: gitk:9414 +msgid "Support per-file encodings" +msgstr "" + +#: gitk:9421 msgid "External diff tool" msgstr "Externes Vergleich-(Diff-)Programm" -#: gitk:9266 +#: gitk:9423 msgid "Choose..." msgstr "Wählen..." -#: gitk:9271 +#: gitk:9428 msgid "Colors: press to choose" msgstr "Farben: Klicken zum Wählen" -#: gitk:8048 +#: gitk:9431 msgid "Background" msgstr "Hintergrund" -#: gitk:8052 +#: gitk:9435 msgid "Foreground" msgstr "Vordergrund" -#: gitk:8056 +#: gitk:9439 msgid "Diff: old lines" msgstr "Vergleich: Alte Zeilen" -#: gitk:8061 +#: gitk:9444 msgid "Diff: new lines" msgstr "Vergleich: Neue Zeilen" -#: gitk:8066 +#: gitk:9449 msgid "Diff: hunk header" msgstr "Vergleich: Änderungstitel" -#: gitk:8072 +#: gitk:9455 msgid "Select bg" msgstr "Hintergrundfarbe Auswählen" -#: gitk:8076 +#: gitk:9459 msgid "Fonts: press to choose" msgstr "Schriftart: Klicken zum Wählen" -#: gitk:8078 +#: gitk:9461 msgid "Main font" msgstr "Programmschriftart" -#: gitk:8079 +#: gitk:9462 msgid "Diff display font" msgstr "Vergleich" -#: gitk:8080 +#: gitk:9463 msgid "User interface font" msgstr "Beschriftungen" -#: gitk:8096 +#: gitk:9488 #, tcl-format msgid "Gitk: choose color for %s" msgstr "Gitk: Farbe wählen für %s" -#: gitk:8477 +#: gitk:9934 msgid "" "Sorry, gitk cannot run with this version of Tcl/Tk.\n" " Gitk requires at least Tcl/Tk 8.4." @@ -895,24 +903,24 @@ msgstr "" "Gitk läuft nicht mit dieser Version von Tcl/Tk.\n" "Gitk benötigt mindestens Tcl/Tk 8.4." -#: gitk:8566 +#: gitk:10047 msgid "Cannot find a git repository here." msgstr "Kein Git-Projektarchiv gefunden." -#: gitk:8570 +#: gitk:10051 #, tcl-format msgid "Cannot find the git directory \"%s\"." msgstr "Git-Verzeichnis »%s« wurde nicht gefunden." -#: gitk:8613 +#: gitk:10098 #, tcl-format msgid "Ambiguous argument '%s': both revision and filename" msgstr "Mehrdeutige Angabe »%s«: Sowohl Version als auch Dateiname existiert." -#: gitk:8625 +#: gitk:10110 msgid "Bad arguments to gitk:" msgstr "Falsche Kommandozeilen-Parameter für gitk:" -#: gitk:9915 +#: gitk:10170 msgid "Command line" msgstr "Kommandozeile" diff --git a/po/es.po b/po/es.po index 2cb1486247..0e19b5eae2 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gitk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-03-13 17:29+0100\n" +"POT-Creation-Date: 2008-10-18 22:03+1100\n" "PO-Revision-Date: 2008-03-25 11:20+0100\n" "Last-Translator: Santiago Gala <santiago.gala@gmail.com>\n" "Language-Team: Spanish\n" @@ -16,676 +16,702 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: gitk:111 -msgid "Error executing git rev-list:" -msgstr "Error al ejecutar git rev-list:" +#: gitk:113 +msgid "Couldn't get list of unmerged files:" +msgstr "Imposible obtener la lista de archivos pendientes de fusión:" -#: gitk:124 +#: gitk:340 +msgid "No files selected: --merge specified but no files are unmerged." +msgstr "" +"No hay archivos seleccionados: se seleccionó la opción --merge pero no hay " +"archivos pendientes de fusión." + +#: gitk:343 +msgid "" +"No files selected: --merge specified but no unmerged files are within file " +"limit." +msgstr "" +"No hay archivos seleccionados: se seleccionó la opción --merge pero los " +"archivos especificados no necesitan fusión." + +#: gitk:378 msgid "Reading" msgstr "Leyendo" -#: gitk:151 gitk:2191 +#: gitk:438 gitk:3462 msgid "Reading commits..." msgstr "Leyendo revisiones..." -#: gitk:275 -msgid "Can't parse git log output:" -msgstr "Error analizando la salida de git log:" - -#: gitk:386 gitk:2195 +#: gitk:441 gitk:1528 gitk:3465 msgid "No commits selected" msgstr "No se seleccionaron revisiones" -#: gitk:500 +#: gitk:1399 +msgid "Can't parse git log output:" +msgstr "Error analizando la salida de git log:" + +#: gitk:1605 msgid "No commit information available" msgstr "Falta información sobre las revisiones" -#: gitk:599 gitk:621 gitk:1955 gitk:6423 gitk:7923 gitk:8082 +#: gitk:1709 gitk:1731 gitk:3259 gitk:7764 gitk:9293 gitk:9466 msgid "OK" msgstr "Aceptar" -#: gitk:623 gitk:1956 gitk:6107 gitk:6178 gitk:6275 gitk:6321 gitk:6425 -#: gitk:7924 gitk:8083 +#: gitk:1733 gitk:3260 gitk:7439 gitk:7510 gitk:7613 gitk:7660 gitk:7766 +#: gitk:9294 gitk:9467 msgid "Cancel" msgstr "Cancelar" -#: gitk:661 -msgid "File" -msgstr "Archivo" - -#: gitk:663 +#: gitk:1811 msgid "Update" msgstr "Actualizar" -#: gitk:664 +#: gitk:1813 msgid "Reread references" msgstr "Releer referencias" -#: gitk:665 +#: gitk:1814 msgid "List references" msgstr "Lista de referencias" -#: gitk:666 +#: gitk:1815 msgid "Quit" msgstr "Salir" -#: gitk:668 -msgid "Edit" -msgstr "Editar" +#: gitk:1810 +msgid "File" +msgstr "Archivo" -#: gitk:669 +#: gitk:1818 msgid "Preferences" msgstr "Preferencias" -#: gitk:672 gitk:1892 -msgid "View" -msgstr "Vista" +#: gitk:1817 +msgid "Edit" +msgstr "Editar" -#: gitk:673 +#: gitk:1821 msgid "New view..." msgstr "Nueva vista..." -#: gitk:674 gitk:2133 gitk:8722 +#: gitk:1822 msgid "Edit view..." msgstr "Modificar vista..." -#: gitk:676 gitk:2134 gitk:8723 +#: gitk:1823 msgid "Delete view" msgstr "Eliminar vista" -#: gitk:678 +#: gitk:1825 msgid "All files" msgstr "Todos los archivos" -#: gitk:682 -msgid "Help" -msgstr "Ayuda" +#: gitk:1820 gitk:3196 +msgid "View" +msgstr "Vista" -#: gitk:683 gitk:1317 +#: gitk:1828 gitk:2487 msgid "About gitk" msgstr "Acerca de gitk" -#: gitk:684 +#: gitk:1829 msgid "Key bindings" msgstr "Combinaciones de teclas" -#: gitk:741 +#: gitk:1827 +msgid "Help" +msgstr "Ayuda" + +#: gitk:1887 msgid "SHA1 ID: " msgstr "SHA1 ID: " -#: gitk:791 +#: gitk:1918 +msgid "Row" +msgstr "" + +#: gitk:1949 msgid "Find" msgstr "Buscar" -#: gitk:792 +#: gitk:1950 msgid "next" msgstr "<<" -#: gitk:793 +#: gitk:1951 msgid "prev" msgstr ">>" -#: gitk:794 +#: gitk:1952 msgid "commit" msgstr "revisión" -#: gitk:797 gitk:799 gitk:2356 gitk:2379 gitk:2403 gitk:4306 gitk:4369 +#: gitk:1955 gitk:1957 gitk:3617 gitk:3640 gitk:3664 gitk:5550 gitk:5621 msgid "containing:" msgstr "que contiene:" -#: gitk:800 gitk:1778 gitk:1783 gitk:2431 +#: gitk:1958 gitk:2954 gitk:2959 gitk:3692 msgid "touching paths:" msgstr "que modifica la ruta:" -#: gitk:801 gitk:2436 +#: gitk:1959 gitk:3697 msgid "adding/removing string:" msgstr "que añade/elimina cadena:" -#: gitk:810 gitk:812 +#: gitk:1968 gitk:1970 msgid "Exact" msgstr "Exacto" -#: gitk:812 gitk:2514 gitk:4274 +#: gitk:1970 gitk:3773 gitk:5518 msgid "IgnCase" msgstr "NoMayús" -#: gitk:812 gitk:2405 gitk:2512 gitk:4270 +#: gitk:1970 gitk:3666 gitk:3771 gitk:5514 msgid "Regexp" msgstr "Regex" -#: gitk:814 gitk:815 gitk:2533 gitk:2563 gitk:2570 gitk:4380 gitk:4436 +#: gitk:1972 gitk:1973 gitk:3792 gitk:3822 gitk:3829 gitk:5641 gitk:5708 msgid "All fields" msgstr "Todos los campos" -#: gitk:815 gitk:2531 gitk:2563 gitk:4336 +#: gitk:1973 gitk:3790 gitk:3822 gitk:5580 msgid "Headline" msgstr "Título" -#: gitk:816 gitk:2531 gitk:4336 gitk:4436 gitk:4827 +#: gitk:1974 gitk:3790 gitk:5580 gitk:5708 gitk:6109 msgid "Comments" msgstr "Comentarios" -#: gitk:816 gitk:2531 gitk:2535 gitk:2570 gitk:4336 gitk:4763 gitk:5956 -#: gitk:5971 +#: gitk:1974 gitk:3790 gitk:3794 gitk:3829 gitk:5580 gitk:6045 gitk:7285 +#: gitk:7300 msgid "Author" msgstr "Autor" -#: gitk:816 gitk:2531 gitk:4336 gitk:4765 +#: gitk:1974 gitk:3790 gitk:5580 gitk:6047 msgid "Committer" msgstr "" -#: gitk:845 +#: gitk:2003 msgid "Search" msgstr "Buscar" -#: gitk:852 +#: gitk:2010 msgid "Diff" msgstr "Diferencia" -#: gitk:854 +#: gitk:2012 msgid "Old version" msgstr "Versión antigua" -#: gitk:856 +#: gitk:2014 msgid "New version" msgstr "Versión nueva" -#: gitk:858 +#: gitk:2016 msgid "Lines of context" msgstr "Líneas de contexto" -#: gitk:868 +#: gitk:2026 msgid "Ignore space change" msgstr "Ignora cambios de espaciado" -#: gitk:926 +#: gitk:2084 msgid "Patch" msgstr "Parche" -#: gitk:928 +#: gitk:2086 msgid "Tree" msgstr "Árbol" -#: gitk:1053 gitk:1068 gitk:6022 +#: gitk:2213 gitk:2226 msgid "Diff this -> selected" msgstr "Diferencia de esta -> seleccionada" -#: gitk:1055 gitk:1070 gitk:6023 +#: gitk:2214 gitk:2227 msgid "Diff selected -> this" msgstr "Diferencia de seleccionada -> esta" -#: gitk:1057 gitk:1072 gitk:6024 +#: gitk:2215 gitk:2228 msgid "Make patch" msgstr "Crear patch" -#: gitk:1058 gitk:6162 +#: gitk:2216 gitk:7494 msgid "Create tag" msgstr "Crear etiqueta" -#: gitk:1059 gitk:6255 +#: gitk:2217 gitk:7593 msgid "Write commit to file" msgstr "Escribir revisiones a archivo" -#: gitk:1060 gitk:6309 +#: gitk:2218 gitk:7647 msgid "Create new branch" msgstr "Crear nueva rama" -#: gitk:1061 +#: gitk:2219 msgid "Cherry-pick this commit" msgstr "Añadir esta revisión a la rama actual (cherry-pick)" -#: gitk:1063 +#: gitk:2220 msgid "Reset HEAD branch to here" msgstr "Traer la rama HEAD aquí" -#: gitk:1079 +#: gitk:2234 msgid "Check out this branch" msgstr "Cambiar a esta rama" -#: gitk:1081 +#: gitk:2235 msgid "Remove this branch" msgstr "Eliminar esta rama" -#: gitk:1087 +#: gitk:2242 msgid "Highlight this too" msgstr "Seleccionar también" -#: gitk:1089 +#: gitk:2243 msgid "Highlight this only" msgstr "Seleccionar sólo" -#: gitk:1318 +#: gitk:2245 +msgid "Blame parent commit" +msgstr "" + +#: gitk:2488 msgid "" "\n" "Gitk - a commit viewer for git\n" "\n" -"Copyright © 2005-2006 Paul Mackerras\n" +"Copyright © 2005-2008 Paul Mackerras\n" "\n" "Use and redistribute under the terms of the GNU General Public License" msgstr "" "\n" "Gitk - un visualizador de revisiones para git\n" "\n" -"Copyright © 2005-2006 Paul Mackerras\n" +"Copyright © 2005-2008 Paul Mackerras\n" "\n" -"Uso y redistribución permitidos según los términos de la Licencia Pública General de " -"GNU (GNU GPL)" +"Uso y redistribución permitidos según los términos de la Licencia Pública " +"General de GNU (GNU GPL)" -#: gitk:1326 gitk:1387 gitk:6581 +#: gitk:2496 gitk:2557 gitk:7943 msgid "Close" msgstr "Cerrar" -#: gitk:1345 +#: gitk:2515 msgid "Gitk key bindings" msgstr "Combinaciones de tecla de Gitk" -#: gitk:1347 +#: gitk:2517 msgid "Gitk key bindings:" msgstr "Combinaciones de tecla de Gitk:" -#: gitk:1349 +#: gitk:2519 #, tcl-format msgid "<%s-Q>\t\tQuit" msgstr "<%s-Q>\t\tSalir" -#: gitk:1350 +#: gitk:2520 msgid "<Home>\t\tMove to first commit" msgstr "<Home>\t\tIr a la primera revisión" -#: gitk:1351 +#: gitk:2521 msgid "<End>\t\tMove to last commit" msgstr "<End>\t\tIr a la última revisión" -#: gitk:1352 +#: gitk:2522 msgid "<Up>, p, i\tMove up one commit" msgstr "<Up>, p, i\tSubir una revisión" -#: gitk:1353 +#: gitk:2523 msgid "<Down>, n, k\tMove down one commit" msgstr "<Down>, n, k\tBajar una revisión" -#: gitk:1354 +#: gitk:2524 msgid "<Left>, z, j\tGo back in history list" msgstr "<Left>, z, j\tRetroceder en la historia" -#: gitk:1355 +#: gitk:2525 msgid "<Right>, x, l\tGo forward in history list" msgstr "<Right>, x, l\tAvanzar en la historia" -#: gitk:1356 +#: gitk:2526 msgid "<PageUp>\tMove up one page in commit list" msgstr "<PageUp>\tSubir una página en la lista de revisiones" -#: gitk:1357 +#: gitk:2527 msgid "<PageDown>\tMove down one page in commit list" msgstr "<PageDown>\tBajar una página en la lista de revisiones" -#: gitk:1358 +#: gitk:2528 #, tcl-format msgid "<%s-Home>\tScroll to top of commit list" msgstr "<%s-Home>\tDesplazarse al inicio de la lista de revisiones" -#: gitk:1359 +#: gitk:2529 #, tcl-format msgid "<%s-End>\tScroll to bottom of commit list" msgstr "<%s-End>\tDesplazarse al final de la lista de revisiones" -#: gitk:1360 +#: gitk:2530 #, tcl-format msgid "<%s-Up>\tScroll commit list up one line" msgstr "<%s-Up>\tDesplazar una línea hacia arriba la lista de revisiones" -#: gitk:1361 +#: gitk:2531 #, tcl-format msgid "<%s-Down>\tScroll commit list down one line" msgstr "<%s-Down>\tDesplazar una línea hacia abajo la lista de revisiones" -#: gitk:1362 +#: gitk:2532 #, tcl-format msgid "<%s-PageUp>\tScroll commit list up one page" msgstr "<%s-PageUp>\tDesplazar una página hacia arriba la lista de revisiones" -#: gitk:1363 +#: gitk:2533 #, tcl-format msgid "<%s-PageDown>\tScroll commit list down one page" msgstr "<%s-PageDown>\tDesplazar una página hacia abajo la lista de revisiones" -#: gitk:1364 +#: gitk:2534 msgid "<Shift-Up>\tFind backwards (upwards, later commits)" msgstr "<Shift-Up>\tBuscar hacia atrás (arriba, revisiones siguientes)" -#: gitk:1365 +#: gitk:2535 msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" msgstr "<Shift-Down>\tBuscar hacia adelante (abajo, revisiones anteriores)" -#: gitk:1366 +#: gitk:2536 msgid "<Delete>, b\tScroll diff view up one page" msgstr "<Delete>, b\tDesplaza hacia arriba una página la vista de diferencias" -#: gitk:1367 +#: gitk:2537 msgid "<Backspace>\tScroll diff view up one page" msgstr "<Backspace>\tDesplaza hacia arriba una página la vista de diferencias" -#: gitk:1368 +#: gitk:2538 msgid "<Space>\t\tScroll diff view down one page" msgstr "<Space>\t\tDesplaza hacia abajo una página la vista de diferencias" -#: gitk:1369 +#: gitk:2539 msgid "u\t\tScroll diff view up 18 lines" msgstr "u\t\tDesplaza hacia arriba 18 líneas la vista de diferencias" -#: gitk:1370 +#: gitk:2540 msgid "d\t\tScroll diff view down 18 lines" msgstr "d\t\tDesplaza hacia abajo 18 líneas la vista de diferencias" -#: gitk:1371 +#: gitk:2541 #, tcl-format msgid "<%s-F>\t\tFind" msgstr "<%s-F>\t\tBuscar" -#: gitk:1372 +#: gitk:2542 #, tcl-format msgid "<%s-G>\t\tMove to next find hit" msgstr "<%s-G>\t\tBuscar el siguiente" -#: gitk:1373 +#: gitk:2543 msgid "<Return>\tMove to next find hit" msgstr "<Return>\tBuscar el siguiente" -#: gitk:1374 +#: gitk:2544 msgid "/\t\tMove to next find hit, or redo find" msgstr "/\t\tBuscar el siguiente, o reiniciar la búsqueda" -#: gitk:1375 +#: gitk:2545 msgid "?\t\tMove to previous find hit" msgstr "?\t\tBuscar el anterior" -#: gitk:1376 +#: gitk:2546 msgid "f\t\tScroll diff view to next file" msgstr "f\t\tDesplazar la vista de diferencias al archivo siguiente" -#: gitk:1377 +#: gitk:2547 #, tcl-format msgid "<%s-S>\t\tSearch for next hit in diff view" msgstr "<%s-S>\t\tBuscar siguiente en la vista de diferencias" -#: gitk:1378 +#: gitk:2548 #, tcl-format msgid "<%s-R>\t\tSearch for previous hit in diff view" msgstr "<%s-R>\t\tBuscar anterior en la vista de diferencias" -#: gitk:1379 +#: gitk:2549 #, tcl-format msgid "<%s-KP+>\tIncrease font size" msgstr "<%s-KP+>\tAumentar tamaño del texto" -#: gitk:1380 +#: gitk:2550 #, tcl-format msgid "<%s-plus>\tIncrease font size" msgstr "<%s-plus>\tAumentar tamaño del texto" -#: gitk:1381 +#: gitk:2551 #, tcl-format msgid "<%s-KP->\tDecrease font size" msgstr "<%s-KP->\tDisminuir tamaño del texto" -#: gitk:1382 +#: gitk:2552 #, tcl-format msgid "<%s-minus>\tDecrease font size" msgstr "<%s-minus>\tDisminuir tamaño del texto" -#: gitk:1383 +#: gitk:2553 msgid "<F5>\t\tUpdate" msgstr "<F5>\t\tActualizar" -#: gitk:1896 +#: gitk:3200 msgid "Gitk view definition" msgstr "Definición de vistas de Gitk" -#: gitk:1921 +#: gitk:3225 msgid "Name" msgstr "Nombre" -#: gitk:1924 +#: gitk:3228 msgid "Remember this view" msgstr "Recordar esta vista" -#: gitk:1928 -msgid "Commits to include (arguments to git rev-list):" -msgstr "Revisiones a incluir (argumentos a git rev-list):" +#: gitk:3232 +msgid "Commits to include (arguments to git log):" +msgstr "Revisiones a incluir (argumentos a git log):" -#: gitk:1935 +#: gitk:3239 msgid "Command to generate more commits to include:" msgstr "Comando que genera más revisiones a incluir:" -#: gitk:1942 +#: gitk:3246 msgid "Enter files and directories to include, one per line:" msgstr "Introducir archivos y directorios a incluir, uno por línea:" -#: gitk:1989 +#: gitk:3293 msgid "Error in commit selection arguments:" msgstr "Error en los argumentos de selección de las revisiones:" -#: gitk:2043 gitk:2127 gitk:2583 gitk:2597 gitk:3781 gitk:8688 gitk:8689 +#: gitk:3347 gitk:3399 gitk:3842 gitk:3856 gitk:5060 gitk:10141 gitk:10142 msgid "None" msgstr "Ninguno" -#: gitk:2531 gitk:4336 gitk:5958 gitk:5973 +#: gitk:3790 gitk:5580 gitk:7287 gitk:7302 msgid "Date" msgstr "Fecha" -#: gitk:2531 gitk:4336 +#: gitk:3790 gitk:5580 msgid "CDate" msgstr "Fecha de creación" -#: gitk:2680 gitk:2685 +#: gitk:3939 gitk:3944 msgid "Descendant" msgstr "Descendiente" -#: gitk:2681 +#: gitk:3940 msgid "Not descendant" msgstr "No descendiente" -#: gitk:2688 gitk:2693 +#: gitk:3947 gitk:3952 msgid "Ancestor" msgstr "Antepasado" -#: gitk:2689 +#: gitk:3948 msgid "Not ancestor" msgstr "No antepasado" -#: gitk:2924 +#: gitk:4187 msgid "Local changes checked in to index but not committed" msgstr "Cambios locales añadidos al índice pero sin completar revisión" -#: gitk:2954 +#: gitk:4220 msgid "Local uncommitted changes, not checked in to index" msgstr "Cambios locales sin añadir al índice" -#: gitk:4305 +#: gitk:5549 msgid "Searching" msgstr "Buscando" -#: gitk:4767 +#: gitk:6049 msgid "Tags:" msgstr "Etiquetas:" -#: gitk:4784 gitk:4790 gitk:5951 +#: gitk:6066 gitk:6072 gitk:7280 msgid "Parent" msgstr "Padre" -#: gitk:4795 +#: gitk:6077 msgid "Child" msgstr "Hija" -#: gitk:4804 +#: gitk:6086 msgid "Branch" msgstr "Rama" -#: gitk:4807 +#: gitk:6089 msgid "Follows" msgstr "Sigue-a" -#: gitk:4810 +#: gitk:6092 msgid "Precedes" msgstr "Precede-a" -#: gitk:5093 +#: gitk:6378 msgid "Error getting merge diffs:" msgstr "Error al leer las diferencias de fusión:" -#: gitk:5778 +#: gitk:7113 msgid "Goto:" msgstr "Ir a:" -#: gitk:5780 +#: gitk:7115 msgid "SHA1 ID:" msgstr "SHA1 ID:" -#: gitk:5805 +#: gitk:7134 #, tcl-format msgid "Short SHA1 id %s is ambiguous" msgstr "La id SHA1 abreviada %s es ambigua" -#: gitk:5817 +#: gitk:7146 #, tcl-format msgid "SHA1 id %s is not known" msgstr "La id SHA1 %s es desconocida" -#: gitk:5819 +#: gitk:7148 #, tcl-format msgid "Tag/Head %s is not known" msgstr "La etiqueta/rama %s es deconocida" -#: gitk:5961 +#: gitk:7290 msgid "Children" msgstr "Hijas" -#: gitk:6018 +#: gitk:7347 #, tcl-format msgid "Reset %s branch to here" msgstr "Poner la rama %s en esta revisión" -#: gitk:6049 +#: gitk:7349 +msgid "Detached head: can't reset" +msgstr "" + +#: gitk:7381 msgid "Top" msgstr "Origen" -#: gitk:6050 +#: gitk:7382 msgid "From" msgstr "De" -#: gitk:6055 +#: gitk:7387 msgid "To" msgstr "A" -#: gitk:6078 +#: gitk:7410 msgid "Generate patch" msgstr "Generar parche" -#: gitk:6080 +#: gitk:7412 msgid "From:" msgstr "De:" -#: gitk:6089 +#: gitk:7421 msgid "To:" msgstr "Para:" -#: gitk:6098 +#: gitk:7430 msgid "Reverse" msgstr "Invertir" -#: gitk:6100 gitk:6269 +#: gitk:7432 gitk:7607 msgid "Output file:" msgstr "Escribir a archivo:" -#: gitk:6106 +#: gitk:7438 msgid "Generate" msgstr "Generar" -#: gitk:6142 +#: gitk:7474 msgid "Error creating patch:" msgstr "Error en la creación del parche:" -#: gitk:6164 gitk:6257 gitk:6311 +#: gitk:7496 gitk:7595 gitk:7649 msgid "ID:" msgstr "ID:" -#: gitk:6173 +#: gitk:7505 msgid "Tag name:" msgstr "Nombre de etiqueta:" -#: gitk:6177 gitk:6320 +#: gitk:7509 gitk:7659 msgid "Create" msgstr "Crear" -#: gitk:6192 +#: gitk:7524 msgid "No tag name specified" msgstr "No se ha especificado etiqueta" -#: gitk:6196 +#: gitk:7528 #, tcl-format msgid "Tag \"%s\" already exists" msgstr "La etiqueta \"%s\" ya existe" -#: gitk:6202 +#: gitk:7534 msgid "Error creating tag:" msgstr "Error al crear la etiqueta:" -#: gitk:6266 +#: gitk:7604 msgid "Command:" msgstr "Comando:" -#: gitk:6274 +#: gitk:7612 msgid "Write" msgstr "Escribir" -#: gitk:6290 +#: gitk:7628 msgid "Error writing commit:" msgstr "Error al escribir revisión:" -#: gitk:6316 +#: gitk:7654 msgid "Name:" msgstr "Nombre:" -#: gitk:6335 +#: gitk:7674 msgid "Please specify a name for the new branch" msgstr "Especifique un nombre para la nueva rama" -#: gitk:6364 +#: gitk:7703 #, tcl-format msgid "Commit %s is already included in branch %s -- really re-apply it?" msgstr "La revisión %s ya está incluida en la rama %s -- ¿Volver a aplicarla?" -#: gitk:6369 +#: gitk:7708 msgid "Cherry-picking" msgstr "Eligiendo revisiones (cherry-picking)" -#: gitk:6381 +#: gitk:7720 msgid "No changes committed" msgstr "No se han guardado cambios" -#: gitk:6404 +#: gitk:7745 msgid "Confirm reset" msgstr "Confirmar git reset" -#: gitk:6406 +#: gitk:7747 #, tcl-format msgid "Reset branch %s to %s?" msgstr "¿Reponer la rama %s a %s?" -#: gitk:6410 +#: gitk:7751 msgid "Reset type:" msgstr "Tipo de reposición:" -#: gitk:6414 +#: gitk:7755 msgid "Soft: Leave working tree and index untouched" msgstr "Suave: No altera la copia de trabajo ni el índice" -#: gitk:6417 +#: gitk:7758 msgid "Mixed: Leave working tree untouched, reset index" msgstr "Mixta: Actualiza el índice, no altera la copia de trabajo" -#: gitk:6420 +#: gitk:7761 msgid "" "Hard: Reset working tree and index\n" "(discard ALL local changes)" @@ -693,19 +719,19 @@ msgstr "" "Dura: Actualiza el índice y la copia de trabajo\n" "(abandona TODAS las modificaciones locales)" -#: gitk:6436 +#: gitk:7777 msgid "Resetting" msgstr "Reponiendo" -#: gitk:6493 +#: gitk:7834 msgid "Checking out" msgstr "Creando copia de trabajo" -#: gitk:6523 +#: gitk:7885 msgid "Cannot delete the currently checked-out branch" msgstr "No se puede borrar la rama actual" -#: gitk:6529 +#: gitk:7891 #, tcl-format msgid "" "The commits on branch %s aren't on any other branch.\n" @@ -714,134 +740,146 @@ msgstr "" "Las revisiones de la rama %s no están presentes en otras ramas.\n" "¿Borrar la rama %s?" -#: gitk:6560 +#: gitk:7922 #, tcl-format msgid "Tags and heads: %s" msgstr "Etiquetas y ramas: %s" -#: gitk:6574 +#: gitk:7936 msgid "Filter" msgstr "Filtro" -#: gitk:6868 +#: gitk:8230 msgid "" "Error reading commit topology information; branch and preceding/following " "tag information will be incomplete." msgstr "" -"Error al leer la topología de revisiones: la información sobre " -"las ramas y etiquetas precedentes y siguientes será incompleta." +"Error al leer la topología de revisiones: la información sobre las ramas y " +"etiquetas precedentes y siguientes será incompleta." -#: gitk:7852 +#: gitk:9216 msgid "Tag" msgstr "Etiqueta" -#: gitk:7852 +#: gitk:9216 msgid "Id" msgstr "Id" -#: gitk:7892 +#: gitk:9262 msgid "Gitk font chooser" msgstr "Selector de tipografías gitk" -#: gitk:7909 +#: gitk:9279 msgid "B" msgstr "B" -#: gitk:7912 +#: gitk:9282 msgid "I" msgstr "I" -#: gitk:8005 +#: gitk:9375 msgid "Gitk preferences" msgstr "Preferencias de gitk" -#: gitk:8006 +#: gitk:9376 msgid "Commit list display options" msgstr "Opciones de visualización de la lista de revisiones" -#: gitk:8009 +#: gitk:9379 msgid "Maximum graph width (lines)" msgstr "Ancho máximo del gráfico (en líneas)" -#: gitk:8013 +#: gitk:9383 #, tcl-format msgid "Maximum graph width (% of pane)" msgstr "Ancho máximo del gráfico (en % del panel)" -#: gitk:8018 +#: gitk:9388 msgid "Show local changes" msgstr "Mostrar cambios locales" -#: gitk:8023 +#: gitk:9393 msgid "Auto-select SHA1" msgstr "Seleccionar automáticamente SHA1 hash" -#: gitk:8028 +#: gitk:9398 msgid "Diff display options" msgstr "Opciones de visualización de diferencias" -#: gitk:8030 +#: gitk:9400 msgid "Tab spacing" msgstr "Espaciado de tabulador" -#: gitk:8034 +#: gitk:9404 msgid "Display nearby tags" msgstr "Mostrar etiquetas cercanas" -#: gitk:8039 +#: gitk:9409 msgid "Limit diffs to listed paths" msgstr "Limitar las diferencias a las rutas seleccionadas" -#: gitk:8044 +#: gitk:9414 +msgid "Support per-file encodings" +msgstr "" + +#: gitk:9421 +msgid "External diff tool" +msgstr "" + +#: gitk:9423 +msgid "Choose..." +msgstr "" + +#: gitk:9428 msgid "Colors: press to choose" msgstr "Colores: pulse para seleccionar" -#: gitk:8047 +#: gitk:9431 msgid "Background" msgstr "Fondo" -#: gitk:8051 +#: gitk:9435 msgid "Foreground" msgstr "Primer plano" -#: gitk:8055 +#: gitk:9439 msgid "Diff: old lines" msgstr "Diff: líneas viejas" -#: gitk:8060 +#: gitk:9444 msgid "Diff: new lines" msgstr "Diff: líneas nuevas" -#: gitk:8065 +#: gitk:9449 msgid "Diff: hunk header" msgstr "Diff: cabecera de fragmento" -#: gitk:8071 +#: gitk:9455 msgid "Select bg" msgstr "Color de fondo de la selección" -#: gitk:8075 +#: gitk:9459 msgid "Fonts: press to choose" msgstr "Tipografías: pulse para elegir" -#: gitk:8077 +#: gitk:9461 msgid "Main font" msgstr "Tipografía principal" -#: gitk:8078 +#: gitk:9462 msgid "Diff display font" msgstr "Tipografía para diferencias" -#: gitk:8079 +#: gitk:9463 msgid "User interface font" msgstr "Tipografía para interfaz de usuario" -#: gitk:8095 +#: gitk:9488 #, tcl-format msgid "Gitk: choose color for %s" msgstr "Gitk: elegir color para %s" -#: gitk:8476 +#: gitk:9934 msgid "" "Sorry, gitk cannot run with this version of Tcl/Tk.\n" " Gitk requires at least Tcl/Tk 8.4." @@ -849,42 +887,25 @@ msgstr "" "Esta versión de Tcl/Tk es demasiado antigua.\n" " Gitk requiere Tcl/Tk versión 8.4 o superior." -#: gitk:8565 +#: gitk:10047 msgid "Cannot find a git repository here." msgstr "No hay un repositorio git aquí." -#: gitk:8569 +#: gitk:10051 #, tcl-format msgid "Cannot find the git directory \"%s\"." msgstr "No hay directorio git \"%s\"." -#: gitk:8612 +#: gitk:10098 #, tcl-format msgid "Ambiguous argument '%s': both revision and filename" -msgstr "Argumento ambiguo: '%s' es tanto una revisión como un nombre de archivo" +msgstr "" +"Argumento ambiguo: '%s' es tanto una revisión como un nombre de archivo" -#: gitk:8624 +#: gitk:10110 msgid "Bad arguments to gitk:" msgstr "Argumentos incorrectos a Gitk:" -#: gitk:8636 -msgid "Couldn't get list of unmerged files:" -msgstr "Imposible obtener la lista de archivos pendientes de fusión:" - -#: gitk:8652 -msgid "No files selected: --merge specified but no files are unmerged." -msgstr "" -"No hay archivos seleccionados: se seleccionó la opción --merge pero no hay " -"archivos pendientes de fusión." - -#: gitk:8655 -msgid "" -"No files selected: --merge specified but no unmerged files are within file " -"limit." -msgstr "" -"No hay archivos seleccionados: se seleccionó la opción --merge pero los archivos " -"especificados no necesitan fusión." - -#: gitk:8716 +#: gitk:10170 msgid "Command line" msgstr "Línea de comandos" diff --git a/po/it.po b/po/it.po index d0f4c2e19a..e89c95702c 100644 --- a/po/it.po +++ b/po/it.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gitk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-03-13 17:29+0100\n" +"POT-Creation-Date: 2008-10-18 22:03+1100\n" "PO-Revision-Date: 2008-03-13 17:34+0100\n" "Last-Translator: Michele Ballabio <barra_cuda@katamail.com>\n" "Language-Team: Italian\n" @@ -16,676 +16,706 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: gitk:111 -msgid "Error executing git rev-list:" -msgstr "Errore nell'esecuzione di git rev-list:" +#: gitk:113 +msgid "Couldn't get list of unmerged files:" +msgstr "Impossibile ottenere l'elenco dei file in attesa di fusione:" -#: gitk:124 +#: gitk:340 +msgid "No files selected: --merge specified but no files are unmerged." +msgstr "" +"Nessun file selezionato: è stata specificata l'opzione --merge ma non ci " +"sono file in attesa di fusione." + +#: gitk:343 +msgid "" +"No files selected: --merge specified but no unmerged files are within file " +"limit." +msgstr "" +"Nessun file selezionato: è stata specificata l'opzione --merge ma i file " +"specificati non sono in attesa di fusione." + +#: gitk:365 gitk:503 +msgid "Error executing git log:" +msgstr "Errore nell'esecuzione di git log:" + +#: gitk:378 msgid "Reading" msgstr "Lettura in corso" -#: gitk:151 gitk:2191 +#: gitk:438 gitk:3462 msgid "Reading commits..." msgstr "Lettura delle revisioni in corso..." -#: gitk:275 -msgid "Can't parse git log output:" -msgstr "Impossibile elaborare i dati di git log:" - -#: gitk:386 gitk:2195 +#: gitk:441 gitk:1528 gitk:3465 msgid "No commits selected" msgstr "Nessuna revisione selezionata" -#: gitk:500 +#: gitk:1399 +msgid "Can't parse git log output:" +msgstr "Impossibile elaborare i dati di git log:" + +#: gitk:1605 msgid "No commit information available" msgstr "Nessuna informazione disponibile sulle revisioni" -#: gitk:599 gitk:621 gitk:1955 gitk:6423 gitk:7923 gitk:8082 +#: gitk:1709 gitk:1731 gitk:3259 gitk:7764 gitk:9293 gitk:9466 msgid "OK" msgstr "OK" -#: gitk:623 gitk:1956 gitk:6107 gitk:6178 gitk:6275 gitk:6321 gitk:6425 -#: gitk:7924 gitk:8083 +#: gitk:1733 gitk:3260 gitk:7439 gitk:7510 gitk:7613 gitk:7660 gitk:7766 +#: gitk:9294 gitk:9467 msgid "Cancel" msgstr "Annulla" -#: gitk:661 -msgid "File" -msgstr "File" - -#: gitk:663 +#: gitk:1811 msgid "Update" msgstr "Aggiorna" -#: gitk:664 +#: gitk:1813 msgid "Reread references" msgstr "Rileggi riferimenti" -#: gitk:665 +#: gitk:1814 msgid "List references" msgstr "Elenca riferimenti" -#: gitk:666 +#: gitk:1815 msgid "Quit" msgstr "Esci" -#: gitk:668 -msgid "Edit" -msgstr "Modifica" +#: gitk:1810 +msgid "File" +msgstr "File" -#: gitk:669 +#: gitk:1818 msgid "Preferences" msgstr "Preferenze" -#: gitk:672 gitk:1892 -msgid "View" -msgstr "Vista" +#: gitk:1817 +msgid "Edit" +msgstr "Modifica" -#: gitk:673 +#: gitk:1821 msgid "New view..." msgstr "Nuova vista..." -#: gitk:674 gitk:2133 gitk:8722 +#: gitk:1822 msgid "Edit view..." msgstr "Modifica vista..." -#: gitk:676 gitk:2134 gitk:8723 +#: gitk:1823 msgid "Delete view" msgstr "Elimina vista" -#: gitk:678 +#: gitk:1825 msgid "All files" msgstr "Tutti i file" -#: gitk:682 -msgid "Help" -msgstr "Aiuto" +#: gitk:1820 gitk:3196 +msgid "View" +msgstr "Vista" -#: gitk:683 gitk:1317 +#: gitk:1828 gitk:2487 msgid "About gitk" msgstr "Informazioni su gitk" -#: gitk:684 +#: gitk:1829 msgid "Key bindings" msgstr "Scorciatoie da tastiera" -#: gitk:741 +#: gitk:1827 +msgid "Help" +msgstr "Aiuto" + +#: gitk:1887 msgid "SHA1 ID: " msgstr "SHA1 ID: " -#: gitk:791 +#: gitk:1918 +msgid "Row" +msgstr "" + +#: gitk:1949 msgid "Find" msgstr "Trova" -#: gitk:792 +#: gitk:1950 msgid "next" msgstr "succ" -#: gitk:793 +#: gitk:1951 msgid "prev" msgstr "prec" -#: gitk:794 +#: gitk:1952 msgid "commit" msgstr "revisione" -#: gitk:797 gitk:799 gitk:2356 gitk:2379 gitk:2403 gitk:4306 gitk:4369 +#: gitk:1955 gitk:1957 gitk:3617 gitk:3640 gitk:3664 gitk:5550 gitk:5621 msgid "containing:" msgstr "contenente:" -#: gitk:800 gitk:1778 gitk:1783 gitk:2431 +#: gitk:1958 gitk:2954 gitk:2959 gitk:3692 msgid "touching paths:" msgstr "che riguarda i percorsi:" -#: gitk:801 gitk:2436 +#: gitk:1959 gitk:3697 msgid "adding/removing string:" msgstr "che aggiunge/rimuove la stringa:" -#: gitk:810 gitk:812 +#: gitk:1968 gitk:1970 msgid "Exact" msgstr "Esatto" -#: gitk:812 gitk:2514 gitk:4274 +#: gitk:1970 gitk:3773 gitk:5518 msgid "IgnCase" msgstr "" -#: gitk:812 gitk:2405 gitk:2512 gitk:4270 +#: gitk:1970 gitk:3666 gitk:3771 gitk:5514 msgid "Regexp" msgstr "" -#: gitk:814 gitk:815 gitk:2533 gitk:2563 gitk:2570 gitk:4380 gitk:4436 +#: gitk:1972 gitk:1973 gitk:3792 gitk:3822 gitk:3829 gitk:5641 gitk:5708 msgid "All fields" msgstr "Tutti i campi" -#: gitk:815 gitk:2531 gitk:2563 gitk:4336 +#: gitk:1973 gitk:3790 gitk:3822 gitk:5580 msgid "Headline" msgstr "Titolo" -#: gitk:816 gitk:2531 gitk:4336 gitk:4436 gitk:4827 +#: gitk:1974 gitk:3790 gitk:5580 gitk:5708 gitk:6109 msgid "Comments" msgstr "Commenti" -#: gitk:816 gitk:2531 gitk:2535 gitk:2570 gitk:4336 gitk:4763 gitk:5956 -#: gitk:5971 +#: gitk:1974 gitk:3790 gitk:3794 gitk:3829 gitk:5580 gitk:6045 gitk:7285 +#: gitk:7300 msgid "Author" msgstr "Autore" -#: gitk:816 gitk:2531 gitk:4336 gitk:4765 +#: gitk:1974 gitk:3790 gitk:5580 gitk:6047 msgid "Committer" msgstr "Revisione creata da" -#: gitk:845 +#: gitk:2003 msgid "Search" msgstr "Cerca" -#: gitk:852 +#: gitk:2010 msgid "Diff" msgstr "" -#: gitk:854 +#: gitk:2012 msgid "Old version" msgstr "Vecchia versione" -#: gitk:856 +#: gitk:2014 msgid "New version" msgstr "Nuova versione" -#: gitk:858 +#: gitk:2016 msgid "Lines of context" msgstr "Linee di contesto" -#: gitk:868 +#: gitk:2026 msgid "Ignore space change" msgstr "Ignora modifiche agli spazi" -#: gitk:926 +#: gitk:2084 msgid "Patch" msgstr "Modifiche" -#: gitk:928 +#: gitk:2086 msgid "Tree" msgstr "Directory" -#: gitk:1053 gitk:1068 gitk:6022 +#: gitk:2213 gitk:2226 msgid "Diff this -> selected" msgstr "Diff questo -> selezionato" -#: gitk:1055 gitk:1070 gitk:6023 +#: gitk:2214 gitk:2227 msgid "Diff selected -> this" msgstr "Diff selezionato -> questo" -#: gitk:1057 gitk:1072 gitk:6024 +#: gitk:2215 gitk:2228 msgid "Make patch" msgstr "Crea patch" -#: gitk:1058 gitk:6162 +#: gitk:2216 gitk:7494 msgid "Create tag" msgstr "Crea etichetta" -#: gitk:1059 gitk:6255 +#: gitk:2217 gitk:7593 msgid "Write commit to file" msgstr "Scrivi revisione in un file" -#: gitk:1060 gitk:6309 +#: gitk:2218 gitk:7647 msgid "Create new branch" msgstr "Crea un nuovo ramo" -#: gitk:1061 +#: gitk:2219 msgid "Cherry-pick this commit" msgstr "Porta questa revisione in cima al ramo attuale" -#: gitk:1063 +#: gitk:2220 msgid "Reset HEAD branch to here" msgstr "Aggiorna il ramo HEAD a questa revisione" -#: gitk:1079 +#: gitk:2234 msgid "Check out this branch" msgstr "Attiva questo ramo" -#: gitk:1081 +#: gitk:2235 msgid "Remove this branch" msgstr "Elimina questo ramo" -#: gitk:1087 +#: gitk:2242 msgid "Highlight this too" msgstr "Evidenzia anche questo" -#: gitk:1089 +#: gitk:2243 msgid "Highlight this only" msgstr "Evidenzia solo questo" -#: gitk:1318 +#: gitk:2245 +msgid "Blame parent commit" +msgstr "" + +#: gitk:2488 msgid "" "\n" "Gitk - a commit viewer for git\n" "\n" -"Copyright © 2005-2006 Paul Mackerras\n" +"Copyright © 2005-2008 Paul Mackerras\n" "\n" "Use and redistribute under the terms of the GNU General Public License" msgstr "" "\n" "Gitk - un visualizzatore di revisioni per git\n" "\n" -"Copyright © 2005-2006 Paul Mackerras\n" +"Copyright © 2005-2008 Paul Mackerras\n" "\n" "Utilizzo e redistribuzione permessi sotto i termini della GNU General Public " "License" -#: gitk:1326 gitk:1387 gitk:6581 +#: gitk:2496 gitk:2557 gitk:7943 msgid "Close" msgstr "Chiudi" -#: gitk:1345 +#: gitk:2515 msgid "Gitk key bindings" msgstr "Scorciatoie da tastiera di Gitk" -#: gitk:1347 +#: gitk:2517 msgid "Gitk key bindings:" msgstr "Scorciatoie da tastiera di Gitk:" -#: gitk:1349 +#: gitk:2519 #, tcl-format msgid "<%s-Q>\t\tQuit" msgstr "<%s-Q>\t\tEsci" -#: gitk:1350 +#: gitk:2520 msgid "<Home>\t\tMove to first commit" msgstr "<Home>\t\tVai alla prima revisione" -#: gitk:1351 +#: gitk:2521 msgid "<End>\t\tMove to last commit" msgstr "<End>\t\tVai all'ultima revisione" -#: gitk:1352 +#: gitk:2522 msgid "<Up>, p, i\tMove up one commit" msgstr "<Up>, p, i\tVai più in alto di una revisione" -#: gitk:1353 +#: gitk:2523 msgid "<Down>, n, k\tMove down one commit" msgstr "<Down>, n, k\tVai più in basso di una revisione" -#: gitk:1354 +#: gitk:2524 msgid "<Left>, z, j\tGo back in history list" msgstr "<Left>, z, j\tTorna indietro nella cronologia" -#: gitk:1355 +#: gitk:2525 msgid "<Right>, x, l\tGo forward in history list" msgstr "<Right>, x, l\tVai avanti nella cronologia" -#: gitk:1356 +#: gitk:2526 msgid "<PageUp>\tMove up one page in commit list" msgstr "<PageUp>\tVai più in alto di una pagina nella lista delle revisioni" -#: gitk:1357 +#: gitk:2527 msgid "<PageDown>\tMove down one page in commit list" msgstr "<PageDown>\tVai più in basso di una pagina nella lista delle revisioni" -#: gitk:1358 +#: gitk:2528 #, tcl-format msgid "<%s-Home>\tScroll to top of commit list" msgstr "<%s-Home>\tScorri alla cima della lista delle revisioni" -#: gitk:1359 +#: gitk:2529 #, tcl-format msgid "<%s-End>\tScroll to bottom of commit list" msgstr "<%s-End>\tScorri alla fine della lista delle revisioni" -#: gitk:1360 +#: gitk:2530 #, tcl-format msgid "<%s-Up>\tScroll commit list up one line" msgstr "<%s-Up>\tScorri la lista delle revisioni in alto di una riga" -#: gitk:1361 +#: gitk:2531 #, tcl-format msgid "<%s-Down>\tScroll commit list down one line" msgstr "<%s-Down>\tScorri la lista delle revisioni in basso di una riga" -#: gitk:1362 +#: gitk:2532 #, tcl-format msgid "<%s-PageUp>\tScroll commit list up one page" msgstr "<%s-PageUp>\tScorri la lista delle revisioni in alto di una pagina" -#: gitk:1363 +#: gitk:2533 #, tcl-format msgid "<%s-PageDown>\tScroll commit list down one page" msgstr "<%s-PageDown>\tScorri la lista delle revisioni in basso di una pagina" -#: gitk:1364 +#: gitk:2534 msgid "<Shift-Up>\tFind backwards (upwards, later commits)" msgstr "<Shift-Up>\tTrova all'indietro (verso l'alto, revisioni successive)" -#: gitk:1365 +#: gitk:2535 msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" msgstr "<Shift-Down>\tTrova in avanti (verso il basso, revisioni precedenti)" -#: gitk:1366 +#: gitk:2536 msgid "<Delete>, b\tScroll diff view up one page" msgstr "<Delete>, b\tScorri la vista delle differenze in alto di una pagina" -#: gitk:1367 +#: gitk:2537 msgid "<Backspace>\tScroll diff view up one page" msgstr "<Backspace>\tScorri la vista delle differenze in alto di una pagina" -#: gitk:1368 +#: gitk:2538 msgid "<Space>\t\tScroll diff view down one page" msgstr "<Space>\t\tScorri la vista delle differenze in basso di una pagina" -#: gitk:1369 +#: gitk:2539 msgid "u\t\tScroll diff view up 18 lines" msgstr "u\t\tScorri la vista delle differenze in alto di 18 linee" -#: gitk:1370 +#: gitk:2540 msgid "d\t\tScroll diff view down 18 lines" msgstr "d\t\tScorri la vista delle differenze in basso di 18 linee" -#: gitk:1371 +#: gitk:2541 #, tcl-format msgid "<%s-F>\t\tFind" msgstr "<%s-F>\t\tTrova" -#: gitk:1372 +#: gitk:2542 #, tcl-format msgid "<%s-G>\t\tMove to next find hit" msgstr "<%s-G>\t\tTrova in avanti" -#: gitk:1373 +#: gitk:2543 msgid "<Return>\tMove to next find hit" msgstr "<Return>\tTrova in avanti" -#: gitk:1374 +#: gitk:2544 msgid "/\t\tMove to next find hit, or redo find" msgstr "/\t\tTrova in avanti, o cerca di nuovo" -#: gitk:1375 +#: gitk:2545 msgid "?\t\tMove to previous find hit" msgstr "?\t\tTrova all'indietro" -#: gitk:1376 +#: gitk:2546 msgid "f\t\tScroll diff view to next file" msgstr "f\t\tScorri la vista delle differenze al file successivo" -#: gitk:1377 +#: gitk:2547 #, tcl-format msgid "<%s-S>\t\tSearch for next hit in diff view" msgstr "<%s-S>\t\tCerca in avanti nella vista delle differenze" -#: gitk:1378 +#: gitk:2548 #, tcl-format msgid "<%s-R>\t\tSearch for previous hit in diff view" msgstr "<%s-R>\t\tCerca all'indietro nella vista delle differenze" -#: gitk:1379 +#: gitk:2549 #, tcl-format msgid "<%s-KP+>\tIncrease font size" msgstr "<%s-KP+>\tAumenta grandezza carattere" -#: gitk:1380 +#: gitk:2550 #, tcl-format msgid "<%s-plus>\tIncrease font size" msgstr "<%s-plus>\tAumenta grandezza carattere" -#: gitk:1381 +#: gitk:2551 #, tcl-format msgid "<%s-KP->\tDecrease font size" msgstr "<%s-KP->\tDiminuisci grandezza carattere" -#: gitk:1382 +#: gitk:2552 #, tcl-format msgid "<%s-minus>\tDecrease font size" msgstr "<%s-minus>\tDiminuisci grandezza carattere" -#: gitk:1383 +#: gitk:2553 msgid "<F5>\t\tUpdate" msgstr "<F5>\t\tAggiorna" -#: gitk:1896 +#: gitk:3200 msgid "Gitk view definition" msgstr "Scelta vista Gitk" -#: gitk:1921 +#: gitk:3225 msgid "Name" msgstr "Nome" -#: gitk:1924 +#: gitk:3228 msgid "Remember this view" msgstr "Ricorda questa vista" -#: gitk:1928 -msgid "Commits to include (arguments to git rev-list):" -msgstr "Revisioni da includere (argomenti di git rev-list):" +#: gitk:3232 +msgid "Commits to include (arguments to git log):" +msgstr "Revisioni da includere (argomenti di git log):" -#: gitk:1935 +#: gitk:3239 msgid "Command to generate more commits to include:" msgstr "Comando che genera altre revisioni da visualizzare:" -#: gitk:1942 +#: gitk:3246 msgid "Enter files and directories to include, one per line:" msgstr "Inserire file e directory da includere, uno per riga:" -#: gitk:1989 +#: gitk:3293 msgid "Error in commit selection arguments:" msgstr "Errore negli argomenti di selezione delle revisioni:" -#: gitk:2043 gitk:2127 gitk:2583 gitk:2597 gitk:3781 gitk:8688 gitk:8689 +#: gitk:3347 gitk:3399 gitk:3842 gitk:3856 gitk:5060 gitk:10141 gitk:10142 msgid "None" msgstr "Nessuno" -#: gitk:2531 gitk:4336 gitk:5958 gitk:5973 +#: gitk:3790 gitk:5580 gitk:7287 gitk:7302 msgid "Date" msgstr "Data" -#: gitk:2531 gitk:4336 +#: gitk:3790 gitk:5580 msgid "CDate" msgstr "" -#: gitk:2680 gitk:2685 +#: gitk:3939 gitk:3944 msgid "Descendant" msgstr "Discendente" -#: gitk:2681 +#: gitk:3940 msgid "Not descendant" msgstr "Non discendente" -#: gitk:2688 gitk:2693 +#: gitk:3947 gitk:3952 msgid "Ancestor" msgstr "Ascendente" -#: gitk:2689 +#: gitk:3948 msgid "Not ancestor" msgstr "Non ascendente" -#: gitk:2924 +#: gitk:4187 msgid "Local changes checked in to index but not committed" msgstr "Modifiche locali presenti nell'indice ma non nell'archivio" -#: gitk:2954 +#: gitk:4220 msgid "Local uncommitted changes, not checked in to index" msgstr "Modifiche locali non presenti né nell'archivio né nell'indice" -#: gitk:4305 +#: gitk:5549 msgid "Searching" msgstr "Ricerca in corso" -#: gitk:4767 +#: gitk:6049 msgid "Tags:" msgstr "Etichette:" -#: gitk:4784 gitk:4790 gitk:5951 +#: gitk:6066 gitk:6072 gitk:7280 msgid "Parent" msgstr "Genitore" -#: gitk:4795 +#: gitk:6077 msgid "Child" msgstr "Figlio" -#: gitk:4804 +#: gitk:6086 msgid "Branch" msgstr "Ramo" -#: gitk:4807 +#: gitk:6089 msgid "Follows" msgstr "Segue" -#: gitk:4810 +#: gitk:6092 msgid "Precedes" msgstr "Precede" -#: gitk:5093 +#: gitk:6378 msgid "Error getting merge diffs:" msgstr "Errore nella lettura delle differenze di fusione:" -#: gitk:5778 +#: gitk:7113 msgid "Goto:" msgstr "Vai a:" -#: gitk:5780 +#: gitk:7115 msgid "SHA1 ID:" msgstr "SHA1 ID:" -#: gitk:5805 +#: gitk:7134 #, tcl-format msgid "Short SHA1 id %s is ambiguous" msgstr "La SHA1 id abbreviata %s è ambigua" -#: gitk:5817 +#: gitk:7146 #, tcl-format msgid "SHA1 id %s is not known" msgstr "La SHA1 id %s è sconosciuta" -#: gitk:5819 +#: gitk:7148 #, tcl-format msgid "Tag/Head %s is not known" msgstr "L'etichetta/ramo %s è sconosciuto" -#: gitk:5961 +#: gitk:7290 msgid "Children" msgstr "Figli" -#: gitk:6018 +#: gitk:7347 #, tcl-format msgid "Reset %s branch to here" msgstr "Aggiorna il ramo %s a questa revisione" -#: gitk:6049 +#: gitk:7349 +msgid "Detached head: can't reset" +msgstr "" + +#: gitk:7381 msgid "Top" msgstr "Inizio" -#: gitk:6050 +#: gitk:7382 msgid "From" msgstr "Da" -#: gitk:6055 +#: gitk:7387 msgid "To" msgstr "A" -#: gitk:6078 +#: gitk:7410 msgid "Generate patch" msgstr "Genera patch" -#: gitk:6080 +#: gitk:7412 msgid "From:" msgstr "Da:" -#: gitk:6089 +#: gitk:7421 msgid "To:" msgstr "A:" -#: gitk:6098 +#: gitk:7430 msgid "Reverse" msgstr "Inverti" -#: gitk:6100 gitk:6269 +#: gitk:7432 gitk:7607 msgid "Output file:" msgstr "Scrivi sul file:" -#: gitk:6106 +#: gitk:7438 msgid "Generate" msgstr "Genera" -#: gitk:6142 +#: gitk:7474 msgid "Error creating patch:" msgstr "Errore nella creazione della patch:" -#: gitk:6164 gitk:6257 gitk:6311 +#: gitk:7496 gitk:7595 gitk:7649 msgid "ID:" msgstr "ID:" -#: gitk:6173 +#: gitk:7505 msgid "Tag name:" msgstr "Nome etichetta:" -#: gitk:6177 gitk:6320 +#: gitk:7509 gitk:7659 msgid "Create" msgstr "Crea" -#: gitk:6192 +#: gitk:7524 msgid "No tag name specified" msgstr "Nessuna etichetta specificata" -#: gitk:6196 +#: gitk:7528 #, tcl-format msgid "Tag \"%s\" already exists" msgstr "L'etichetta \"%s\" esiste già" -#: gitk:6202 +#: gitk:7534 msgid "Error creating tag:" msgstr "Errore nella creazione dell'etichetta:" -#: gitk:6266 +#: gitk:7604 msgid "Command:" msgstr "Comando:" -#: gitk:6274 +#: gitk:7612 msgid "Write" msgstr "Scrivi" -#: gitk:6290 +#: gitk:7628 msgid "Error writing commit:" msgstr "Errore nella scrittura della revisione:" -#: gitk:6316 +#: gitk:7654 msgid "Name:" msgstr "Nome:" -#: gitk:6335 +#: gitk:7674 msgid "Please specify a name for the new branch" msgstr "Specificare un nome per il nuovo ramo" -#: gitk:6364 +#: gitk:7703 #, tcl-format msgid "Commit %s is already included in branch %s -- really re-apply it?" msgstr "La revisione %s è già inclusa nel ramo %s -- applicarla di nuovo?" -#: gitk:6369 +#: gitk:7708 msgid "Cherry-picking" msgstr "" -#: gitk:6381 +#: gitk:7720 msgid "No changes committed" msgstr "Nessuna modifica archiviata" -#: gitk:6404 +#: gitk:7745 msgid "Confirm reset" msgstr "Conferma git reset" -#: gitk:6406 +#: gitk:7747 #, tcl-format msgid "Reset branch %s to %s?" msgstr "Aggiornare il ramo %s a %s?" -#: gitk:6410 +#: gitk:7751 msgid "Reset type:" msgstr "Tipo di aggiornamento:" -#: gitk:6414 +#: gitk:7755 msgid "Soft: Leave working tree and index untouched" msgstr "Soft: Lascia la direcory di lavoro e l'indice come sono" -#: gitk:6417 +#: gitk:7758 msgid "Mixed: Leave working tree untouched, reset index" msgstr "Mixed: Lascia la directory di lavoro come è, aggiorna l'indice" -#: gitk:6420 +#: gitk:7761 msgid "" "Hard: Reset working tree and index\n" "(discard ALL local changes)" @@ -693,19 +723,19 @@ msgstr "" "Hard: Aggiorna la directory di lavoro e l'indice\n" "(abbandona TUTTE le modifiche locali)" -#: gitk:6436 +#: gitk:7777 msgid "Resetting" msgstr "git reset in corso" -#: gitk:6493 +#: gitk:7834 msgid "Checking out" msgstr "Attivazione in corso" -#: gitk:6523 +#: gitk:7885 msgid "Cannot delete the currently checked-out branch" msgstr "Impossibile cancellare il ramo attualmente attivo" -#: gitk:6529 +#: gitk:7891 #, tcl-format msgid "" "The commits on branch %s aren't on any other branch.\n" @@ -714,16 +744,16 @@ msgstr "" "Le revisioni nel ramo %s non sono presenti su altri rami.\n" "Cancellare il ramo %s?" -#: gitk:6560 +#: gitk:7922 #, tcl-format msgid "Tags and heads: %s" msgstr "Etichette e rami: %s" -#: gitk:6574 +#: gitk:7936 msgid "Filter" msgstr "Filtro" -#: gitk:6868 +#: gitk:8230 msgid "" "Error reading commit topology information; branch and preceding/following " "tag information will be incomplete." @@ -731,117 +761,129 @@ msgstr "" "Errore nella lettura della topologia delle revisioni: le informazioni sul " "ramo e le etichette precedenti e seguenti saranno incomplete." -#: gitk:7852 +#: gitk:9216 msgid "Tag" msgstr "Etichetta" -#: gitk:7852 +#: gitk:9216 msgid "Id" msgstr "Id" -#: gitk:7892 +#: gitk:9262 msgid "Gitk font chooser" msgstr "Scelta caratteri gitk" -#: gitk:7909 +#: gitk:9279 msgid "B" msgstr "B" -#: gitk:7912 +#: gitk:9282 msgid "I" msgstr "I" -#: gitk:8005 +#: gitk:9375 msgid "Gitk preferences" msgstr "Preferenze gitk" -#: gitk:8006 +#: gitk:9376 msgid "Commit list display options" msgstr "Opzioni visualizzazione dell'elenco revisioni" -#: gitk:8009 +#: gitk:9379 msgid "Maximum graph width (lines)" msgstr "Larghezza massima del grafico (in linee)" -#: gitk:8013 +#: gitk:9383 #, tcl-format msgid "Maximum graph width (% of pane)" msgstr "Larghezza massima del grafico (% del pannello)" -#: gitk:8018 +#: gitk:9388 msgid "Show local changes" msgstr "Mostra modifiche locali" -#: gitk:8023 +#: gitk:9393 msgid "Auto-select SHA1" msgstr "Seleziona automaticamente SHA1 hash" -#: gitk:8028 +#: gitk:9398 msgid "Diff display options" msgstr "Opzioni di visualizzazione delle differenze" -#: gitk:8030 +#: gitk:9400 msgid "Tab spacing" msgstr "Spaziatura tabulazioni" -#: gitk:8034 +#: gitk:9404 msgid "Display nearby tags" msgstr "Mostra etichette vicine" -#: gitk:8039 +#: gitk:9409 msgid "Limit diffs to listed paths" msgstr "Limita le differenze ai percorsi elencati" -#: gitk:8044 +#: gitk:9414 +msgid "Support per-file encodings" +msgstr "" + +#: gitk:9421 +msgid "External diff tool" +msgstr "" + +#: gitk:9423 +msgid "Choose..." +msgstr "" + +#: gitk:9428 msgid "Colors: press to choose" msgstr "Colori: premere per scegliere" -#: gitk:8047 +#: gitk:9431 msgid "Background" msgstr "Sfondo" -#: gitk:8051 +#: gitk:9435 msgid "Foreground" msgstr "Primo piano" -#: gitk:8055 +#: gitk:9439 msgid "Diff: old lines" msgstr "Diff: vecchie linee" -#: gitk:8060 +#: gitk:9444 msgid "Diff: new lines" msgstr "Diff: nuove linee" -#: gitk:8065 +#: gitk:9449 msgid "Diff: hunk header" msgstr "Diff: intestazione della sezione" -#: gitk:8071 +#: gitk:9455 msgid "Select bg" msgstr "Sfondo selezione" -#: gitk:8075 +#: gitk:9459 msgid "Fonts: press to choose" msgstr "Carattere: premere per scegliere" -#: gitk:8077 +#: gitk:9461 msgid "Main font" msgstr "Carattere principale" -#: gitk:8078 +#: gitk:9462 msgid "Diff display font" msgstr "Carattere per differenze" -#: gitk:8079 +#: gitk:9463 msgid "User interface font" msgstr "Carattere per interfaccia utente" -#: gitk:8095 +#: gitk:9488 #, tcl-format msgid "Gitk: choose color for %s" msgstr "Gitk: scegliere un colore per %s" -#: gitk:8476 +#: gitk:9934 msgid "" "Sorry, gitk cannot run with this version of Tcl/Tk.\n" " Gitk requires at least Tcl/Tk 8.4." @@ -849,42 +891,24 @@ msgstr "" "Questa versione di Tcl/Tk non può avviare gitk.\n" " Gitk richiede Tcl/Tk versione 8.4 o superiore." -#: gitk:8565 +#: gitk:10047 msgid "Cannot find a git repository here." msgstr "Archivio git non trovato." -#: gitk:8569 +#: gitk:10051 #, tcl-format msgid "Cannot find the git directory \"%s\"." msgstr "Directory git \"%s\" non trovata." -#: gitk:8612 +#: gitk:10098 #, tcl-format msgid "Ambiguous argument '%s': both revision and filename" msgstr "Argomento ambiguo: '%s' è sia revisione che nome di file" -#: gitk:8624 +#: gitk:10110 msgid "Bad arguments to gitk:" msgstr "Gitk: argomenti errati:" -#: gitk:8636 -msgid "Couldn't get list of unmerged files:" -msgstr "Impossibile ottenere l'elenco dei file in attesa di fusione:" - -#: gitk:8652 -msgid "No files selected: --merge specified but no files are unmerged." -msgstr "" -"Nessun file selezionato: è stata specificata l'opzione --merge ma non ci " -"sono file in attesa di fusione." - -#: gitk:8655 -msgid "" -"No files selected: --merge specified but no unmerged files are within file " -"limit." -msgstr "" -"Nessun file selezionato: è stata specificata l'opzione --merge ma i file " -"specificati non sono in attesa di fusione." - -#: gitk:8716 +#: gitk:10170 msgid "Command line" msgstr "Linea di comando" diff --git a/po/sv.po b/po/sv.po index e1ecfb7586..947b53f6b0 100644 --- a/po/sv.po +++ b/po/sv.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: sv\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-08-03 18:58+0200\n" +"POT-Creation-Date: 2008-10-18 22:03+1100\n" "PO-Revision-Date: 2008-08-03 19:03+0200\n" "Last-Translator: Mikael Magnusson <mikachu@gmail.com>\n" "Language-Team: Swedish <sv@li.org>\n" @@ -16,17 +16,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: gitk:102 +#: gitk:113 msgid "Couldn't get list of unmerged files:" msgstr "Kunde inta hämta lista över ej sammanslagna filer:" -#: gitk:329 +#: gitk:340 msgid "No files selected: --merge specified but no files are unmerged." msgstr "" "Inga filer valdes: --merge angavs men det finns inga filer som inte har " "slagits samman." -#: gitk:332 +#: gitk:343 msgid "" "No files selected: --merge specified but no unmerged files are within file " "limit." @@ -34,257 +34,261 @@ msgstr "" "Inga filer valdes: --merge angavs men det finns inga filer inom " "filbegränsningen." -#: gitk:354 +#: gitk:365 gitk:503 msgid "Error executing git log:" msgstr "Fel vid körning av git log:" -#: gitk:369 +#: gitk:378 msgid "Reading" msgstr "Läser" -#: gitk:400 gitk:3356 +#: gitk:438 gitk:3462 msgid "Reading commits..." msgstr "Läser incheckningar..." -#: gitk:403 gitk:1480 gitk:3359 +#: gitk:441 gitk:1528 gitk:3465 msgid "No commits selected" msgstr "Inga incheckningar markerade" -#: gitk:1358 +#: gitk:1399 msgid "Can't parse git log output:" msgstr "Kan inte tolka utdata från git log:" -#: gitk:1557 +#: gitk:1605 msgid "No commit information available" msgstr "Ingen incheckningsinformation är tillgänglig" -#: gitk:1654 gitk:1676 gitk:3150 gitk:7620 gitk:9149 gitk:9317 +#: gitk:1709 gitk:1731 gitk:3259 gitk:7764 gitk:9293 gitk:9466 msgid "OK" msgstr "OK" -#: gitk:1678 gitk:3151 gitk:7296 gitk:7367 gitk:7470 gitk:7516 gitk:7622 -#: gitk:9150 gitk:9318 +#: gitk:1733 gitk:3260 gitk:7439 gitk:7510 gitk:7613 gitk:7660 gitk:7766 +#: gitk:9294 gitk:9467 msgid "Cancel" msgstr "Avbryt" -#: gitk:1716 -msgid "File" -msgstr "Arkiv" - -#: gitk:1718 +#: gitk:1811 msgid "Update" msgstr "Uppdatera" -#: gitk:1719 +#: gitk:1812 msgid "Reload" msgstr "Ladda om" -#: gitk:1720 +#: gitk:1813 msgid "Reread references" msgstr "Läs om referenser" -#: gitk:1721 +#: gitk:1814 msgid "List references" msgstr "Visa referenser" -#: gitk:1722 +#: gitk:1815 msgid "Quit" msgstr "Avsluta" -#: gitk:1724 -msgid "Edit" -msgstr "Redigera" +#: gitk:1810 +msgid "File" +msgstr "Arkiv" -#: gitk:1725 +#: gitk:1818 msgid "Preferences" msgstr "Inställningar" -#: gitk:1728 gitk:3087 -msgid "View" -msgstr "Visa" +#: gitk:1817 +msgid "Edit" +msgstr "Redigera" -#: gitk:1729 +#: gitk:1821 msgid "New view..." msgstr "Ny vy..." -#: gitk:1730 gitk:3298 gitk:9932 +#: gitk:1822 msgid "Edit view..." msgstr "Ändra vy..." -#: gitk:1732 gitk:3299 gitk:9933 +#: gitk:1823 msgid "Delete view" msgstr "Ta bort vy" -#: gitk:1734 +#: gitk:1825 msgid "All files" msgstr "Alla filer" -#: gitk:1738 -msgid "Help" -msgstr "Hjälp" +#: gitk:1820 gitk:3196 +msgid "View" +msgstr "Visa" -#: gitk:1739 gitk:2399 +#: gitk:1828 gitk:2487 msgid "About gitk" msgstr "Om gitk" -#: gitk:1740 +#: gitk:1829 msgid "Key bindings" msgstr "Tangentbordsbindningar" -#: gitk:1797 +#: gitk:1827 +msgid "Help" +msgstr "Hjälp" + +#: gitk:1887 msgid "SHA1 ID: " msgstr "SHA1-id: " -#: gitk:1828 +#: gitk:1918 msgid "Row" msgstr "Rad" -#: gitk:1859 +#: gitk:1949 msgid "Find" msgstr "Sök" -#: gitk:1860 +#: gitk:1950 msgid "next" msgstr "nästa" -#: gitk:1861 +#: gitk:1951 msgid "prev" msgstr "föreg" -#: gitk:1862 +#: gitk:1952 msgid "commit" msgstr "incheckning" -#: gitk:1865 gitk:1867 gitk:3511 gitk:3534 gitk:3558 gitk:5441 gitk:5512 +#: gitk:1955 gitk:1957 gitk:3617 gitk:3640 gitk:3664 gitk:5550 gitk:5621 msgid "containing:" msgstr "som innehåller:" -#: gitk:1868 gitk:2866 gitk:2871 gitk:3586 +#: gitk:1958 gitk:2954 gitk:2959 gitk:3692 msgid "touching paths:" msgstr "som rör sökväg:" -#: gitk:1869 gitk:3591 +#: gitk:1959 gitk:3697 msgid "adding/removing string:" msgstr "som lägger/till tar bort sträng:" -#: gitk:1878 gitk:1880 +#: gitk:1968 gitk:1970 msgid "Exact" msgstr "Exakt" -#: gitk:1880 gitk:3667 gitk:5409 +#: gitk:1970 gitk:3773 gitk:5518 msgid "IgnCase" msgstr "IgnVersaler" -#: gitk:1880 gitk:3560 gitk:3665 gitk:5405 +#: gitk:1970 gitk:3666 gitk:3771 gitk:5514 msgid "Regexp" msgstr "Reg.uttr." -#: gitk:1882 gitk:1883 gitk:3686 gitk:3716 gitk:3723 gitk:5532 gitk:5599 +#: gitk:1972 gitk:1973 gitk:3792 gitk:3822 gitk:3829 gitk:5641 gitk:5708 msgid "All fields" msgstr "Alla fält" -#: gitk:1883 gitk:3684 gitk:3716 gitk:5471 +#: gitk:1973 gitk:3790 gitk:3822 gitk:5580 msgid "Headline" msgstr "Rubrik" -#: gitk:1884 gitk:3684 gitk:5471 gitk:5599 gitk:6000 +#: gitk:1974 gitk:3790 gitk:5580 gitk:5708 gitk:6109 msgid "Comments" msgstr "Kommentarer" -#: gitk:1884 gitk:3684 gitk:3688 gitk:3723 gitk:5471 gitk:5936 gitk:7142 -#: gitk:7157 +#: gitk:1974 gitk:3790 gitk:3794 gitk:3829 gitk:5580 gitk:6045 gitk:7285 +#: gitk:7300 msgid "Author" msgstr "Författare" -#: gitk:1884 gitk:3684 gitk:5471 gitk:5938 +#: gitk:1974 gitk:3790 gitk:5580 gitk:6047 msgid "Committer" msgstr "Incheckare" -#: gitk:1913 +#: gitk:2003 msgid "Search" msgstr "Sök" -#: gitk:1920 +#: gitk:2010 msgid "Diff" msgstr "Diff" -#: gitk:1922 +#: gitk:2012 msgid "Old version" msgstr "Gammal version" -#: gitk:1924 +#: gitk:2014 msgid "New version" msgstr "Ny version" -#: gitk:1926 +#: gitk:2016 msgid "Lines of context" msgstr "Rader sammanhang" -#: gitk:1936 +#: gitk:2026 msgid "Ignore space change" msgstr "Ignorera ändringar i blanksteg" -#: gitk:1994 +#: gitk:2084 msgid "Patch" msgstr "Patch" -#: gitk:1996 +#: gitk:2086 msgid "Tree" msgstr "Träd" -#: gitk:2121 gitk:2136 gitk:7211 +#: gitk:2213 gitk:2226 msgid "Diff this -> selected" msgstr "Diff denna -> markerad" -#: gitk:2123 gitk:2138 gitk:7212 +#: gitk:2214 gitk:2227 msgid "Diff selected -> this" msgstr "Diff markerad -> denna" -#: gitk:2125 gitk:2140 gitk:7213 +#: gitk:2215 gitk:2228 msgid "Make patch" msgstr "Skapa patch" -#: gitk:2126 gitk:7351 +#: gitk:2216 gitk:7494 msgid "Create tag" msgstr "Skapa tagg" -#: gitk:2127 gitk:7450 +#: gitk:2217 gitk:7593 msgid "Write commit to file" msgstr "Skriv incheckning till fil" -#: gitk:2128 gitk:7504 +#: gitk:2218 gitk:7647 msgid "Create new branch" msgstr "Skapa ny gren" -#: gitk:2129 +#: gitk:2219 msgid "Cherry-pick this commit" msgstr "Plocka denna incheckning" -#: gitk:2131 +#: gitk:2220 msgid "Reset HEAD branch to here" msgstr "Återställ HEAD-grenen hit" -#: gitk:2147 +#: gitk:2234 msgid "Check out this branch" msgstr "Checka ut denna gren" -#: gitk:2149 +#: gitk:2235 msgid "Remove this branch" msgstr "Ta bort denna gren" -#: gitk:2155 +#: gitk:2242 msgid "Highlight this too" msgstr "Markera även detta" -#: gitk:2157 +#: gitk:2243 msgid "Highlight this only" msgstr "Markera bara detta" -#: gitk:2159 +#: gitk:2244 msgid "External diff" msgstr "Extern diff" -#: gitk:2400 +#: gitk:2245 +msgid "Blame parent commit" +msgstr "" + +#: gitk:2488 msgid "" "\n" "Gitk - a commit viewer for git\n" @@ -300,427 +304,427 @@ msgstr "" "\n" "Använd och vidareförmedla enligt villkoren i GNU General Public License" -#: gitk:2408 gitk:2469 gitk:7799 +#: gitk:2496 gitk:2557 gitk:7943 msgid "Close" msgstr "Stäng" -#: gitk:2427 +#: gitk:2515 msgid "Gitk key bindings" msgstr "Tangentbordsbindningar för Gitk" -#: gitk:2429 +#: gitk:2517 msgid "Gitk key bindings:" msgstr "Tangentbordsbindningar för Gitk:" -#: gitk:2431 +#: gitk:2519 #, tcl-format msgid "<%s-Q>\t\tQuit" msgstr "<%s-Q>\t\tAvsluta" -#: gitk:2432 +#: gitk:2520 msgid "<Home>\t\tMove to first commit" msgstr "<Home>\t\tGå till första incheckning" -#: gitk:2433 +#: gitk:2521 msgid "<End>\t\tMove to last commit" msgstr "<End>\t\tGå till sista incheckning" -#: gitk:2434 +#: gitk:2522 msgid "<Up>, p, i\tMove up one commit" msgstr "<Upp>, p, i\tGå en incheckning upp" -#: gitk:2435 +#: gitk:2523 msgid "<Down>, n, k\tMove down one commit" msgstr "<Ned>, n, k\tGå en incheckning ned" -#: gitk:2436 +#: gitk:2524 msgid "<Left>, z, j\tGo back in history list" msgstr "<Vänster>, z, j\tGå bakåt i historiken" -#: gitk:2437 +#: gitk:2525 msgid "<Right>, x, l\tGo forward in history list" msgstr "<Höger>, x, l\tGå framåt i historiken" -#: gitk:2438 +#: gitk:2526 msgid "<PageUp>\tMove up one page in commit list" msgstr "<PageUp>\tGå upp en sida i incheckningslistan" -#: gitk:2439 +#: gitk:2527 msgid "<PageDown>\tMove down one page in commit list" msgstr "<PageDown>\tGå ned en sida i incheckningslistan" -#: gitk:2440 +#: gitk:2528 #, tcl-format msgid "<%s-Home>\tScroll to top of commit list" msgstr "<%s-Home>\tRulla till början av incheckningslistan" -#: gitk:2441 +#: gitk:2529 #, tcl-format msgid "<%s-End>\tScroll to bottom of commit list" msgstr "<%s-End>\tRulla till slutet av incheckningslistan" -#: gitk:2442 +#: gitk:2530 #, tcl-format msgid "<%s-Up>\tScroll commit list up one line" msgstr "<%s-Upp>\tRulla incheckningslistan upp ett steg" -#: gitk:2443 +#: gitk:2531 #, tcl-format msgid "<%s-Down>\tScroll commit list down one line" msgstr "<%s-Ned>\tRulla incheckningslistan ned ett steg" -#: gitk:2444 +#: gitk:2532 #, tcl-format msgid "<%s-PageUp>\tScroll commit list up one page" msgstr "<%s-PageUp>\tRulla incheckningslistan upp en sida" -#: gitk:2445 +#: gitk:2533 #, tcl-format msgid "<%s-PageDown>\tScroll commit list down one page" msgstr "<%s-PageDown>\tRulla incheckningslistan ned en sida" -#: gitk:2446 +#: gitk:2534 msgid "<Shift-Up>\tFind backwards (upwards, later commits)" msgstr "<Skift-Upp>\tSök bakåt (uppåt, senare incheckningar)" -#: gitk:2447 +#: gitk:2535 msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)" msgstr "<Skift-Ned>\tSök framåt (nedåt, tidigare incheckningar)" -#: gitk:2448 +#: gitk:2536 msgid "<Delete>, b\tScroll diff view up one page" msgstr "<Delete>, b\tRulla diffvisningen upp en sida" -#: gitk:2449 +#: gitk:2537 msgid "<Backspace>\tScroll diff view up one page" msgstr "<Baksteg>\tRulla diffvisningen upp en sida" -#: gitk:2450 +#: gitk:2538 msgid "<Space>\t\tScroll diff view down one page" msgstr "<Blanksteg>\tRulla diffvisningen ned en sida" -#: gitk:2451 +#: gitk:2539 msgid "u\t\tScroll diff view up 18 lines" msgstr "u\t\tRulla diffvisningen upp 18 rader" -#: gitk:2452 +#: gitk:2540 msgid "d\t\tScroll diff view down 18 lines" msgstr "d\t\tRulla diffvisningen ned 18 rader" -#: gitk:2453 +#: gitk:2541 #, tcl-format msgid "<%s-F>\t\tFind" msgstr "<%s-F>\t\tSök" -#: gitk:2454 +#: gitk:2542 #, tcl-format msgid "<%s-G>\t\tMove to next find hit" msgstr "<%s-G>\t\tGå till nästa sökträff" -#: gitk:2455 +#: gitk:2543 msgid "<Return>\tMove to next find hit" msgstr "<Return>\t\tGå till nästa sökträff" -#: gitk:2456 +#: gitk:2544 msgid "/\t\tMove to next find hit, or redo find" msgstr "/\t\tGå till nästa sökträff, eller sök på nytt" -#: gitk:2457 +#: gitk:2545 msgid "?\t\tMove to previous find hit" msgstr "?\t\tGå till föregående sökträff" -#: gitk:2458 +#: gitk:2546 msgid "f\t\tScroll diff view to next file" msgstr "f\t\tRulla diffvisningen till nästa fil" -#: gitk:2459 +#: gitk:2547 #, tcl-format msgid "<%s-S>\t\tSearch for next hit in diff view" msgstr "<%s-S>\t\tGå till nästa sökträff i diffvisningen" -#: gitk:2460 +#: gitk:2548 #, tcl-format msgid "<%s-R>\t\tSearch for previous hit in diff view" msgstr "<%s-R>\t\tGå till föregående sökträff i diffvisningen" -#: gitk:2461 +#: gitk:2549 #, tcl-format msgid "<%s-KP+>\tIncrease font size" msgstr "<%s-Num+>\tÖka teckenstorlek" -#: gitk:2462 +#: gitk:2550 #, tcl-format msgid "<%s-plus>\tIncrease font size" msgstr "<%s-plus>\tÖka teckenstorlek" -#: gitk:2463 +#: gitk:2551 #, tcl-format msgid "<%s-KP->\tDecrease font size" msgstr "<%s-Num->\tMinska teckenstorlek" -#: gitk:2464 +#: gitk:2552 #, tcl-format msgid "<%s-minus>\tDecrease font size" msgstr "<%s-minus>\tMinska teckenstorlek" -#: gitk:2465 +#: gitk:2553 msgid "<F5>\t\tUpdate" msgstr "<F5>\t\tUppdatera" -#: gitk:3091 +#: gitk:3200 msgid "Gitk view definition" msgstr "Definition av Gitk-vy" -#: gitk:3116 +#: gitk:3225 msgid "Name" msgstr "Namn" -#: gitk:3119 +#: gitk:3228 msgid "Remember this view" msgstr "Spara denna vy" -#: gitk:3123 +#: gitk:3232 msgid "Commits to include (arguments to git log):" msgstr "Incheckningar att ta med (argument till git log):" -#: gitk:3130 +#: gitk:3239 msgid "Command to generate more commits to include:" msgstr "Kommando för att generera fler incheckningar att ta med:" -#: gitk:3137 +#: gitk:3246 msgid "Enter files and directories to include, one per line:" msgstr "Ange filer och kataloger att ta med, en per rad:" -#: gitk:3184 +#: gitk:3293 msgid "Error in commit selection arguments:" msgstr "Fel i argument för val av incheckningar:" -#: gitk:3238 gitk:3290 gitk:3736 gitk:3750 gitk:4951 gitk:9896 gitk:9897 +#: gitk:3347 gitk:3399 gitk:3842 gitk:3856 gitk:5060 gitk:10141 gitk:10142 msgid "None" msgstr "Inget" -#: gitk:3684 gitk:5471 gitk:7144 gitk:7159 +#: gitk:3790 gitk:5580 gitk:7287 gitk:7302 msgid "Date" msgstr "Datum" -#: gitk:3684 gitk:5471 +#: gitk:3790 gitk:5580 msgid "CDate" msgstr "Skapat datum" -#: gitk:3833 gitk:3838 +#: gitk:3939 gitk:3944 msgid "Descendant" msgstr "Avkomling" -#: gitk:3834 +#: gitk:3940 msgid "Not descendant" msgstr "Inte avkomling" -#: gitk:3841 gitk:3846 +#: gitk:3947 gitk:3952 msgid "Ancestor" msgstr "Förfader" -#: gitk:3842 +#: gitk:3948 msgid "Not ancestor" msgstr "Inte förfader" -#: gitk:4078 +#: gitk:4187 msgid "Local changes checked in to index but not committed" msgstr "Lokala ändringar sparade i indexet men inte incheckade" -#: gitk:4111 +#: gitk:4220 msgid "Local uncommitted changes, not checked in to index" msgstr "Lokala ändringar, ej sparade i indexet" -#: gitk:5440 +#: gitk:5549 msgid "Searching" msgstr "Söker" -#: gitk:5940 +#: gitk:6049 msgid "Tags:" msgstr "Taggar:" -#: gitk:5957 gitk:5963 gitk:7137 +#: gitk:6066 gitk:6072 gitk:7280 msgid "Parent" msgstr "Förälder" -#: gitk:5968 +#: gitk:6077 msgid "Child" msgstr "Barn" -#: gitk:5977 +#: gitk:6086 msgid "Branch" msgstr "Gren" -#: gitk:5980 +#: gitk:6089 msgid "Follows" msgstr "Följer" -#: gitk:5983 +#: gitk:6092 msgid "Precedes" msgstr "Föregår" -#: gitk:6267 +#: gitk:6378 msgid "Error getting merge diffs:" msgstr "Fel vid hämtning av sammanslagningsdiff:" -#: gitk:6970 +#: gitk:7113 msgid "Goto:" msgstr "Gå till:" -#: gitk:6972 +#: gitk:7115 msgid "SHA1 ID:" msgstr "SHA1-id:" -#: gitk:6991 +#: gitk:7134 #, tcl-format msgid "Short SHA1 id %s is ambiguous" msgstr "Förkortat SHA1-id %s är tvetydigt" -#: gitk:7003 +#: gitk:7146 #, tcl-format msgid "SHA1 id %s is not known" msgstr "SHA-id:t %s är inte känt" -#: gitk:7005 +#: gitk:7148 #, tcl-format msgid "Tag/Head %s is not known" msgstr "Tagg/huvud %s är okänt" -#: gitk:7147 +#: gitk:7290 msgid "Children" msgstr "Barn" -#: gitk:7204 +#: gitk:7347 #, tcl-format msgid "Reset %s branch to here" msgstr "Återställ grenen %s hit" -#: gitk:7206 +#: gitk:7349 msgid "Detached head: can't reset" msgstr "Frånkopplad head: kan inte återställa" -#: gitk:7238 +#: gitk:7381 msgid "Top" msgstr "Topp" -#: gitk:7239 +#: gitk:7382 msgid "From" msgstr "Från" -#: gitk:7244 +#: gitk:7387 msgid "To" msgstr "Till" -#: gitk:7267 +#: gitk:7410 msgid "Generate patch" msgstr "Generera patch" -#: gitk:7269 +#: gitk:7412 msgid "From:" msgstr "Från:" -#: gitk:7278 +#: gitk:7421 msgid "To:" msgstr "Till:" -#: gitk:7287 +#: gitk:7430 msgid "Reverse" msgstr "Vänd" -#: gitk:7289 gitk:7464 +#: gitk:7432 gitk:7607 msgid "Output file:" msgstr "Utdatafil:" -#: gitk:7295 +#: gitk:7438 msgid "Generate" msgstr "Generera" -#: gitk:7331 +#: gitk:7474 msgid "Error creating patch:" msgstr "Fel vid generering av patch:" -#: gitk:7353 gitk:7452 gitk:7506 +#: gitk:7496 gitk:7595 gitk:7649 msgid "ID:" msgstr "Id:" -#: gitk:7362 +#: gitk:7505 msgid "Tag name:" msgstr "Taggnamn:" -#: gitk:7366 gitk:7515 +#: gitk:7509 gitk:7659 msgid "Create" msgstr "Skapa" -#: gitk:7381 +#: gitk:7524 msgid "No tag name specified" msgstr "Inget taggnamn angavs" -#: gitk:7385 +#: gitk:7528 #, tcl-format msgid "Tag \"%s\" already exists" msgstr "Taggen \"%s\" finns redan" -#: gitk:7391 +#: gitk:7534 msgid "Error creating tag:" msgstr "Fel vid skapande av tagg:" -#: gitk:7461 +#: gitk:7604 msgid "Command:" msgstr "Kommando:" -#: gitk:7469 +#: gitk:7612 msgid "Write" msgstr "Skriv" -#: gitk:7485 +#: gitk:7628 msgid "Error writing commit:" msgstr "Fel vid skrivning av incheckning:" -#: gitk:7511 +#: gitk:7654 msgid "Name:" msgstr "Namn:" -#: gitk:7530 +#: gitk:7674 msgid "Please specify a name for the new branch" msgstr "Ange ett namn för den nya grenen" -#: gitk:7559 +#: gitk:7703 #, tcl-format msgid "Commit %s is already included in branch %s -- really re-apply it?" msgstr "" "Incheckningen %s finns redan på grenen %s -- skall den verkligen appliceras " "på nytt?" -#: gitk:7564 +#: gitk:7708 msgid "Cherry-picking" msgstr "Plockar" -#: gitk:7576 +#: gitk:7720 msgid "No changes committed" msgstr "Inga ändringar incheckade" -#: gitk:7601 +#: gitk:7745 msgid "Confirm reset" msgstr "Bekräfta återställning" -#: gitk:7603 +#: gitk:7747 #, tcl-format msgid "Reset branch %s to %s?" msgstr "Återställa grenen %s till %s?" -#: gitk:7607 +#: gitk:7751 msgid "Reset type:" msgstr "Typ av återställning:" -#: gitk:7611 +#: gitk:7755 msgid "Soft: Leave working tree and index untouched" msgstr "Mjuk: Rör inte utcheckning och index" -#: gitk:7614 +#: gitk:7758 msgid "Mixed: Leave working tree untouched, reset index" msgstr "Blandad: Rör inte utcheckning, återställ index" -#: gitk:7617 +#: gitk:7761 msgid "" "Hard: Reset working tree and index\n" "(discard ALL local changes)" @@ -728,19 +732,19 @@ msgstr "" "Hård: Återställ utcheckning och index\n" "(förkastar ALLA lokala ändringar)" -#: gitk:7633 +#: gitk:7777 msgid "Resetting" msgstr "Återställer" -#: gitk:7690 +#: gitk:7834 msgid "Checking out" msgstr "Checkar ut" -#: gitk:7741 +#: gitk:7885 msgid "Cannot delete the currently checked-out branch" msgstr "Kan inte ta bort den just nu utcheckade grenen" -#: gitk:7747 +#: gitk:7891 #, tcl-format msgid "" "The commits on branch %s aren't on any other branch.\n" @@ -749,16 +753,16 @@ msgstr "" "Incheckningarna på grenen %s existerar inte på någon annan gren.\n" "Vill du verkligen ta bort grenen %s?" -#: gitk:7778 +#: gitk:7922 #, tcl-format msgid "Tags and heads: %s" msgstr "Taggar och huvuden: %s" -#: gitk:7792 +#: gitk:7936 msgid "Filter" msgstr "Filter" -#: gitk:8086 +#: gitk:8230 msgid "" "Error reading commit topology information; branch and preceding/following " "tag information will be incomplete." @@ -766,125 +770,129 @@ msgstr "" "Fel vid läsning av information om incheckningstopologi; information om " "grenar och föregående/senare taggar kommer inte vara komplett." -#: gitk:9072 +#: gitk:9216 msgid "Tag" msgstr "Tagg" -#: gitk:9072 +#: gitk:9216 msgid "Id" msgstr "Id" -#: gitk:9118 +#: gitk:9262 msgid "Gitk font chooser" msgstr "Teckensnittsväljare för Gitk" -#: gitk:9135 +#: gitk:9279 msgid "B" msgstr "F" -#: gitk:9138 +#: gitk:9282 msgid "I" msgstr "K" -#: gitk:9231 +#: gitk:9375 msgid "Gitk preferences" msgstr "Inställningar för Gitk" -#: gitk:9232 +#: gitk:9376 msgid "Commit list display options" msgstr "Alternativ för incheckningslistvy" -#: gitk:9235 +#: gitk:9379 msgid "Maximum graph width (lines)" msgstr "Maximal grafbredd (rader)" -#: gitk:9239 +#: gitk:9383 #, tcl-format msgid "Maximum graph width (% of pane)" msgstr "Maximal grafbredd (% av ruta)" -#: gitk:9244 +#: gitk:9388 msgid "Show local changes" msgstr "Visa lokala ändringar" -#: gitk:9249 +#: gitk:9393 msgid "Auto-select SHA1" msgstr "Välj SHA1 automatiskt" -#: gitk:9254 +#: gitk:9398 msgid "Diff display options" msgstr "Alternativ för diffvy" -#: gitk:9256 +#: gitk:9400 msgid "Tab spacing" msgstr "Blanksteg för tabulatortecken" -#: gitk:9260 +#: gitk:9404 msgid "Display nearby tags" msgstr "Visa närliggande taggar" -#: gitk:9265 +#: gitk:9409 msgid "Limit diffs to listed paths" msgstr "Begränsa diff till listade sökvägar" -#: gitk:9272 +#: gitk:9414 +msgid "Support per-file encodings" +msgstr "" + +#: gitk:9421 msgid "External diff tool" msgstr "Externt diff-verktyg" -#: gitk:9274 +#: gitk:9423 msgid "Choose..." msgstr "Välj..." -#: gitk:9279 +#: gitk:9428 msgid "Colors: press to choose" msgstr "Färger: tryck för att välja" -#: gitk:9282 +#: gitk:9431 msgid "Background" msgstr "Bakgrund" -#: gitk:9286 +#: gitk:9435 msgid "Foreground" msgstr "Förgrund" -#: gitk:9290 +#: gitk:9439 msgid "Diff: old lines" msgstr "Diff: gamla rader" -#: gitk:9295 +#: gitk:9444 msgid "Diff: new lines" msgstr "Diff: nya rader" -#: gitk:9300 +#: gitk:9449 msgid "Diff: hunk header" msgstr "Diff: delhuvud" -#: gitk:9306 +#: gitk:9455 msgid "Select bg" msgstr "Markerad bakgrund" -#: gitk:9310 +#: gitk:9459 msgid "Fonts: press to choose" msgstr "Teckensnitt: tryck för att välja" -#: gitk:9312 +#: gitk:9461 msgid "Main font" msgstr "Huvudteckensnitt" -#: gitk:9313 +#: gitk:9462 msgid "Diff display font" msgstr "Teckensnitt för diffvisning" -#: gitk:9314 +#: gitk:9463 msgid "User interface font" msgstr "Teckensnitt för användargränssnitt" -#: gitk:9339 +#: gitk:9488 #, tcl-format msgid "Gitk: choose color for %s" msgstr "Gitk: välj färg för %s" -#: gitk:9720 +#: gitk:9934 msgid "" "Sorry, gitk cannot run with this version of Tcl/Tk.\n" " Gitk requires at least Tcl/Tk 8.4." @@ -892,24 +900,24 @@ msgstr "" "Gitk kan tyvärr inte köra med denna version av Tcl/Tk.\n" " Gitk kräver åtminstone Tcl/Tk 8.4." -#: gitk:9812 +#: gitk:10047 msgid "Cannot find a git repository here." msgstr "Hittar inget gitk-arkiv här." -#: gitk:9816 +#: gitk:10051 #, tcl-format msgid "Cannot find the git directory \"%s\"." msgstr "Hittar inte git-katalogen \"%s\"." -#: gitk:9853 +#: gitk:10098 #, tcl-format msgid "Ambiguous argument '%s': both revision and filename" msgstr "Tvetydigt argument \"%s\": både revision och filnamn" -#: gitk:9865 +#: gitk:10110 msgid "Bad arguments to gitk:" msgstr "Felaktiga argument till gitk:" -#: gitk:9925 +#: gitk:10170 msgid "Command line" msgstr "Kommandorad" From d375ef9b1483c3c828d78ce08adae6aae8e19f75 Mon Sep 17 00:00:00 2001 From: Paul Mackerras <paulus@samba.org> Date: Tue, 21 Oct 2008 10:18:12 +1100 Subject: [PATCH 11/11] gitk: Turn short SHA1 names into links too This changes the link detection logic to accept strings of between 6 and 40 hex characters as a possible SHA1 ID of another commit, rather than insisting on seeing the full 40 hex characters. To make the logic that turns a possible link into an actual link work with abbreviated IDs, this changes the way the commitinterest array is used, and puts the code that deals with it in a pair of new functions. The commitinterest array is now indexed by just the first 4 characters of the interesting SHA1 ID, and each element is a list of id + command pairs. This also pulls out the logic for expanding an abbreviated SHA1 to the list of matching full IDs into its own function (the way it is done is still the same slow way it was done before, which should be improved some day). This also fixes the bug where clicking on a link would take you to the wrong commit if the line number of the target had changed since the link was made. This is based on a patch by Linus Torvalds, but totally rewritten by me. Signed-off-by: Paul Mackerras <paulus@samba.org> --- gitk | 107 ++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 77 insertions(+), 30 deletions(-) diff --git a/gitk b/gitk index 3678de1959..bcebc87f7d 100755 --- a/gitk +++ b/gitk @@ -307,7 +307,7 @@ proc start_rev_list {view} { global startmsecs commitidx viewcomplete curview global tclencoding global viewargs viewargscmd viewfiles vfilelimit - global showlocalchanges commitinterest + global showlocalchanges global viewactive viewinstances vmergeonly global mainheadid global vcanopt vflags vrevs vorigargs @@ -368,7 +368,7 @@ proc start_rev_list {view} { set i [reg_instance $fd] set viewinstances($view) [list $i] if {$showlocalchanges && $mainheadid ne {}} { - lappend commitinterest($mainheadid) {dodiffindex} + interestedin $mainheadid dodiffindex } fconfigure $fd -blocking 0 -translation lf -eofchar {} if {$tclencoding != {}} { @@ -1231,7 +1231,7 @@ proc commitonrow {row} { proc closevarcs {v} { global varctok varccommits varcid parents children - global cmitlisted commitidx commitinterest vtokmod + global cmitlisted commitidx vtokmod set missing_parents 0 set scripts {} @@ -1256,12 +1256,7 @@ proc closevarcs {v} { } lappend varccommits($v,$b) $p incr commitidx($v) - if {[info exists commitinterest($p)]} { - foreach script $commitinterest($p) { - lappend scripts [string map [list "%I" $p] $script] - } - unset commitinterest($id) - } + set scripts [check_interest $p $scripts] } } if {$missing_parents > 0} { @@ -1297,8 +1292,41 @@ proc rewrite_commit {v id rwid} { } } +# Mechanism for registering a command to be executed when we come +# across a particular commit. To handle the case when only the +# prefix of the commit is known, the commitinterest array is now +# indexed by the first 4 characters of the ID. Each element is a +# list of id, cmd pairs. +proc interestedin {id cmd} { + global commitinterest + + lappend commitinterest([string range $id 0 3]) $id $cmd +} + +proc check_interest {id scripts} { + global commitinterest + + set prefix [string range $id 0 3] + if {[info exists commitinterest($prefix)]} { + set newlist {} + foreach {i script} $commitinterest($prefix) { + if {[string match "$i*" $id]} { + lappend scripts [string map [list "%I" $id "%P" $i] $script] + } else { + lappend newlist $i $script + } + } + if {$newlist ne {}} { + set commitinterest($prefix) $newlist + } else { + unset commitinterest($prefix) + } + } + return $scripts +} + proc getcommitlines {fd inst view updating} { - global cmitlisted commitinterest leftover + global cmitlisted leftover global commitidx commitdata vdatemode global parents children curview hlview global idpending ordertok @@ -1474,12 +1502,7 @@ proc getcommitlines {fd inst view updating} { incr i } - if {[info exists commitinterest($id)]} { - foreach script $commitinterest($id) { - lappend scripts [string map [list "%I" $id] $script] - } - unset commitinterest($id) - } + set scripts [check_interest $id $scripts] set gotsome 1 } if {$gotsome} { @@ -1608,6 +1631,19 @@ proc getcommit {id} { return 1 } +# Expand an abbreviated commit ID to a list of full 40-char IDs that match +# and are present in the current view. +# This is fairly slow... +proc longid {prefix} { + global varcid curview + + set ids {} + foreach match [array names varcid "$curview,$prefix*"] { + lappend ids [lindex [split $match ","] 1] + } + return $ids +} + proc readrefs {} { global tagids idtags headids idheads tagobjid global otherrefids idotherrefs mainhead mainheadid @@ -4119,7 +4155,7 @@ proc visiblerows {} { proc layoutmore {} { global commitidx viewcomplete curview global numcommits pending_select curview - global lastscrollset lastscrollrows commitinterest + global lastscrollset lastscrollrows if {$lastscrollrows < 100 || $viewcomplete($curview) || [clock clicks -milliseconds] - $lastscrollset > 500} { @@ -4140,7 +4176,7 @@ proc doshowlocalchanges {} { if {[commitinview $mainheadid $curview]} { dodiffindex } else { - lappend commitinterest($mainheadid) {dodiffindex} + interestedin $mainheadid dodiffindex } } @@ -5795,11 +5831,11 @@ proc commit_descriptor {p} { # append some text to the ctext widget, and make any SHA1 ID # that we know about be a clickable link. proc appendwithlinks {text tags} { - global ctext linknum curview pendinglinks + global ctext linknum curview set start [$ctext index "end - 1c"] $ctext insert end $text $tags - set links [regexp -indices -all -inline {[0-9a-f]{40}} $text] + set links [regexp -indices -all -inline {\m[0-9a-f]{6,40}\M} $text] foreach l $links { set s [lindex $l 0] set e [lindex $l 1] @@ -5813,16 +5849,27 @@ proc appendwithlinks {text tags} { } proc setlink {id lk} { - global curview ctext pendinglinks commitinterest + global curview ctext pendinglinks - if {[commitinview $id $curview]} { + set known 0 + if {[string length $id] < 40} { + set matches [longid $id] + if {[llength $matches] > 0} { + if {[llength $matches] > 1} return + set known 1 + set id [lindex $matches 0] + } + } else { + set known [commitinview $id $curview] + } + if {$known} { $ctext tag conf $lk -foreground blue -underline 1 - $ctext tag bind $lk <1> [list selectline [rowofcommit $id] 1] + $ctext tag bind $lk <1> [list selbyid $id] $ctext tag bind $lk <Enter> {linkcursor %W 1} $ctext tag bind $lk <Leave> {linkcursor %W -1} } else { lappend pendinglinks($id) $lk - lappend commitinterest($id) {makelink %I} + interestedin $id {makelink %P} } } @@ -7138,13 +7185,13 @@ proc gotocommit {} { } else { set id [string tolower $sha1string] if {[regexp {^[0-9a-f]{4,39}$} $id]} { - set matches [array names varcid "$curview,$id*"] + set matches [longid $id] if {$matches ne {}} { if {[llength $matches] > 1} { error_popup [mc "Short SHA1 id %s is ambiguous" $id] return } - set id [lindex [split [lindex $matches 0] ","] 1] + set id [lindex $matches 0] } } } @@ -7992,7 +8039,7 @@ proc reflistfilter_change {n1 n2 op} { proc refill_reflist {} { global reflist reflistfilter showrefstop headids tagids otherrefids - global curview commitinterest + global curview if {![info exists showrefstop] || ![winfo exists $showrefstop]} return set refs {} @@ -8001,7 +8048,7 @@ proc refill_reflist {} { if {[commitinview $headids($n) $curview]} { lappend refs [list $n H] } else { - set commitinterest($headids($n)) {run refill_reflist} + interestedin $headids($n) {run refill_reflist} } } } @@ -8010,7 +8057,7 @@ proc refill_reflist {} { if {[commitinview $tagids($n) $curview]} { lappend refs [list $n T] } else { - set commitinterest($tagids($n)) {run refill_reflist} + interestedin $tagids($n) {run refill_reflist} } } } @@ -8019,7 +8066,7 @@ proc refill_reflist {} { if {[commitinview $otherrefids($n) $curview]} { lappend refs [list $n o] } else { - set commitinterest($otherrefids($n)) {run refill_reflist} + interestedin $otherrefids($n) {run refill_reflist} } } }