From b9bee11526ec23541ddbbd75716bfd1acc241463 Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Mon, 10 Mar 2008 16:50:34 +1100 Subject: [PATCH 01/76] gitk: Only restore window size from ~/.gitk, not position This also limits the window size to the screen size. That is better than nothing, but it isn't perfect, since ideally we would take into account window decorations, and things such as gnome panels or the Mac OS X dock and menu bar, but I don't know how to do that. On Cygwin this is as good as restoring the whole geometry (size and position) at working around the Cygwin Tk bugs, according to Mark Levedahl. Tested-by: Mark Levedahl Signed-off-by: Paul Mackerras --- gitk | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gitk b/gitk index f1f21e97bf..f8f006fa11 100755 --- a/gitk +++ b/gitk @@ -930,9 +930,17 @@ proc makewindow {} { .pwbottom add .bright .ctop add .pwbottom - # restore window position if known + # restore window width & height if known if {[info exists geometry(main)]} { - wm geometry . "$geometry(main)" + if {[scan $geometry(main) "%dx%d" w h] >= 2} { + if {$w > [winfo screenwidth .]} { + set w [winfo screenwidth .] + } + if {$h > [winfo screenheight .]} { + set h [winfo screenheight .] + } + wm geometry . "${w}x$h" + } } if {[tk windowingsystem] eq {aqua}} { From 2d48085661e3f522904a10603e303dbec046a56f Mon Sep 17 00:00:00 2001 From: Yann Dirson Date: Thu, 21 Feb 2008 21:23:31 +0100 Subject: [PATCH 02/76] [PATCH] Add an --argscmd flag to get the list of refs to show This allows gitk to be used to display a different set of refs each the display is refreshed. This is useful when gitk is called from other porcelain suites, for doing such things as displaying the set of patches in a patch stack. The user specifies a command as the argument to the --argscmd option. The command is run initially and each time the display is refreshed, and is expected to generate a list of commit IDs, one per line. Those commits are appended to the commits passed on the command-line when constructing the git log command to be executed. The command is considered to be an attribute of a view, and has its own field in the saved view, and an edit field in the view editor. Signed-off-by: Yann Dirson Signed-off-by: Paul Mackerras --- gitk | 50 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 10 deletions(-) diff --git a/gitk b/gitk index f8f006fa11..bf6485b6e0 100755 --- a/gitk +++ b/gitk @@ -82,7 +82,7 @@ proc dorunq {} { proc start_rev_list {view} { global startmsecs global commfd leftover tclencoding datemode - global viewargs viewfiles commitidx viewcomplete vnextroot + global viewargs viewargscmd viewfiles commitidx viewcomplete vnextroot global showlocalchanges commitinterest mainheadid global progressdirn progresscoords proglastnc curview @@ -90,13 +90,23 @@ proc start_rev_list {view} { set commitidx($view) 0 set viewcomplete($view) 0 set vnextroot($view) 0 + set args $viewargs($view) + if {$viewargscmd($view) ne {}} { + if {[catch { + set str [exec sh -c $viewargscmd($view)] + } err]} { + error_popup "Error executing --argscmd command: $err" + exit 1 + } + set args [concat $args [split $str "\n"]] + } set order "--topo-order" if {$datemode} { set order "--date-order" } if {[catch { set fd [open [concat | git log --no-color -z --pretty=raw $order --parents \ - --boundary $viewargs($view) "--" $viewfiles($view)] r] + --boundary $args "--" $viewfiles($view)] r] } err]} { error_popup "[mc "Error executing git rev-list:"] $err" exit 1 @@ -1168,7 +1178,7 @@ proc savestuff {w} { global canv canv2 canv3 mainfont textfont uifont tabstop global stuffsaved findmergefiles maxgraphpct global maxwidth showneartags showlocalchanges - global viewname viewfiles viewargs viewperm nextviewnum + global viewname viewfiles viewargs viewargscmd viewperm nextviewnum global cmitmode wrapcomment datetimeformat limitdiffs global colors bgcolor fgcolor diffcolors diffcontext selectbgcolor @@ -1207,7 +1217,7 @@ proc savestuff {w} { puts -nonewline $f "set permviews {" for {set v 0} {$v < $nextviewnum} {incr v} { if {$viewperm($v)} { - puts $f "{[list $viewname($v) $viewfiles($v) $viewargs($v)]}" + puts $f "{[list $viewname($v) $viewfiles($v) $viewargs($v) $viewargscmd($v)]}" } } puts $f "}" @@ -1858,7 +1868,7 @@ proc shellsplit {str} { proc newview {ishighlight} { global nextviewnum newviewname newviewperm newishighlight - global newviewargs revtreeargs + global newviewargs revtreeargs viewargscmd newviewargscmd curview set newishighlight $ishighlight set top .gitkview @@ -1869,13 +1879,14 @@ proc newview {ishighlight} { set newviewname($nextviewnum) "View $nextviewnum" set newviewperm($nextviewnum) 0 set newviewargs($nextviewnum) [shellarglist $revtreeargs] + set newviewargscmd($nextviewnum) $viewargscmd($curview) vieweditor $top $nextviewnum [mc "Gitk view definition"] } proc editview {} { global curview global viewname viewperm newviewname newviewperm - global viewargs newviewargs + global viewargs newviewargs viewargscmd newviewargscmd set top .gitkvedit-$curview if {[winfo exists $top]} { @@ -1885,6 +1896,7 @@ proc editview {} { set newviewname($curview) $viewname($curview) set newviewperm($curview) $viewperm($curview) set newviewargs($curview) [shellarglist $viewargs($curview)] + set newviewargscmd($curview) $viewargscmd($curview) vieweditor $top $curview "Gitk: edit view $viewname($curview)" } @@ -1905,6 +1917,14 @@ proc vieweditor {top n title} { entry $top.args -width 50 -textvariable newviewargs($n) \ -background $bgcolor grid $top.args - -sticky ew -padx 5 + + message $top.ac -aspect 1000 \ + -text [mc "Command to generate more commits to include:"] + grid $top.ac - -sticky w -pady 5 + entry $top.argscmd -width 50 -textvariable newviewargscmd($n) \ + -background white + grid $top.argscmd - -sticky ew -padx 5 + message $top.l -aspect 1000 \ -text [mc "Enter files and directories to include, one per line:"] grid $top.l - -sticky w @@ -1948,7 +1968,7 @@ proc allviewmenus {n op args} { proc newviewok {top n} { global nextviewnum newviewperm newviewname newishighlight global viewname viewfiles viewperm selectedview curview - global viewargs newviewargs viewhlmenu + global viewargs newviewargs viewargscmd newviewargscmd viewhlmenu if {[catch { set newargs [shellsplit $newviewargs($n)] @@ -1972,6 +1992,7 @@ proc newviewok {top n} { set viewperm($n) $newviewperm($n) set viewfiles($n) $files set viewargs($n) $newargs + set viewargscmd($n) $newviewargscmd($n) addviewmenu $n if {!$newishighlight} { run showview $n @@ -1988,9 +2009,11 @@ proc newviewok {top n} { # doviewmenu $viewhlmenu 1 [list addvhighlight $n] \ # entryconf [list -label $viewname($n) -value $viewname($n)] } - if {$files ne $viewfiles($n) || $newargs ne $viewargs($n)} { + if {$files ne $viewfiles($n) || $newargs ne $viewargs($n) || \ + $newviewargscmd($n) ne $viewargscmd($n)} { set viewfiles($n) $files set viewargs($n) $newargs + set viewargscmd($n) $newviewargscmd($n) if {$curview == $n} { run updatecommits } @@ -8530,8 +8553,9 @@ set mergeonly 0 set revtreeargs {} set cmdline_files {} set i 0 +set revtreeargscmd {} foreach arg $argv { - switch -- $arg { + switch -glob -- $arg { "" { } "-d" { set datemode 1 } "--merge" { @@ -8542,6 +8566,9 @@ foreach arg $argv { set cmdline_files [lrange $argv [expr {$i + 1}] end] break } + "--argscmd=*" { + set revtreeargscmd [string range $arg 10 end] + } default { lappend revtreeargs $arg } @@ -8643,6 +8670,7 @@ set highlight_files {} set viewfiles(0) {} set viewperm(0) 0 set viewargs(0) {} +set viewargscmd(0) {} set cmdlineok 0 set stopped 0 @@ -8658,7 +8686,7 @@ tkwait visibility . wm title . "[file tail $argv0]: [file tail [pwd]]" readrefs -if {$cmdline_files ne {} || $revtreeargs ne {}} { +if {$cmdline_files ne {} || $revtreeargs ne {} || $revtreeargscmd ne {}} { # create a view for the files/dirs specified on the command line set curview 1 set selectedview 1 @@ -8666,6 +8694,7 @@ if {$cmdline_files ne {} || $revtreeargs ne {}} { set viewname(1) [mc "Command line"] set viewfiles(1) $cmdline_files set viewargs(1) $revtreeargs + set viewargscmd(1) $revtreeargscmd set viewperm(1) 0 addviewmenu 1 .bar.view entryconf [mc "Edit view..."] -state normal @@ -8679,6 +8708,7 @@ if {[info exists permviews]} { set viewname($n) [lindex $v 0] set viewfiles($n) [lindex $v 1] set viewargs($n) [lindex $v 2] + set viewargscmd($n) [lindex $v 3] set viewperm($n) 1 addviewmenu $n } From a3a1f57959c38d5034f17b4f5d06ea3eb1a378e9 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Mon, 3 Mar 2008 21:12:47 +0100 Subject: [PATCH 03/76] [PATCH] gitk: Mark another string for translation Signed-off-by: Michele Ballabio Signed-off-by: Paul Mackerras --- gitk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitk b/gitk index bf6485b6e0..aaa35f632b 100755 --- a/gitk +++ b/gitk @@ -1876,7 +1876,7 @@ proc newview {ishighlight} { raise $top return } - set newviewname($nextviewnum) "View $nextviewnum" + set newviewname($nextviewnum) "[mc "View"] $nextviewnum" set newviewperm($nextviewnum) 0 set newviewargs($nextviewnum) [shellarglist $revtreeargs] set newviewargscmd($nextviewnum) $viewargscmd($curview) From 95293b58eb2ac31f93266f9e86ea17c0999d75c9 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Thu, 6 Mar 2008 06:49:25 -0500 Subject: [PATCH 04/76] [PATCH] gitk: make autoselect optional Whenever a commit is selected in the graph pane, its SHA1 is automatically put into the selection buffer for cut and paste. However, some users may find this behavior annoying since it can overwrite something they actually wanted to keep in the buffer. This makes the behavior optional under the name "Auto-select SHA1", but continues to default to "on". Signed-off-by: Jeff King Signed-off-by: Paul Mackerras --- gitk | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gitk b/gitk index aaa35f632b..d3c95cf915 100755 --- a/gitk +++ b/gitk @@ -1181,6 +1181,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 if {$stuffsaved} return if {![winfo viewable .]} return @@ -1195,6 +1196,7 @@ proc savestuff {w} { puts $f [list set maxwidth $maxwidth] puts $f [list set cmitmode $cmitmode] puts $f [list set wrapcomment $wrapcomment] + puts $f [list set autoselect $autoselect] puts $f [list set showneartags $showneartags] puts $f [list set showlocalchanges $showlocalchanges] puts $f [list set datetimeformat $datetimeformat] @@ -4681,6 +4683,7 @@ proc selectline {l isnew} { global commentend idtags linknum global mergemax numcommits pending_select global cmitmode showneartags allcommits + global autoselect catch {unset pending_select} $canv delete hover @@ -4736,8 +4739,10 @@ proc selectline {l isnew} { set currentid $id $sha1entry delete 0 end $sha1entry insert 0 $id - $sha1entry selection from 0 - $sha1entry selection to end + if {$autoselect} { + $sha1entry selection from 0 + $sha1entry selection to end + } rhighlight_sel $id $ctext conf -state normal @@ -7974,7 +7979,7 @@ proc doprefs {} { global maxwidth maxgraphpct global oldprefs prefstop showneartags showlocalchanges global bgcolor fgcolor ctext diffcolors selectbgcolor - global tabstop limitdiffs + global tabstop limitdiffs autoselect set top .gitkprefs set prefstop $top @@ -8004,6 +8009,11 @@ proc doprefs {} { checkbutton $top.showlocal.b -variable showlocalchanges pack $top.showlocal.b $top.showlocal.l -side left grid x $top.showlocal -sticky w + frame $top.autoselect + label $top.autoselect.l -text [mc "Auto-select SHA1"] -font optionfont + checkbutton $top.autoselect.b -variable autoselect + pack $top.autoselect.b $top.autoselect.l -side left + grid x $top.autoselect -sticky w label $top.ddisp -text [mc "Diff display options"] grid $top.ddisp - -sticky w -pady 10 @@ -8494,6 +8504,7 @@ set maxlinelen 200 set showlocalchanges 1 set limitdiffs 1 set datetimeformat "%Y-%m-%d %H:%M:%S" +set autoselect 1 set colors {green red blue magenta darkgrey brown orange} set bgcolor white From 8809d691ec03f6cb60cb01c8bf00441600d6e757 Mon Sep 17 00:00:00 2001 From: Pekka Kaitaniemi Date: Sat, 8 Mar 2008 14:27:23 +0200 Subject: [PATCH 05/76] [PATCH] gitk: Add horizontal scrollbar to the diff view Adding horizontal scroll bar makes the scrolling feature more discoverable to the users. The horizontal scrollbar is a bit narrower than vertical ones so we don't make too big impact on available screen real estate. The text and scrollbar widget layout is done using grid geometry manager. An interesting side effect of Tk scrollbars is that the "elevator" size changes depending on the visible content. So the horizontal scrollbar "elevator" changes as the user scrolls the view up and down. Signed-off-by: Pekka Kaitaniemi Signed-off-by: Paul Mackerras --- gitk | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/gitk b/gitk index d3c95cf915..5a78a916e4 100755 --- a/gitk +++ b/gitk @@ -837,6 +837,7 @@ proc makewindow {} { } frame .bleft.top frame .bleft.mid + frame .bleft.bottom button .bleft.top.search -text [mc "Search"] -command dosearch pack .bleft.top.search -side left -padx 5 @@ -864,18 +865,25 @@ proc makewindow {} { checkbutton .bleft.mid.ignspace -text [mc "Ignore space change"] \ -command changeignorespace -variable ignorespace pack .bleft.mid.ignspace -side left -padx 5 - set ctext .bleft.ctext + set ctext .bleft.bottom.ctext text $ctext -background $bgcolor -foreground $fgcolor \ -state disabled -font textfont \ - -yscrollcommand scrolltext -wrap none + -yscrollcommand scrolltext -wrap none \ + -xscrollcommand ".bleft.bottom.sbhorizontal set" if {$have_tk85} { $ctext conf -tabstyle wordprocessor } - scrollbar .bleft.sb -command "$ctext yview" + scrollbar .bleft.bottom.sb -command "$ctext yview" + scrollbar .bleft.bottom.sbhorizontal -command "$ctext xview" -orient h \ + -width 10 pack .bleft.top -side top -fill x pack .bleft.mid -side top -fill x - pack .bleft.sb -side right -fill y - pack $ctext -side left -fill both -expand 1 + grid $ctext .bleft.bottom.sb -sticky nsew + grid .bleft.bottom.sbhorizontal -sticky ew + grid columnconfigure .bleft.bottom 0 -weight 1 + grid rowconfigure .bleft.bottom 0 -weight 1 + grid rowconfigure .bleft.bottom 1 -weight 0 + pack .bleft.bottom -side top -fill both -expand 1 lappend bglist $ctext lappend fglist $ctext @@ -5640,7 +5648,7 @@ proc searchmarkvisible {doall} { proc scrolltext {f0 f1} { global searchstring - .bleft.sb set $f0 $f1 + .bleft.bottom.sb set $f0 $f1 if {$searchstring ne {}} { searchmarkvisible 0 } From 9dd5bded1bdc4f518aeed6a32ad70ccdd182dde5 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Sat, 8 Mar 2008 19:27:09 +0100 Subject: [PATCH 06/76] git-quiltimport: better parser to grok "enhanced" series files. The previous parser wasn't able to grok: * empty lines; * annotated patch levels (trailing -pNNN annotations); * trailing comments. Now it understands them and uses the patch level hints as a git apply argument. Signed-off-by: Pierre Habouzit Signed-off-by: Junio C Hamano --- git-quiltimport.sh | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/git-quiltimport.sh b/git-quiltimport.sh index 233e5eae1d..84c8b8ef4f 100755 --- a/git-quiltimport.sh +++ b/git-quiltimport.sh @@ -63,7 +63,23 @@ tmp_info="$tmp_dir/info" commit=$(git rev-parse HEAD) mkdir $tmp_dir || exit 2 -for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do +while read patch_name level garbage +do + case "$patch_name" in ''|'#'*) continue;; esac + case "$level" in + -p*);; + ''|'#'*) + level=;; + *) + echo "unable to parse patch level, ignoring it." + level=;; + esac + case "$garbage" in + ''|'#'*);; + *) + echo "trailing garbage found in series file: $garbage" + exit 1;; + esac if ! [ -f "$QUILT_PATCHES/$patch_name" ] ; then echo "$patch_name doesn't exist. Skipping." continue @@ -113,10 +129,10 @@ for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do fi if [ -z "$dry_run" ] ; then - git apply --index -C1 "$tmp_patch" && + git apply --index -C1 $level "$tmp_patch" && tree=$(git write-tree) && commit=$( (echo "$SUBJECT"; echo; cat "$tmp_msg") | git commit-tree $tree -p $commit) && git update-ref -m "quiltimport: $patch_name" HEAD $commit || exit 4 fi -done +done <"$QUILT_PATCHES/series" rm -rf $tmp_dir || exit 5 From 8ce1f243e5456eab52486b955389be2521dfcca5 Mon Sep 17 00:00:00 2001 From: Michal Rokos Date: Tue, 11 Mar 2008 09:48:34 +0100 Subject: [PATCH 07/76] autoconf: Test FREAD_READS_DIRECTORIES Add test for FREAD_READS_DIRECTORIES to detect when fread() reads fopen'ed directory. Tested on these platforms: AIX 5.3 - FREAD_READS_DIRECTORIES=UnfortunatelyYes HP-UX B.11.11 - FREAD_READS_DIRECTORIES=UnfortunatelyYes HP-UX B.11.23 - FREAD_READS_DIRECTORIES=UnfortunatelyYes Linux 2.6.25-rc4 - FREAD_READS_DIRECTORIES= Tru64 V5.1 - FREAD_READS_DIRECTORIES=UnfortunatelyYes Windows - FREAD_READS_DIRECTORIES= Signed-off-by: Michal Rokos Tested-by: Mike Ralphson Tested-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- config.mak.in | 1 + configure.ac | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/config.mak.in b/config.mak.in index 8e1cd5f03d..7868dfd93a 100644 --- a/config.mak.in +++ b/config.mak.in @@ -46,4 +46,5 @@ NO_MKDTEMP=@NO_MKDTEMP@ NO_ICONV=@NO_ICONV@ OLD_ICONV=@OLD_ICONV@ NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@ +FREAD_READS_DIRECTORIES=@FREAD_READS_DIRECTORIES@ SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@ diff --git a/configure.ac b/configure.ac index 287149d304..82584e9153 100644 --- a/configure.ac +++ b/configure.ac @@ -327,6 +327,26 @@ else fi AC_SUBST(NO_C99_FORMAT) # +# Define FREAD_READS_DIRECTORIES if your are on a system which succeeds +# when attempting to read from an fopen'ed directory. +AC_CACHE_CHECK([whether system succeeds to read fopen'ed directory], + [ac_cv_fread_reads_directories], +[ +AC_RUN_IFELSE( + [AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT], + [[char c; + FILE *f = fopen(".", "r"); + return f && fread(&c, 1, 1, f)]])], + [ac_cv_fread_reads_directories=no], + [ac_cv_fread_reads_directories=yes]) +]) +if test $ac_cv_fread_reads_directories = yes; then + FREAD_READS_DIRECTORIES=UnfortunatelyYes +else + FREAD_READS_DIRECTORIES= +fi +AC_SUBST(FREAD_READS_DIRECTORIES) +# # Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf() # or vsnprintf() return -1 instead of number of characters which would # have been written to the final string if enough space had been available. From cb8329aa9a6cc2e009d552b1180ce107cec4eb9d Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Mon, 10 Mar 2008 03:54:56 -0700 Subject: [PATCH 08/76] [PATCH] gitk: Don't show local changes when we there is no work tree Launching gitk on a bare repository or a .git directory would previously show the work tree as having removed all files. We now inhibit showing local changes when gitk is not launched from within a work tree. Signed-off-by: David Aguilar Signed-off-by: Paul Mackerras --- gitk | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gitk b/gitk index 5a78a916e4..5d9f589f02 100755 --- a/gitk +++ b/gitk @@ -403,6 +403,9 @@ proc readcommit {id} { proc updatecommits {} { global viewdata curview phase displayorder ordertok idpending global children commitrow selectedline thickerline showneartags + global isworktree + + set isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}] if {$phase ne {}} { stop_rev_list @@ -2885,8 +2888,9 @@ proc dohidelocalchanges {} { # spawn off a process to do git diff-index --cached HEAD proc dodiffindex {} { global localirow localfrow lserial showlocalchanges + global isworktree - if {!$showlocalchanges} return + if {!$showlocalchanges || !$isworktree} return incr lserial set localfrow -1 set localirow -1 @@ -8698,6 +8702,7 @@ set patchnum 0 set localirow -1 set localfrow -1 set lserial 0 +set isworktree [expr {[exec git rev-parse --is-inside-work-tree] == "true"}] setcoords makewindow # wait for the window to become visible From 494d3b8a6c93d88daf4a52dbcc6ab07903f8ed4e Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Tue, 11 Mar 2008 22:11:19 +1100 Subject: [PATCH 09/76] gitk: Avoid Tcl error when switching views Michele Ballabio pointed out that gitk sometimes throws a Tcl error (can't read "yscreen") when switching views, and proposed a patch. This is a different way of fixing it which is a bit neater. Basically, in showview we only set yscreen if the selected commit is on screen to start with, and then we only scroll the canvas to bring it onscreen if yscreen is set and the same commit exists in the new view. Signed-off-by: Paul Mackerras --- gitk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gitk b/gitk index 5d9f589f02..84ab02e15f 100755 --- a/gitk +++ b/gitk @@ -2102,8 +2102,6 @@ proc showview {n} { set ybot [expr {[lindex $span 1] * $ymax}] if {$ytop < $y && $y < $ybot} { set yscreen [expr {$y - $ytop}] - } else { - set yscreen [expr {($ybot - $ytop) / 2}] } } elseif {[info exists pending_select]} { set selid $pending_select @@ -2164,7 +2162,7 @@ proc showview {n} { set yf 0 set row {} set selectfirst 0 - if {$selid ne {} && [info exists commitrow($n,$selid)]} { + if {[info exists yscreen] && [info exists commitrow($n,$selid)]} { set row $commitrow($n,$selid) # try to get the selected row in the same position on the screen set ymax [lindex [$canv cget -scrollregion] 3] From 28f9af5d25ec04288d8c501058d83ac76c8be6f4 Mon Sep 17 00:00:00 2001 From: Ping Yin Date: Tue, 11 Mar 2008 21:52:15 +0800 Subject: [PATCH 10/76] git-submodule summary: code framework These patches teach git-submodule a new subcommand 'summary' to show commit summary of checked out submodules between a given super project commit (defaults to HEAD) and working tree (or index, when --cached is given). This patch just introduces the framework to find submodules which have summary to show. A submodule will have summary if it falls into these cases: - type 'M': modified and checked out (1) - type 'A': added and checked out (2) - type 'D': deleted - type 'T': typechanged (blob <-> submodule) Notes: 1. There may be modified but not checked out cases. In the case of a merge conflict, even if the submodule is not checked out, there may be still a diff between index and HEAD on the submodule entry (i.e. modified). The summary will not be show for such a submodule. 2. A similar explanation applies to the added but not checked out case. Signed-off-by: Ping Yin Signed-off-by: Junio C Hamano --- git-submodule.sh | 61 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 67d3224c8c..dbb866644a 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -4,7 +4,7 @@ # # Copyright (c) 2007 Lars Hjemli -USAGE='[--quiet] [--cached] [add [-b branch]|status|init|update] [--] [...]' +USAGE='[--quiet] [--cached] [add [-b branch]|status|init|update|summary []] [--] [...]' OPTIONS_SPEC= . git-sh-setup require_work_tree @@ -320,7 +320,58 @@ set_name_rev () { ) ) test -z "$revname" || revname=" ($revname)" } +# +# Show commit summary for submodules in index or working tree +# +# If '--cached' is given, show summary between index and given commit, +# or between working tree and given commit +# +# $@ = [commit (default 'HEAD'),] requested paths (default all) +# +cmd_summary() { + # parse $args after "submodule ... summary". + while test $# -ne 0 + do + case "$1" in + --cached) + cached="$1" + ;; + --) + shift + break + ;; + -*) + usage + ;; + *) + break + ;; + esac + shift + done + if rev=$(git rev-parse --verify "$1^0" 2>/dev/null) + then + head=$rev + shift + else + head=HEAD + fi + + cd_to_toplevel + # Get modified modules cared by user + modules=$(git diff-index $cached --raw $head -- "$@" | + grep -e '^:160000' -e '^:[0-7]* 160000' | + while read mod_src mod_dst sha1_src sha1_dst status name + do + # Always show modules deleted or type-changed (blob<->module) + test $status = D -o $status = T && echo "$name" && continue + # Also show added or modified modules which are checked out + GIT_DIR="$name/.git" git-rev-parse --git-dir >/dev/null 2>&1 && + echo "$name" + done + ) +} # # List all submodules, prefixed with: # - submodule not initialized @@ -391,7 +442,7 @@ cmd_status() while test $# != 0 && test -z "$command" do case "$1" in - add | init | update | status) + add | init | update | status | summary) command=$1 ;; -q|--quiet) @@ -406,7 +457,7 @@ do branch="$2"; shift ;; --cached) - cached=1 + cached="$1" ;; --) break @@ -430,8 +481,8 @@ then usage fi -# "--cached" is accepted only by "status" -if test -n "$cached" && test "$command" != status +# "--cached" is accepted only by "status" and "summary" +if test -n "$cached" && test "$command" != status -a "$command" != summary then usage fi From 649499845c274dc15809fe3c9162408c334fec57 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 7 Mar 2008 08:46:28 +0100 Subject: [PATCH 11/76] help: add "man.viewer" config var to use "woman" or "konqueror" This patch makes it possible to view man pages using other tools than the "man" program. It also implements support for emacs' "woman" and konqueror with the man KIO slave to view man pages. Note that "emacsclient" is used with option "-e" to launch "woman" on emacs and this works only on versions >= 22. Signed-off-by: Christian Couder Tested-by: Xavier Maillard Signed-off-by: Junio C Hamano --- help.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 80 insertions(+), 1 deletion(-) diff --git a/help.c b/help.c index e57a50ed59..2cb152d2e1 100644 --- a/help.c +++ b/help.c @@ -8,6 +8,9 @@ #include "exec_cmd.h" #include "common-cmds.h" #include "parse-options.h" +#include "run-command.h" + +static const char *man_viewer; enum help_format { HELP_FORMAT_MAN, @@ -50,6 +53,8 @@ static int git_help_config(const char *var, const char *value) help_format = parse_help_format(value); return 0; } + if (!strcmp(var, "man.viewer")) + return git_config_string(&man_viewer, var, value); return git_default_config(var, value); } @@ -345,11 +350,85 @@ static void setup_man_path(void) strbuf_release(&new_path); } +static int check_emacsclient_version(void) +{ + struct strbuf buffer = STRBUF_INIT; + struct child_process ec_process; + const char *argv_ec[] = { "emacsclient", "--version", NULL }; + int version; + + /* emacsclient prints its version number on stderr */ + memset(&ec_process, 0, sizeof(ec_process)); + ec_process.argv = argv_ec; + ec_process.err = -1; + ec_process.stdout_to_stderr = 1; + if (start_command(&ec_process)) { + fprintf(stderr, "Failed to start emacsclient.\n"); + return -1; + } + strbuf_read(&buffer, ec_process.err, 20); + close(ec_process.err); + + /* + * Don't bother checking return value, because "emacsclient --version" + * seems to always exits with code 1. + */ + finish_command(&ec_process); + + if (prefixcmp(buffer.buf, "emacsclient")) { + fprintf(stderr, "Failed to parse emacsclient version.\n"); + strbuf_release(&buffer); + return -1; + } + + strbuf_remove(&buffer, 0, strlen("emacsclient")); + version = atoi(buffer.buf); + + if (version < 22) { + fprintf(stderr, + "emacsclient version '%d' too old (< 22).\n", + version); + strbuf_release(&buffer); + return -1; + } + + strbuf_release(&buffer); + return 0; +} + +static void exec_woman_emacs(const char *page) +{ + if (!check_emacsclient_version()) { + /* This works only with emacsclient version >= 22. */ + struct strbuf man_page = STRBUF_INIT; + strbuf_addf(&man_page, "(woman \"%s\")", page); + execlp("emacsclient", "emacsclient", "-e", man_page.buf, NULL); + } else + execlp("man", "man", page, NULL); +} + +static void exec_man_konqueror(const char *page) +{ + const char *display = getenv("DISPLAY"); + if (display && *display) { + struct strbuf man_page = STRBUF_INIT; + strbuf_addf(&man_page, "man:%s(1)", page); + execlp("kfmclient", "kfmclient", "newTab", man_page.buf, NULL); + } else + execlp("man", "man", page, NULL); +} + static void show_man_page(const char *git_cmd) { const char *page = cmd_to_page(git_cmd); setup_man_path(); - execlp("man", "man", page, NULL); + if (!man_viewer || !strcmp(man_viewer, "man")) + execlp("man", "man", page, NULL); + if (!strcmp(man_viewer, "woman")) + exec_woman_emacs(page); + if (!strcmp(man_viewer, "konqueror")) + exec_man_konqueror(page); + die("'%s': unsupported man viewer.", man_viewer); } static void show_info_page(const char *git_cmd) From b5578f333595e40cb843461e685c887ad2d01e5c Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 7 Mar 2008 08:46:55 +0100 Subject: [PATCH 12/76] Documentation: help: describe 'man.viewer' config variable Signed-off-by: Christian Couder Tested-by: Xavier Maillard Signed-off-by: Junio C Hamano --- Documentation/config.txt | 4 ++++ Documentation/git-help.txt | 32 ++++++++++++++++++++++---------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index c5e094a9c4..d2f2d673ab 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -748,6 +748,10 @@ log.showroot:: Tools like linkgit:git-log[1] or linkgit:git-whatchanged[1], which normally hide the root commit will now show it. True by default. +man.viewer:: + Specify the program that will be used to display help in the + 'man' format. See linkgit:git-help[1]. + merge.summary:: Whether to include summaries of merged commits in newly created merge commit messages. False by default. diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt index 0926dc12ba..73a51ae039 100644 --- a/Documentation/git-help.txt +++ b/Documentation/git-help.txt @@ -33,17 +33,21 @@ OPTIONS option supersedes any other option. -i|--info:: - Use the 'info' program to display the manual page, instead of - the 'man' program that is used by default. + Display manual page for the command in the 'info' format. The + 'info' program will be used for that purpose. -m|--man:: - Use the 'man' program to display the manual page. This may be - used to override a value set in the 'help.format' - configuration variable. + Display manual page for the command in the 'man' format. This + option may be used to override a value set in the + 'help.format' configuration variable. ++ +By default the 'man' program will be used to display the manual page, +but the 'man.viewer' configuration variable may be used to choose +another display program (see below). -w|--web:: - Use a web browser to display the HTML manual page, instead of - the 'man' program that is used by default. + Display manual page for the command in the 'web' (HTML) + format. A web browser will be used for that purpose. + The web browser can be specified using the configuration variable 'help.browser', or 'web.browser' if the former is not set. If none of @@ -61,15 +65,23 @@ line option: * "man" corresponds to '-m|--man', * "info" corresponds to '-i|--info', -* "web" or "html" correspond to '-w|--web', +* "web" or "html" correspond to '-w|--web'. The 'help.browser', 'web.browser' and 'browser..path' will also be checked if the 'web' format is chosen (either by command line option or configuration variable). See '-w|--web' in the OPTIONS section above and linkgit:git-web--browse[1]. -Note that these configuration variables should probably be set using -the '--global' flag, for example like this: +The 'man.viewer' config variable will be checked if the 'man' format +is chosen. Only the following values are currently supported: + +* "man": use the 'man' program as usual, +* "woman": use 'emacsclient' to launch the "woman" mode in emacs +(this only works starting with emacsclient versions 22), +* "konqueror": use a man KIO slave in konqueror. + +Note that all these configuration variables should probably be set +using the '--global' flag, for example like this: ------------------------------------------------ $ git config --global help.format web From 69099d6bedb0217d7c35f7202acd6185551d762f Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Tue, 11 Mar 2008 08:51:12 +0100 Subject: [PATCH 13/76] help: implement multi-valued "man.viewer" config option This allows multiple viewer candidates to be listed in the configuration file, like this: [man] viewer = woman viewer = konqueror viewer = man The candidates are tried in the order listed in the configuration file, and the first suitable one (e.g. konqueror cannot be used outside windowed environment) is used. Signed-off-by: Christian Couder Tested-by: Xavier Maillard Signed-off-by: Junio C Hamano --- help.c | 191 ++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 113 insertions(+), 78 deletions(-) diff --git a/help.c b/help.c index 2cb152d2e1..5da8c9c415 100644 --- a/help.c +++ b/help.c @@ -10,7 +10,10 @@ #include "parse-options.h" #include "run-command.h" -static const char *man_viewer; +static struct man_viewer_list { + void (*exec)(const char *); + struct man_viewer_list *next; +} *man_viewer_list; enum help_format { HELP_FORMAT_MAN, @@ -45,6 +48,102 @@ static enum help_format parse_help_format(const char *format) die("unrecognized help format '%s'", format); } +static int check_emacsclient_version(void) +{ + struct strbuf buffer = STRBUF_INIT; + struct child_process ec_process; + const char *argv_ec[] = { "emacsclient", "--version", NULL }; + int version; + + /* emacsclient prints its version number on stderr */ + memset(&ec_process, 0, sizeof(ec_process)); + ec_process.argv = argv_ec; + ec_process.err = -1; + ec_process.stdout_to_stderr = 1; + if (start_command(&ec_process)) { + fprintf(stderr, "Failed to start emacsclient.\n"); + return -1; + } + strbuf_read(&buffer, ec_process.err, 20); + close(ec_process.err); + + /* + * Don't bother checking return value, because "emacsclient --version" + * seems to always exits with code 1. + */ + finish_command(&ec_process); + + if (prefixcmp(buffer.buf, "emacsclient")) { + fprintf(stderr, "Failed to parse emacsclient version.\n"); + strbuf_release(&buffer); + return -1; + } + + strbuf_remove(&buffer, 0, strlen("emacsclient")); + version = atoi(buffer.buf); + + if (version < 22) { + fprintf(stderr, + "emacsclient version '%d' too old (< 22).\n", + version); + strbuf_release(&buffer); + return -1; + } + + strbuf_release(&buffer); + return 0; +} + +static void exec_woman_emacs(const char *page) +{ + if (!check_emacsclient_version()) { + /* This works only with emacsclient version >= 22. */ + struct strbuf man_page = STRBUF_INIT; + strbuf_addf(&man_page, "(woman \"%s\")", page); + execlp("emacsclient", "emacsclient", "-e", man_page.buf, NULL); + } +} + +static void exec_man_konqueror(const char *page) +{ + const char *display = getenv("DISPLAY"); + if (display && *display) { + struct strbuf man_page = STRBUF_INIT; + strbuf_addf(&man_page, "man:%s(1)", page); + execlp("kfmclient", "kfmclient", "newTab", man_page.buf, NULL); + } +} + +static void exec_man_man(const char *page) +{ + execlp("man", "man", page, NULL); +} + +static void do_add_man_viewer(void (*exec)(const char *)) +{ + struct man_viewer_list **p = &man_viewer_list; + + while (*p) + p = &((*p)->next); + *p = xmalloc(sizeof(**p)); + (*p)->next = NULL; + (*p)->exec = exec; +} + +static int add_man_viewer(const char *value) +{ + if (!strcasecmp(value, "man")) + do_add_man_viewer(exec_man_man); + else if (!strcasecmp(value, "woman")) + do_add_man_viewer(exec_woman_emacs); + else if (!strcasecmp(value, "konqueror")) + do_add_man_viewer(exec_man_konqueror); + else + return error("'%s': unsupported man viewer.", value); + + return 0; +} + static int git_help_config(const char *var, const char *value) { if (!strcmp(var, "help.format")) { @@ -53,8 +152,11 @@ static int git_help_config(const char *var, const char *value) help_format = parse_help_format(value); return 0; } - if (!strcmp(var, "man.viewer")) - return git_config_string(&man_viewer, var, value); + if (!strcmp(var, "man.viewer")) { + if (!value) + return config_error_nonbool(var); + return add_man_viewer(value); + } return git_default_config(var, value); } @@ -350,85 +452,18 @@ static void setup_man_path(void) strbuf_release(&new_path); } -static int check_emacsclient_version(void) -{ - struct strbuf buffer = STRBUF_INIT; - struct child_process ec_process; - const char *argv_ec[] = { "emacsclient", "--version", NULL }; - int version; - - /* emacsclient prints its version number on stderr */ - memset(&ec_process, 0, sizeof(ec_process)); - ec_process.argv = argv_ec; - ec_process.err = -1; - ec_process.stdout_to_stderr = 1; - if (start_command(&ec_process)) { - fprintf(stderr, "Failed to start emacsclient.\n"); - return -1; - } - strbuf_read(&buffer, ec_process.err, 20); - close(ec_process.err); - - /* - * Don't bother checking return value, because "emacsclient --version" - * seems to always exits with code 1. - */ - finish_command(&ec_process); - - if (prefixcmp(buffer.buf, "emacsclient")) { - fprintf(stderr, "Failed to parse emacsclient version.\n"); - strbuf_release(&buffer); - return -1; - } - - strbuf_remove(&buffer, 0, strlen("emacsclient")); - version = atoi(buffer.buf); - - if (version < 22) { - fprintf(stderr, - "emacsclient version '%d' too old (< 22).\n", - version); - strbuf_release(&buffer); - return -1; - } - - strbuf_release(&buffer); - return 0; -} - -static void exec_woman_emacs(const char *page) -{ - if (!check_emacsclient_version()) { - /* This works only with emacsclient version >= 22. */ - struct strbuf man_page = STRBUF_INIT; - strbuf_addf(&man_page, "(woman \"%s\")", page); - execlp("emacsclient", "emacsclient", "-e", man_page.buf, NULL); - } else - execlp("man", "man", page, NULL); -} - -static void exec_man_konqueror(const char *page) -{ - const char *display = getenv("DISPLAY"); - if (display && *display) { - struct strbuf man_page = STRBUF_INIT; - strbuf_addf(&man_page, "man:%s(1)", page); - execlp("kfmclient", "kfmclient", "newTab", man_page.buf, NULL); - } else - execlp("man", "man", page, NULL); -} - static void show_man_page(const char *git_cmd) { + struct man_viewer_list *viewer; const char *page = cmd_to_page(git_cmd); + setup_man_path(); - if (!man_viewer || !strcmp(man_viewer, "man")) - execlp("man", "man", page, NULL); - if (!strcmp(man_viewer, "woman")) - exec_woman_emacs(page); - if (!strcmp(man_viewer, "konqueror")) - exec_man_konqueror(page); - die("'%s': unsupported man viewer.", man_viewer); + for (viewer = man_viewer_list; viewer; viewer = viewer->next) + { + viewer->exec(page); /* will return when unable */ + } + exec_man_man(page); + die("no man viewer handled the request"); } static void show_info_page(const char *git_cmd) From 1cb639e6b02d8740cd2d4516a34822b43660babc Mon Sep 17 00:00:00 2001 From: Ping Yin Date: Tue, 11 Mar 2008 21:52:16 +0800 Subject: [PATCH 14/76] git-submodule summary: show commit summary This patch does the hard work to show submodule commit summary. For a modified submodule, a series of commits will be shown with the following command: git log --pretty='format:%m %s' \ --first-parent sha1_src...sha1_dst where the sha1_src is from the given super project commit and the sha1_dst is from the index or working tree (switched by --cached). For a deleted, added, or typechanged (blob<->submodule) submodule, only one single newest commit from the existing end (for example, src end for submodule deleted or type changed from submodule to blob) will be shown. If the src/dst sha1 for a submodule is missing in the submodule directory, a warning will be issued except in two cases where the submodule directory is deleted (type 'D') or typechanged to blob (one case of type 'T'). In the title line for a submodule, the src/dst sha1 and the number of commits (--first-parent) between the two commits will be shown. The following example demonstrates most cases. Example: commit summary for modified submodules sm1-sm5. -------------------------------------------- $ git submodule summary * sm1 354cd45...3f751e5 (4): < one line message for C < one line message for B > one line message for D > one line message for E * sm2 5c8bfb5...000000 (3): < one line message for F * sm3 354cd45...3f751e5: Warn: sm3 doesn't contain commit 354cd45 * sm4 354cd34(submodule)-> 235efa(blob) (1): < one line message for G * sm5 354cd34(blob)-> 235efa(submodule) (5): > one line message for H -------------------------------------------- Signed-off-by: Ping Yin Signed-off-by: Junio C Hamano --- git-submodule.sh | 102 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/git-submodule.sh b/git-submodule.sh index dbb866644a..01f26d341c 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -371,6 +371,108 @@ cmd_summary() { echo "$name" done ) + + test -n "$modules" && + git diff-index $cached --raw $head -- $modules | + grep -e '^:160000' -e '^:[0-7]* 160000' | + cut -c2- | + while read mod_src mod_dst sha1_src sha1_dst status name + do + if test -z "$cached" && + test $sha1_dst = 0000000000000000000000000000000000000000 + then + case "$mod_dst" in + 160000) + sha1_dst=$(GIT_DIR="$name/.git" git rev-parse HEAD) + ;; + 100644 | 100755 | 120000) + sha1_dst=$(git hash-object $name) + ;; + 000000) + ;; # removed + *) + # unexpected type + echo >&2 "unexpected mode $mod_dst" + continue ;; + esac + fi + missing_src= + missing_dst= + + test $mod_src = 160000 && + ! GIT_DIR="$name/.git" git-rev-parse --verify $sha1_src^0 >/dev/null 2>&1 && + missing_src=t + + test $mod_dst = 160000 && + ! GIT_DIR="$name/.git" git-rev-parse --verify $sha1_dst^0 >/dev/null 2>&1 && + missing_dst=t + + total_commits= + case "$missing_src,$missing_dst" in + t,) + errmsg=" Warn: $name doesn't contain commit $sha1_src" + ;; + ,t) + errmsg=" Warn: $name doesn't contain commit $sha1_dst" + ;; + t,t) + errmsg=" Warn: $name doesn't contain commits $sha1_src and $sha1_dst" + ;; + *) + errmsg= + total_commits=$( + if test $mod_src = 160000 -a $mod_dst = 160000 + then + range="$sha1_src...$sha1_dst" + elif test $mod_src = 160000 + then + range=$sha1_src + else + range=$sha1_dst + fi + GIT_DIR="$name/.git" \ + git log --pretty=oneline --first-parent $range | wc -l + ) + total_commits=" ($total_commits)" + ;; + esac + + sha1_abbr_src=$(echo $sha1_src | cut -c1-7) + sha1_abbr_dst=$(echo $sha1_dst | cut -c1-7) + if test $status = T + then + if test $mod_dst = 160000 + then + echo "* $name $sha1_abbr_src(blob)->$sha1_abbr_dst(submodule)$total_commits:" + else + echo "* $name $sha1_abbr_src(submodule)->$sha1_abbr_dst(blob)$total_commits:" + fi + else + echo "* $name $sha1_abbr_src...$sha1_abbr_dst$total_commits:" + fi + if test -n "$errmsg" + then + # Don't give error msg for modification whose dst is not submodule + # i.e. deleted or changed to blob + test $mod_dst = 160000 && echo "$errmsg" + else + if test $mod_src = 160000 -a $mod_dst = 160000 + then + GIT_DIR="$name/.git" \ + git log --pretty='format: %m %s' \ + --first-parent $sha1_src...$sha1_dst + elif test $mod_dst = 160000 + then + GIT_DIR="$name/.git" \ + git log --pretty='format: > %s' -1 $sha1_dst + else + GIT_DIR="$name/.git" \ + git log --pretty='format: < %s' -1 $sha1_src + fi + echo + fi + echo + done } # # List all submodules, prefixed with: From f2dc06a344257df7b9307fc8453af7342409b610 Mon Sep 17 00:00:00 2001 From: Ping Yin Date: Tue, 11 Mar 2008 21:52:17 +0800 Subject: [PATCH 15/76] git-submodule summary: limit summary size This patch teaches git-submodule an option '--summary-limit|-n ' to limit number of commits in total for the summary of each submodule in the modified case (only a single commit is shown in other cases). Giving 0 will disable the summary; a negative number means unlimted, which is the default. Signed-off-by: Ping Yin Signed-off-by: Junio C Hamano --- git-submodule.sh | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/git-submodule.sh b/git-submodule.sh index 01f26d341c..4d28fc0988 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -4,7 +4,9 @@ # # Copyright (c) 2007 Lars Hjemli -USAGE='[--quiet] [--cached] [add [-b branch]|status|init|update|summary []] [--] [...]' +USAGE="[--quiet] [--cached] \ +[add [-b branch]|status|init|update|summary [-n|--summary-limit ] []] \ +[--] [...]" OPTIONS_SPEC= . git-sh-setup require_work_tree @@ -329,6 +331,8 @@ set_name_rev () { # $@ = [commit (default 'HEAD'),] requested paths (default all) # cmd_summary() { + summary_limit=-1 + # parse $args after "submodule ... summary". while test $# -ne 0 do @@ -336,6 +340,15 @@ cmd_summary() { --cached) cached="$1" ;; + -n|--summary-limit) + if summary_limit=$(($2 + 0)) 2>/dev/null && test "$summary_limit" = "$2" + then + : + else + usage + fi + shift + ;; --) shift break @@ -350,6 +363,8 @@ cmd_summary() { shift done + test $summary_limit = 0 && return + if rev=$(git rev-parse --verify "$1^0" 2>/dev/null) then head=$rev @@ -458,8 +473,10 @@ cmd_summary() { else if test $mod_src = 160000 -a $mod_dst = 160000 then + limit= + test $summary_limit -gt 0 && limit="-$summary_limit" GIT_DIR="$name/.git" \ - git log --pretty='format: %m %s' \ + git log $limit --pretty='format: %m %s' \ --first-parent $sha1_src...$sha1_dst elif test $mod_dst = 160000 then From 925e7f622d433e1cb2c7556acf8868bb30565a61 Mon Sep 17 00:00:00 2001 From: Ping Yin Date: Tue, 11 Mar 2008 21:52:18 +0800 Subject: [PATCH 16/76] git-submodule summary: documentation Signed-off-by: Ping Yin Signed-off-by: Junio C Hamano --- Documentation/git-submodule.txt | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt index e818e6e789..e96bf36521 100644 --- a/Documentation/git-submodule.txt +++ b/Documentation/git-submodule.txt @@ -12,6 +12,7 @@ SYNOPSIS 'git-submodule' [--quiet] add [-b branch] [--] [] 'git-submodule' [--quiet] status [--cached] [--] [...] 'git-submodule' [--quiet] [init|update] [--] [...] +'git-submodule' [--quiet] summary [--summary-limit ] [commit] [--] [...] COMMANDS @@ -46,6 +47,11 @@ update:: checkout the commit specified in the index of the containing repository. This will make the submodules HEAD be detached. +summary:: + Show commit summary between the given commit (defaults to HEAD) and + working tree/index. For a submodule in question, a series of commits + in the submodule between the given super project commit and the + index or working tree (switched by --cached) are shown. OPTIONS ------- @@ -56,9 +62,16 @@ OPTIONS Branch of repository to add as submodule. --cached:: - Display the SHA-1 stored in the index, not the SHA-1 of the currently - checked out submodule commit. This option is only valid for the - status command. + This option is only valid for status and summary commands. These + commands typically use the commit found in the submodule HEAD, but + with this option, the commit stored in the index is used instead. + +-n, --summary-limit:: + This option is only valid for the summary command. + Limit the summary size (number of commits shown in total). + Giving 0 will disable the summary; a negative number means unlimted + (the default). This limit only applies to modified submodules. The + size is always limited to 1 for added/deleted/typechanged submodules. :: Path to submodule(s). When specified this will restrict the command From 2da2ddc664538f64c4d8a4ab61ef93b2b77a50d5 Mon Sep 17 00:00:00 2001 From: Ping Yin Date: Tue, 11 Mar 2008 21:52:19 +0800 Subject: [PATCH 17/76] git-submodule summary: test Signed-off-by: Ping Yin Signed-off-by: Junio C Hamano --- t/t7401-submodule-summary.sh | 195 +++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100755 t/t7401-submodule-summary.sh diff --git a/t/t7401-submodule-summary.sh b/t/t7401-submodule-summary.sh new file mode 100755 index 0000000000..0f3c42ab35 --- /dev/null +++ b/t/t7401-submodule-summary.sh @@ -0,0 +1,195 @@ +#!/bin/sh +# +# Copyright (c) 2008 Ping Yin +# + +test_description='Summary support for submodules + +This test tries to verify the sanity of summary subcommand of git-submodule. +' + +. ./test-lib.sh + +add_file () { + sm=$1 + shift + owd=$(pwd) + cd "$sm" + for name; do + echo "$name" > "$name" && + git add "$name" && + test_tick && + git commit -m "Add $name" + done >/dev/null + git rev-parse --verify HEAD | cut -c1-7 + cd "$owd" +} +commit_file () { + test_tick && + git commit "$@" -m "Commit $*" >/dev/null +} + +test_create_repo sm1 && +add_file . foo + +head1=$(add_file sm1 foo1 foo2) + +test_expect_success 'added submodule' " + git add sm1 && + git submodule summary >actual && + diff actual - <<-EOF +* sm1 0000000...$head1 (2): + > Add foo2 + +EOF +" + +commit_file sm1 && +head2=$(add_file sm1 foo3) + +test_expect_success 'modified submodule(forward)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head1...$head2 (1): + > Add foo3 + +EOF +" + +commit_file sm1 && +cd sm1 && +git reset --hard HEAD~2 >/dev/null && +head3=$(git rev-parse --verify HEAD | cut -c1-7) && +cd .. + +test_expect_success 'modified submodule(backward)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head2...$head3 (2): + < Add foo3 + < Add foo2 + +EOF +" + +head4=$(add_file sm1 foo4 foo5) && +head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD) +test_expect_success 'modified submodule(backward and forward)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head2...$head4 (4): + > Add foo5 + > Add foo4 + < Add foo3 + < Add foo2 + +EOF +" + +test_expect_success '--summary-limit' " + git submodule summary -n 3 >actual && + diff actual - <<-EOF +* sm1 $head2...$head4 (4): + > Add foo5 + > Add foo4 + < Add foo3 + +EOF +" + +commit_file sm1 && +mv sm1 sm1-bak && +echo sm1 >sm1 && +head5=$(git hash-object sm1 | cut -c1-7) && +git add sm1 && +rm -f sm1 && +mv sm1-bak sm1 + +test_expect_success 'typechanged submodule(submodule->blob), --cached' " + git submodule summary --cached >actual && + diff actual - <<-EOF +* sm1 $head4(submodule)->$head5(blob) (3): + < Add foo5 + +EOF +" + +rm -rf sm1 && +git checkout-index sm1 +test_expect_success 'typechanged submodule(submodule->blob)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head4(submodule)->$head5(blob): + +EOF +" + +rm -f sm1 && +test_create_repo sm1 && +head6=$(add_file sm1 foo6 foo7) +test_expect_success 'nonexistent commit' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head4...$head6: + Warn: sm1 doesn't contain commit $head4_full + +EOF +" + +commit_file +test_expect_success 'typechanged submodule(blob->submodule)' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head5(blob)->$head6(submodule) (2): + > Add foo7 + +EOF +" + +commit_file sm1 && +rm -rf sm1 +test_expect_success 'deleted submodule' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head6...0000000: + +EOF +" + +test_create_repo sm2 && +head7=$(add_file sm2 foo8 foo9) && +git add sm2 + +test_expect_success 'multiple submodules' " + git submodule summary >actual && + diff actual - <<-EOF +* sm1 $head6...0000000: + +* sm2 0000000...$head7 (2): + > Add foo9 + +EOF +" + +test_expect_success 'path filter' " + git submodule summary sm2 >actual && + diff actual - <<-EOF +* sm2 0000000...$head7 (2): + > Add foo9 + +EOF +" + +commit_file sm2 +test_expect_success 'given commit' " + git submodule summary HEAD^ >actual && + diff actual - <<-EOF +* sm1 $head6...0000000: + +* sm2 0000000...$head7 (2): + > Add foo9 + +EOF +" + +test_done From eed35595759a65d51279547af0f2d017dd928fa5 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Wed, 12 Mar 2008 09:30:01 +0100 Subject: [PATCH 18/76] git-submodule summary: fix that some "wc" flavors produce leading spaces We print the number of commits in parentheses, but without this change we would get an oddly looking line like this: * sm1 4c8d358...41fbea9 ( 4): Signed-off-by: Johannes Sixt Signed-off-by: Junio C Hamano --- git-submodule.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-submodule.sh b/git-submodule.sh index 4d28fc0988..558a5ca107 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -448,7 +448,7 @@ cmd_summary() { GIT_DIR="$name/.git" \ git log --pretty=oneline --first-parent $range | wc -l ) - total_commits=" ($total_commits)" + total_commits=" ($(($total_commits + 0)))" ;; esac From 7863c612f402268b5978683f44adad3a7a867613 Mon Sep 17 00:00:00 2001 From: Jakub Narebski Date: Thu, 14 Feb 2008 09:22:30 +0100 Subject: [PATCH 19/76] gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form URLs generated by href(..., -replay=>1) (which includes 'next page' links and alternate view links) didn't set project info correctly when current page URL is in pathinfo form. This resulted in broken links such like: http://www.example.com/w/ARRAY(0x85a5318)?a=shortlog;pg=1 if the 'pathinfo' feature was used, or http://www.example.com/w/?a=shortlog;pg=1 if it wasn't, instead of correct: http://www.example.com/w/project.git?a=shortlog;pg=1 This was caused by the fact that href() always replays params in the arrayref form, were they multivalued or singlevalued, and the code dealing with 'pathinfo' feature couldn't deal with $params{'project'} being arrayref. Setting $params{'project'} is moved before replaying params; this ensures that 'project' parameter is processed correctly. Noticed-by: Peter Oberndorfer Noticed-by: Wincent Colaiuta Signed-off-by: Jakub Narebski Signed-off-by: Junio C Hamano --- gitweb/gitweb.perl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index ae2d05763f..b582332f45 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -611,6 +611,8 @@ sub href(%) { ); my %mapping = @mapping; + $params{'project'} = $project unless exists $params{'project'}; + if ($params{-replay}) { while (my ($name, $symbol) = each %mapping) { if (!exists $params{$name}) { @@ -620,8 +622,6 @@ sub href(%) { } } - $params{'project'} = $project unless exists $params{'project'}; - my ($use_pathinfo) = gitweb_check_feature('pathinfo'); if ($use_pathinfo) { # use PATH_INFO for project name From c36c5b845e1958bad1b69ee42e3da926de4f948b Mon Sep 17 00:00:00 2001 From: Marc-Andre Lureau Date: Wed, 12 Mar 2008 21:54:21 +0200 Subject: [PATCH 20/76] git-cvsimport: fix merging with remote parent branch commit-tree fails when specifying a remote name (via -r option) and one of the parent branch has a name. Prefixing with "$remote/" fix it. Signed-off-by: Marc-Andre Lureau Signed-off-by: Junio C Hamano --- git-cvsimport.perl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-cvsimport.perl b/git-cvsimport.perl index 9516242338..8093996e25 100755 --- a/git-cvsimport.perl +++ b/git-cvsimport.perl @@ -730,7 +730,7 @@ sub commit { next unless $logmsg =~ $rx && $1; my $mparent = $1 eq 'HEAD' ? $opt_o : $1; if (my $sha1 = get_headref("$remote/$mparent")) { - push @commit_args, '-p', $mparent; + push @commit_args, '-p', "$remote/$mparent"; print "Merge parent branch: $mparent\n" if $opt_v; } } From 18d077c1bf576d51e2ad09e41b22042b8cb5c9f4 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 12 Mar 2008 21:07:19 -0700 Subject: [PATCH 21/76] quiltimport: fix misquoting of parsed -p parameter Signed-off-by: Junio C Hamano --- git-quiltimport.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-quiltimport.sh b/git-quiltimport.sh index 84c8b8ef4f..7cd8f7134e 100755 --- a/git-quiltimport.sh +++ b/git-quiltimport.sh @@ -67,7 +67,7 @@ while read patch_name level garbage do case "$patch_name" in ''|'#'*) continue;; esac case "$level" in - -p*);; + -p*) ;; ''|'#'*) level=;; *) @@ -129,7 +129,7 @@ do fi if [ -z "$dry_run" ] ; then - git apply --index -C1 $level "$tmp_patch" && + git apply --index -C1 ${level:+"$level"} "$tmp_patch" && tree=$(git write-tree) && commit=$( (echo "$SUBJECT"; echo; cat "$tmp_msg") | git commit-tree $tree -p $commit) && git update-ref -m "quiltimport: $patch_name" HEAD $commit || exit 4 From 40a7ce64e146c79a966a8494d3a7e85826d7f4e9 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:29:57 -0400 Subject: [PATCH 22/76] tr portability fixes Specifying character ranges in tr differs between System V and POSIX. In System V, brackets are required (e.g., '[A-Z]'), whereas in POSIX they are not. We can mostly get around this by just using the bracket form for both sets, as in: tr '[A-Z] '[a-z]' in which case POSIX interpets this as "'[' becomes '['", which is OK. However, this doesn't work with multiple sequences, like: # rot13 tr '[A-Z][a-z]' '[N-Z][A-M][n-z][a-m]' where the POSIX version does not behave the same as the System V version. In this case, we must simply enumerate the sequence. This patch fixes problematic uses of tr in git scripts and test scripts in one of three ways: - if a single sequence, make sure it uses brackets - if multiple sequences, enumerate - if extra brackets (e.g., tr '[A]' 'a'), eliminate brackets Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- git-bisect.sh | 4 ++-- git-filter-branch.sh | 4 ++-- t/t4022-diff-rewrite.sh | 5 ++++- t/t7003-filter-branch.sh | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/git-bisect.sh b/git-bisect.sh index 2c32d0b9eb..48fb92d612 100755 --- a/git-bisect.sh +++ b/git-bisect.sh @@ -293,14 +293,14 @@ bisect_next() { bisect_next_check good skip=$(git for-each-ref --format='%(objectname)' \ - "refs/bisect/skip-*" | tr '[\012]' ' ') || exit + "refs/bisect/skip-*" | tr '\012' ' ') || exit BISECT_OPT='' test -n "$skip" && BISECT_OPT='--bisect-all' bad=$(git rev-parse --verify refs/bisect/bad) && good=$(git for-each-ref --format='^%(objectname)' \ - "refs/bisect/good-*" | tr '[\012]' ' ') && + "refs/bisect/good-*" | tr '\012' ' ') && eval="git rev-list --bisect-vars $BISECT_OPT $good $bad --" && eval="$eval $(cat "$GIT_DIR/BISECT_NAMES")" && eval=$(filter_skipped "$eval" "$skip") && diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 010353ad82..59cf023d5d 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -58,8 +58,8 @@ eval "$functions" # "author" or "committer set_ident () { - lid="$(echo "$1" | tr "A-Z" "a-z")" - uid="$(echo "$1" | tr "a-z" "A-Z")" + lid="$(echo "$1" | tr "[A-Z]" "[a-z]")" + uid="$(echo "$1" | tr "[a-z]" "[A-Z]")" pick_id_script=' /^'$lid' /{ s/'\''/'\''\\'\'\''/g diff --git a/t/t4022-diff-rewrite.sh b/t/t4022-diff-rewrite.sh index 6de4acbd44..bf996fc414 100755 --- a/t/t4022-diff-rewrite.sh +++ b/t/t4022-diff-rewrite.sh @@ -8,7 +8,10 @@ test_expect_success setup ' cat ../../COPYING >test && git add test && - tr 'a-zA-Z' 'n-za-mN-ZA-M' <../../COPYING >test + tr \ + "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" \ + "nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM" \ + <../../COPYING >test ' diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh index 6e14bf1c7f..553131fcf4 100755 --- a/t/t7003-filter-branch.sh +++ b/t/t7003-filter-branch.sh @@ -4,7 +4,7 @@ test_description='git-filter-branch' . ./test-lib.sh make_commit () { - lower=$(echo $1 | tr A-Z a-z) + lower=$(echo $1 | tr '[A-Z]' '[a-z]') echo $lower > $lower git add $lower test_tick From 0c87a951c2970ec5fe204c3743b467819ee42a64 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Thu, 14 Feb 2008 13:42:19 +0100 Subject: [PATCH 23/76] git-gui: update Italian translation Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- po/it.po | 611 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 346 insertions(+), 265 deletions(-) diff --git a/po/it.po b/po/it.po index 33a8399175..60c9973acf 100644 --- a/po/it.po +++ b/po/it.po @@ -9,41 +9,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-09 11:18+0100\n" -"PO-Revision-Date: 2007-11-01 21:05+0100\n" +"POT-Creation-Date: 2008-03-12 22:09+0100\n" +"PO-Revision-Date: 2008-03-12 22:12+0100\n" "Last-Translator: Michele Ballabio \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: errore grave" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Caratteri non validi specificati in %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Caratteri principali" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Caratteri per confronti e terminale" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Impossibile trovare git nel PATH" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Impossibile determinare la versione di Git:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -62,79 +62,79 @@ msgstr "" "\n" "Assumere che '%s' sia alla versione 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Non trovo la directory di git: " -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Impossibile spostarsi sulla directory principale del progetto:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Impossibile usare una .git directory strana:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Nessuna directory di lavoro" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Controllo dello stato dei file in corso..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Ricerca di file modificati in corso..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Pronto." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Non modificato" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Modificato, non preparato per una nuova revisione" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Preparato per una nuova revisione" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Parti preparate per una nuova revisione" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Preparato per una nuova revisione, mancante" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Non tracciato, non preparato per una nuova revisione" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Mancante" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Preparato per la rimozione" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Preparato alla rimozione, ancora presente" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Richiede risoluzione dei conflitti" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Avvio di gitk... attendere..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -145,297 +145,297 @@ msgstr "" "\n" "%s non esiste" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Archivio" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Modifica" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Ramo" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Revisione" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Fusione (Merge)" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Remoto" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Esplora i file del ramo attuale" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Esplora i file del ramo..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Visualizza la cronologia del ramo attuale" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Visualizza la cronologia di tutti i rami" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Esplora i file di %s" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Visualizza la cronologia di %s" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Statistiche dell'archivio" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Comprimi l'archivio" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Verifica l'archivio" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Crea icona desktop" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Esci" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Annulla" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Ripeti" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Taglia" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Copia" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Incolla" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Elimina" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Seleziona tutto" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Crea..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Attiva..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Rinomina" -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Elimina..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Ripristina..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Nuova revisione" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Correggi l'ultima revisione" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Analizza nuovamente" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Prepara per una nuova revisione" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Prepara i file modificati per una nuova revisione" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Annulla preparazione" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Annulla modifiche" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Sign Off" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Nuova revisione" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Fusione locale..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Interrompi fusione..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Propaga..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Informazioni su %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Preferenze..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Opzioni..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Aiuto" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Documentazione sul web" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "errore grave: impossibile effettuare lo stat del path %s: file o directory " "non trovata" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Ramo attuale:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Modifiche preparate (saranno nella nuova revisione)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Modifiche non preparate" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Prepara modificati" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Propaga (Push)" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Messaggio di revisione iniziale:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Messaggio di revisione corretto:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Messaggio iniziale di revisione corretto:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Messaggio di fusione corretto:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Messaggio di fusione:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Messaggio di revisione:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Copia tutto" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "File:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "Rinfresca" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Applica/Inverti sezione" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Diminuisci dimensione caratteri" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Aumenta dimensione caratteri" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Mostra meno contesto" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Mostra più contesto" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Rinfresca" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Diminuisci dimensione caratteri" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Aumenta dimensione caratteri" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Sezione non preparata per una nuova revisione" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Prepara sezione per una nuova revisione" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Inizializzazione..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -452,7 +452,7 @@ msgstr "" "da %s:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -462,7 +462,7 @@ msgstr "" "Ciò è dovuto a un problema conosciuto\n" "causato dall'eseguibile Tcl distribuito da Cygwin." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -478,7 +478,7 @@ msgstr "" "consiste nell'assegnare valori alle variabili di configurazione\n" "user.name e user.email nel tuo file ~/.gitconfig personale.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - un'interfaccia grafica per Git." @@ -490,56 +490,56 @@ msgstr "Mostra file" msgid "Commit:" msgstr "Revisione:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Copia revisione" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Lettura di %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Caricamento annotazioni per copie/spostamenti..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "linee annotate" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Caricamento annotazioni per posizione originaria..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotazione completata." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Caricamento annotazioni..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Autore:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Revisione creata da:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "File originario:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "In origine da:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Nel file:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Copiato o spostato qui da:" @@ -552,17 +552,17 @@ msgid "Checkout" msgstr "Attiva" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Annulla" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Revisione" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Opzioni" @@ -582,7 +582,7 @@ msgstr "Crea ramo" msgid "Create New Branch" msgstr "Crea nuovo ramo" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Crea" @@ -723,24 +723,24 @@ msgstr "Avvio in corso..." msgid "File Browser" msgstr "File browser" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Caricamento %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Directory superiore]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Esplora i file del ramo" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" -msgstr "Sfoglia" +msgstr "Esplora" #: lib/checkout_op.tcl:79 #, tcl-format @@ -752,7 +752,7 @@ msgstr "Recupero %s da %s" msgid "fatal: Cannot resolve %s" msgstr "errore grave: impossibile risolvere %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Chiudi" @@ -811,6 +811,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Aggiornamento della directory di lavoro a '%s' in corso..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "file presenti nella directory di lavoro" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -837,7 +841,7 @@ msgstr "" "Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questa " "revisione attiva staccata'." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Attivazione di '%s' completata." @@ -857,7 +861,7 @@ msgstr "Ricomporre le revisioni perdute potrebbe non essere semplice." msgid "Reset '%s'?" msgstr "Ripristinare '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Visualizza" @@ -887,246 +891,246 @@ msgstr "Seleziona" msgid "Font Family" msgstr "Famiglia di caratteri" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Dimensione caratteri" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Esempio caratteri" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" "Questo è un testo d'esempio.\n" -"Se ti piace questo testo, può essere il carattere giusto." +"Se ti piace questo testo, scegli questo carattere." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Crea nuovo archivio" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Nuovo..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Clona archivio esistente" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Clona..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Apri archivio esistente" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Apri..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Archivi recenti" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Apri archivio recente:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "La posizione %s esiste già." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Impossibile creare l'archivio %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Directory:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Archivio Git" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "La directory %s esiste già." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Il file %s esiste già." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Clona" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Tipo di clone:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (veloce, semi-ridondante, con hardlink)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Copia completa (più lento, backup ridondante)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Shared (il più veloce, non raccomandato, nessun backup)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "%s non è un archivio Git." -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard è disponibile solo per archivi locali." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Shared è disponibile solo per archivi locali." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Il file/directory %s esiste già." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Impossibile configurare origin" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Calcolo oggetti" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Impossibile copiare oggetti/info/alternate: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Niente da clonare da %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Il ramo 'master' non è stato inizializzato." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Impossibile utilizzare gli hardlink. Si ricorrerà alla copia." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Clonazione da %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Copia degli oggetti" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Impossibile copiare oggetto: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Collegamento oggetti" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "oggetti" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Hardlink impossibile sull'oggetto: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Impossibile recuperare rami e oggetti. Controllare i dettagli forniti dalla " "console." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "" "Impossibile recuperare le etichette. Controllare i dettagli forniti dalla " "console." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "" "Impossibile determinare HEAD. Controllare i dettagli forniti dalla console." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Impossibile ripulire %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Clonazione non riuscita." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Non è stato trovato un ramo predefinito." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Impossibile risolvere %s come una revisione." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Creazione directory di lavoro" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "file" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Attivazione iniziale non riuscita." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Apri" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Archivio:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Impossibile accedere all'archivio %s:" @@ -1147,7 +1151,7 @@ msgstr "Ramo locale" msgid "Tracking Branch" msgstr "Duplicato locale di ramo remoto" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Etichetta" @@ -1164,11 +1168,11 @@ msgstr "Nessuna revisione selezionata." msgid "Revision expression is empty." msgstr "L'espressione di revisione è vuota." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Aggiornato" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1268,7 +1272,7 @@ msgid "" "\n" "A good commit message has the following format:\n" "\n" -"- First line: Describe in one sentance what you did.\n" +"- First line: Describe in one sentence what you did.\n" "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" @@ -1280,16 +1284,45 @@ msgstr "" "- Seconda linea: vuota.\n" "- Terza linea: spiega a cosa serve la tua modifica.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "attenzione: Tcl non supporta la codifica '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "Avvio pre-commit hook..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "Revisione rifiutata dal pre-commit hook." + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "Avvio commit-msg hook..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "Revisione rifiutata dal commit-msg hook." + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "Archiviazione modifiche..." + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree non riuscito:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "Impossibile creare una nuova revisione." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "La revisione %s sembra essere danneggiata" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1303,37 +1336,32 @@ msgstr "" "\n" "Si procederà subito ad una nuova analisi.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Nessuna modifica per la nuova revisione." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "attenzione: Tcl non supporta la codifica '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree non riuscito:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref non riuscito:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Creata revisione %s: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Elaborazione in corso... attendere..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Successo" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Errore: comando non riuscito" @@ -1444,23 +1472,23 @@ msgstr "* File binario (il contenuto non sarà mostrato)." msgid "Error loading diff:" msgstr "Errore nel caricamento delle differenze:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Impossibile rimuovere la sezione scelta dalla nuova revisione." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Impossibile preparare la sezione scelta per una nuova revisione." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "errore" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "attenzione" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "" "Bisogna correggere gli errori suddetti prima di creare una nuova revisione." @@ -1494,6 +1522,10 @@ msgstr "Sblocca l'accesso all'indice" msgid "Unstaging %s from commit" msgstr "%s non farà parte della prossima revisione" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Pronto per creare una nuova revisione." + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1509,13 +1541,13 @@ msgstr "Annullare le modifiche nel file %s?" msgid "Revert changes in these %i files?" msgstr "Annullare le modifiche in questi %i file?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Tutte le modifiche non preparate per una nuova revisione saranno perse per " "sempre." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Non fare niente" @@ -1589,27 +1621,27 @@ msgstr "%s di %s" #: lib/merge.tcl:119 #, tcl-format -msgid "Merging %s and %s" -msgstr "Fusione di %s e %s in corso" +msgid "Merging %s and %s..." +msgstr "Fusione di %s e %s in corso..." -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "Fusione completata con successo." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Fusione non riuscita. Bisogna risolvere i conflitti." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Fusione in %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Revisione da fondere" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1619,7 +1651,7 @@ msgstr "" "\n" "Bisogna finire di correggere questa revisione.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1634,7 +1666,7 @@ msgstr "" "\n" "Continuare con l'interruzione della fusione attuale?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1649,94 +1681,106 @@ msgstr "" "\n" "Continuare con l'annullamento delle modifiche attuali?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" -msgstr "Interruzione in corso" +msgstr "Interruzione" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "ripristino file" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "Interruzione non riuscita." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Interruzione completata. Pronto." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Ripristina valori predefiniti" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Salva" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Archivio di %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Tutti gli archivi" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Nome utente" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Indirizzo Email" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Riepilogo nelle revisioni di fusione" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Prolissità della fusione" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Mostra statistiche delle differenze dopo la fusione" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Fidati delle date di modifica dei file" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "" "Effettua potatura dei duplicati locali di rami remoti durante il recupero" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Appaia duplicati locali di rami remoti" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Numero di linee di contesto nelle differenze" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "Larghezza del messaggio di revisione" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Modello per il nome di un nuovo ramo" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "Lingua dizionario:" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Cambia caratteri" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Scegli %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Preferenze" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Impossibile salvare completamente le opzioni:" @@ -1844,6 +1888,43 @@ msgstr "Impossibile scrivere shortcut:" msgid "Cannot write icon:" msgstr "Impossibile scrivere icona:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Correttore ortografico non supportato" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Correzione ortografica indisponibile" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "La configurazione del correttore ortografico non è valida" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Il dizionario è stato reimpostato su %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Il correttore ortografico ha riportato un errore all'avvio" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Correttore ortografico sconosciuto" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "Nessun suggerimento" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "Il correttore ortografico ha mandato un EOF inaspettato" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "Errore nel correttore ortografico" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" From b8322ea83bc23499a2cef883d051859eb79fef25 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Thu, 13 Mar 2008 06:48:46 +0100 Subject: [PATCH 24/76] Documentation: help: explain 'man.viewer' multiple values Also add titles to paragraphs under "CONFIGURATION VARIABLES". Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- Documentation/config.txt | 2 +- Documentation/git-help.txt | 29 ++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index d2f2d673ab..ae1486da3d 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -749,7 +749,7 @@ log.showroot:: normally hide the root commit will now show it. True by default. man.viewer:: - Specify the program that will be used to display help in the + Specify the programs that may be used to display help in the 'man' format. See linkgit:git-help[1]. merge.summary:: diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt index 73a51ae039..0354ac9861 100644 --- a/Documentation/git-help.txt +++ b/Documentation/git-help.txt @@ -43,7 +43,7 @@ OPTIONS + By default the 'man' program will be used to display the manual page, but the 'man.viewer' configuration variable may be used to choose -another display program (see below). +other display programs (see below). -w|--web:: Display manual page for the command in the 'web' (HTML) @@ -58,6 +58,9 @@ linkgit:git-web--browse[1] for more information about this. CONFIGURATION VARIABLES ----------------------- +help.format +~~~~~~~~~~~ + If no command line option is passed, the 'help.format' configuration variable will be checked. The following values are supported for this variable; they make 'git-help' behave as their corresponding command @@ -67,11 +70,17 @@ line option: * "info" corresponds to '-i|--info', * "web" or "html" correspond to '-w|--web'. +help.browser, web.browser and browser..path +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + The 'help.browser', 'web.browser' and 'browser..path' will also be checked if the 'web' format is chosen (either by command line option or configuration variable). See '-w|--web' in the OPTIONS section above and linkgit:git-web--browse[1]. +man.viewer +~~~~~~~~~~ + The 'man.viewer' config variable will be checked if the 'man' format is chosen. Only the following values are currently supported: @@ -80,6 +89,24 @@ is chosen. Only the following values are currently supported: (this only works starting with emacsclient versions 22), * "konqueror": use a man KIO slave in konqueror. +Multiple values may be given to this configuration variable. Their +corresponding programs will be tried in the order listed in the +configuration file. + +For example, this configuration: + + [man] + viewer = konqueror + viewer = woman + +will try to use konqueror first. But this may fail (for example if +DISPLAY is not set) and in that case emacs' woman mode will be tried. + +If everythings fails the 'man' program will be tried anyway. + +Note about git config --global +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Note that all these configuration variables should probably be set using the '--global' flag, for example like this: From 5fb0b3e007d6465af99d08121d46be82c649df5a Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Thu, 13 Mar 2008 07:10:40 +0100 Subject: [PATCH 25/76] help: warn if specified 'man.viewer' is unsupported, instead of erroring out When a document viewer that is unknown to the current version of git is specified in the .git/config file, instead of erroring out the process entirely, just issue a warning. It might be that the user usually is using a newer git that supports it (and the configuration is written for that version) but is temporarily using an older git that does not know the viewer. Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- help.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/help.c b/help.c index 5da8c9c415..ecaca770d3 100644 --- a/help.c +++ b/help.c @@ -139,7 +139,7 @@ static int add_man_viewer(const char *value) else if (!strcasecmp(value, "konqueror")) do_add_man_viewer(exec_man_konqueror); else - return error("'%s': unsupported man viewer.", value); + warning("'%s': unsupported man viewer.", value); return 0; } From dbdbfec4413d24f9a423c3e2b86a002489f4acbb Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 12 Mar 2008 23:11:15 -0700 Subject: [PATCH 26/76] Documentation/config: typofix Each heading of enumerated list should end with double-colon, not single. Signed-off-by: Junio C Hamano --- Documentation/config.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index c5e094a9c4..35824258ca 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -860,7 +860,7 @@ pack.indexVersion:: whenever the corresponding pack is larger than 2 GB. Otherwise the default is 1. -pack.packSizeLimit: +pack.packSizeLimit:: The default maximum size of a pack. This setting only affects packing to a file, i.e. the git:// protocol is unaffected. It can be overridden by the `\--max-pack-size` option of From 25ee9731c137d0a24b0f4879eb0b0cce9b77d5b0 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 12 Mar 2008 21:55:47 +0100 Subject: [PATCH 27/76] gc: call "prune --expire 2.weeks.ago" by default The only reason we did not call "prune" in git-gc was that it is an inherently dangerous operation: if there is a commit going on, you will prune loose objects that were just created, and are, in fact, needed by the commit object just about to be created. Since it is dangerous, we told users so. That led to many users not even daring to run it when it was actually safe. Besides, they are users, and should not have to remember such details as when to call git-gc with --prune, or to call git-prune directly. Of course, the consequence was that "git gc --auto" gets triggered much more often than we would like, since unreferenced loose objects (such as left-overs from a rebase or a reset --hard) were never pruned. Alas, git-prune recently learnt the option --expire , which makes it a much safer operation. This allows us to call prune from git-gc, with a grace period of 2 weeks for the unreferenced loose objects (this value was determined in a discussion on the git list as a safe one). If you want to override this grace period, just set the config variable gc.pruneExpire to a different value; an example would be [gc] pruneExpire = 6.months.ago or even "never", if you feel really paranoid. Note that this new behaviour makes "--prune" be a no-op. While adding a test to t5304-prune.sh (since it really tests the implicit call to "prune"), also the original test for "prune --expire" was moved there from t1410-reflog.sh, where it did not belong. Signed-off-by: Johannes Schindelin --- Documentation/config.txt | 4 ++++ Documentation/git-gc.txt | 17 ++++---------- builtin-gc.c | 17 ++++++++++++-- t/t1410-reflog.sh | 18 --------------- t/t5304-prune.sh | 49 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 73 insertions(+), 32 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index 35824258ca..bfad0e3858 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -590,6 +590,10 @@ gc.packrefs:: at some stage, and setting this to `false` will continue to prevent `git pack-refs` from being run from `git gc`. +gc.pruneexpire:: + When `git gc` is run, it will call `prune --expire 2.weeks.ago`. + Override the grace period with this config variable. + gc.reflogexpire:: `git reflog expire` removes reflog entries older than this time; defaults to 90 days. diff --git a/Documentation/git-gc.txt b/Documentation/git-gc.txt index 2e7be916aa..229a7c9b30 100644 --- a/Documentation/git-gc.txt +++ b/Documentation/git-gc.txt @@ -8,7 +8,7 @@ git-gc - Cleanup unnecessary files and optimize the local repository SYNOPSIS -------- -'git-gc' [--prune] [--aggressive] [--auto] [--quiet] +'git-gc' [--aggressive] [--auto] [--quiet] DESCRIPTION ----------- @@ -25,17 +25,6 @@ operating performance. Some git commands may automatically run OPTIONS ------- ---prune:: - Usually `git-gc` packs refs, expires old reflog entries, - packs loose objects, - and removes old 'rerere' records. Removal - of unreferenced loose objects is an unsafe operation - while other git operations are in progress, so it is not - done by default. Pass this option if you want it, and only - when you know nobody else is creating new objects in the - repository at the same time (e.g. never use this option - in a cron script). - --aggressive:: Usually 'git-gc' runs very quickly while providing good disk space utilization and performance. This option will cause @@ -104,6 +93,10 @@ the value, the more time is spent optimizing the delta compression. See the documentation for the --window' option in linkgit:git-repack[1] for more details. This defaults to 10. +The optional configuration variable 'gc.pruneExpire' controls how old +the unreferenced loose objects have to be before they are pruned. The +default is "2 weeks ago". + See Also -------- linkgit:git-prune[1] diff --git a/builtin-gc.c b/builtin-gc.c index 045bf0e487..95917d74a8 100644 --- a/builtin-gc.c +++ b/builtin-gc.c @@ -26,12 +26,13 @@ static int pack_refs = 1; static int aggressive_window = -1; static int gc_auto_threshold = 6700; static int gc_auto_pack_limit = 20; +static char *prune_expire = "2.weeks.ago"; #define MAX_ADD 10 static const char *argv_pack_refs[] = {"pack-refs", "--all", "--prune", NULL}; static const char *argv_reflog[] = {"reflog", "expire", "--all", NULL}; static const char *argv_repack[MAX_ADD] = {"repack", "-d", "-l", NULL}; -static const char *argv_prune[] = {"prune", NULL}; +static const char *argv_prune[] = {"prune", "--expire", NULL, NULL}; static const char *argv_rerere[] = {"rerere", "gc", NULL}; static int gc_config(const char *var, const char *value) @@ -55,6 +56,17 @@ static int gc_config(const char *var, const char *value) gc_auto_pack_limit = git_config_int(var, value); return 0; } + if (!strcmp(var, "gc.pruneexpire")) { + if (!value) + return config_error_nonbool(var); + if (strcmp(value, "now")) { + unsigned long now = approxidate("now"); + if (approxidate(value) >= now) + return error("Invalid %s: '%s'", var, value); + } + prune_expire = xstrdup(value); + return 0; + } return git_default_config(var, value); } @@ -234,7 +246,8 @@ int cmd_gc(int argc, const char **argv, const char *prefix) if (run_command_v_opt(argv_repack, RUN_GIT_CMD)) return error(FAILED_RUN, argv_repack[0]); - if (prune && run_command_v_opt(argv_prune, RUN_GIT_CMD)) + argv_prune[2] = prune_expire; + if (run_command_v_opt(argv_prune, RUN_GIT_CMD)) return error(FAILED_RUN, argv_prune[0]); if (run_command_v_opt(argv_rerere, RUN_GIT_CMD)) diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index 24476bede5..73f830db23 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -202,22 +202,4 @@ test_expect_success 'delete' ' ' -test_expect_success 'prune --expire' ' - - before=$(git count-objects | sed "s/ .*//") && - BLOB=$(echo aleph | git hash-object -w --stdin) && - BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") && - test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && - test -f $BLOB_FILE && - git reset --hard && - git prune --expire=1.hour.ago && - test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && - test -f $BLOB_FILE && - test-chmtime -86500 $BLOB_FILE && - git prune --expire 1.day && - test $before = $(git count-objects | sed "s/ .*//") && - ! test -f $BLOB_FILE - -' - test_done diff --git a/t/t5304-prune.sh b/t/t5304-prune.sh index 6560af756e..47090c4cf5 100644 --- a/t/t5304-prune.sh +++ b/t/t5304-prune.sh @@ -29,4 +29,53 @@ test_expect_success 'prune stale packs' ' ' +test_expect_success 'prune --expire' ' + + before=$(git count-objects | sed "s/ .*//") && + BLOB=$(echo aleph | git hash-object -w --stdin) && + BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + git prune --expire=1.hour.ago && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + test-chmtime -86500 $BLOB_FILE && + git prune --expire 1.day && + test $before = $(git count-objects | sed "s/ .*//") && + ! test -f $BLOB_FILE + +' + +test_expect_success 'gc: implicit prune --expire' ' + + before=$(git count-objects | sed "s/ .*//") && + BLOB=$(echo aleph_0 | git hash-object -w --stdin) && + BLOB_FILE=.git/objects/$(echo $BLOB | sed "s/^../&\//") && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + test-chmtime -$((86400*14-30)) $BLOB_FILE && + git gc && + test $((1 + $before)) = $(git count-objects | sed "s/ .*//") && + test -f $BLOB_FILE && + test-chmtime -$((86400*14+1)) $BLOB_FILE && + git gc && + test $before = $(git count-objects | sed "s/ .*//") && + ! test -f $BLOB_FILE + +' + +test_expect_success 'gc: refuse to start with invalid gc.pruneExpire' ' + + git config gc.pruneExpire invalid && + test_must_fail git gc + +' + +test_expect_success 'gc: start with ok gc.pruneExpire' ' + + git config gc.pruneExpire 2.days.ago && + git gc + +' + test_done From e7951290f6f87ac413a3f1e3a870619275453efe Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 13 Mar 2008 08:13:15 +0100 Subject: [PATCH 28/76] git fetch: Take '-n' to mean '--no-tags' Prior to commit 8320199 (Rewrite builtin-fetch option parsing to use parse_options().), we understood '-n' as a short option to mean "don't fetch tags from the remote". This patch reinstates behaviour similar, but not identical to the pre commit 8320199 times. Back then, -n always overrode --tags, so if both --tags and -n was given on command-line, no tags were fetched regardless of argument ordering. Now we use a "last entry wins" strategy, so '-n --tags' means "fetch tags". Since it's patently absurd to say both --tags and --no-tags, this shouldn't matter in practice. Spotted-by: Artem Zolochevskiy Reported-by: Dmitry V. Levin Signed-off-by: Johannes Schindelin Tested-by: Andreas Ericsson Signed-off-by: Junio C Hamano --- builtin-fetch.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/builtin-fetch.c b/builtin-fetch.c index 320e235682..9a6ddcec92 100644 --- a/builtin-fetch.c +++ b/builtin-fetch.c @@ -40,6 +40,8 @@ static struct option builtin_fetch_options[] = { "force overwrite of local branch"), OPT_SET_INT('t', "tags", &tags, "fetch all tags and associated objects", TAGS_SET), + OPT_SET_INT('n', NULL, &tags, + "do not fetch all tags (--no-tags)", TAGS_UNSET), OPT_BOOLEAN('k', "keep", &keep, "keep downloaded pack"), OPT_BOOLEAN('u', "update-head-ok", &update_head_ok, "allow updating of HEAD ref"), From e8e29c7b5507ed97067391490adbeeca2b1bca34 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:30:10 -0400 Subject: [PATCH 29/76] t0050: perl portability fix Older versions of perl (such as 5.005) don't understand -CO, nor do they understand the "U" pack specifier. Instead of using perl, let's just printf the binary bytes we are interested in. Signed-off-by: Jeff King Tested-by: Johannes Sixt Signed-off-by: Junio C Hamano --- t/t0050-filesystem.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/t/t0050-filesystem.sh b/t/t0050-filesystem.sh index cd088b37f0..3fbad77811 100755 --- a/t/t0050-filesystem.sh +++ b/t/t0050-filesystem.sh @@ -4,8 +4,8 @@ test_description='Various filesystem issues' . ./test-lib.sh -auml=`perl -CO -e 'print pack("U",0x00E4)'` -aumlcdiar=`perl -CO -e 'print pack("U",0x0061).pack("U",0x0308)'` +auml=`printf '\xc3\xa4'` +aumlcdiar=`printf '\x61\xcc\x88'` test_expect_success 'see if we expect ' ' From e85fe4d85bc7654af20ccf8054ab6922665405e5 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:31:06 -0400 Subject: [PATCH 30/76] more tr portability test script fixes Dealing with NULs is not always safe with tr. On Solaris, incoming NULs are silently deleted by both the System V and UCB versions of tr. When converting to NULs, the System V version works fine, but the UCB version silently ignores the request to convert the character. This patch changes all instances of tr using NULs to use "perl -pe 'y///'" instead. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/diff-lib.sh | 4 ++-- t/t0020-crlf.sh | 2 +- t/t1300-repo-config.sh | 4 ++-- t/t3300-funny-names.sh | 6 +++--- t/t4020-diff-external.sh | 2 +- t/t4103-apply-binary.sh | 4 ++-- t/t4116-apply-reverse.sh | 4 ++-- t/t4200-rerere.sh | 2 +- t/t5300-pack-object.sh | 2 +- test-sha1.sh | 4 ++-- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/t/diff-lib.sh b/t/diff-lib.sh index 7dc6d7eb1e..28b941c493 100644 --- a/t/diff-lib.sh +++ b/t/diff-lib.sh @@ -21,8 +21,8 @@ compare_diff_raw_z () { # Also we do not check SHA1 hash generation in this test, which # is a job for t0000-basic.sh - tr '\000' '\012' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1 - tr '\000' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2 + perl -pe 'y/\000/\012/' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1 + perl -pe 'y/\000/\012/' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2 git diff .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2 } diff --git a/t/t0020-crlf.sh b/t/t0020-crlf.sh index 90ea081db6..2bfeac986e 100755 --- a/t/t0020-crlf.sh +++ b/t/t0020-crlf.sh @@ -5,7 +5,7 @@ test_description='CRLF conversion' . ./test-lib.sh q_to_nul () { - tr Q '\000' + perl -pe 'y/Q/\000/' } q_to_cr () { diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh index 4928a57114..b36a9012ec 100755 --- a/t/t1300-repo-config.sh +++ b/t/t1300-repo-config.sh @@ -657,12 +657,12 @@ Qsection.sub=section.val4 Qsection.sub=section.val5Q EOF -git config --null --list | tr '\000' 'Q' > result +git config --null --list | perl -pe 'y/\000/Q/' > result echo >>result test_expect_success '--null --list' 'cmp result expect' -git config --null --get-regexp 'val[0-9]' | tr '\000' 'Q' > result +git config --null --get-regexp 'val[0-9]' | perl -pe 'y/\000/Q/' > result echo >>result test_expect_success '--null --get-regexp' 'cmp result expect' diff --git a/t/t3300-funny-names.sh b/t/t3300-funny-names.sh index 98c133db50..24a00a9df1 100755 --- a/t/t3300-funny-names.sh +++ b/t/t3300-funny-names.sh @@ -54,7 +54,7 @@ echo 'just space no-funny tabs ," (dq) and spaces' >expected test_expect_success 'git ls-files -z with-funny' \ - 'git ls-files -z | tr \\000 \\012 >current && + 'git ls-files -z | perl -pe y/\\000/\\012/ >current && git diff expected current' t1=`git write-tree` @@ -83,11 +83,11 @@ test_expect_success 'git diff-tree with-funny' \ echo 'A tabs ," (dq) and spaces' >expected test_expect_success 'git diff-index -z with-funny' \ - 'git diff-index -z --name-status $t0 | tr \\000 \\012 >current && + 'git diff-index -z --name-status $t0 | perl -pe y/\\000/\\012/ >current && git diff expected current' test_expect_success 'git diff-tree -z with-funny' \ - 'git diff-tree -z --name-status $t0 $t1 | tr \\000 \\012 >current && + 'git diff-tree -z --name-status $t0 $t1 | perl -pe y/\\000/\\012/ >current && git diff expected current' cat > expected <<\EOF diff --git a/t/t4020-diff-external.sh b/t/t4020-diff-external.sh index 888293361d..bf8f778a47 100755 --- a/t/t4020-diff-external.sh +++ b/t/t4020-diff-external.sh @@ -99,7 +99,7 @@ test_expect_success 'no diff with -diff' ' git diff | grep Binary ' -echo NULZbetweenZwords | tr Z '\000' > file +echo NULZbetweenZwords | perl -pe 'y/Z/\000/' > file test_expect_success 'force diff with "diff"' ' echo >.gitattributes "file diff" && diff --git a/t/t4103-apply-binary.sh b/t/t4103-apply-binary.sh index 7c25634fc2..1b58233da6 100755 --- a/t/t4103-apply-binary.sh +++ b/t/t4103-apply-binary.sh @@ -24,10 +24,10 @@ git update-index --add --remove file1 file2 file4 git-commit -m 'Initial Version' 2>/dev/null git-checkout -b binary -tr 'x' '\000' file3 +perl -pe 'y/x/\000/' file3 cat file3 >file4 git add file2 -tr '\000' 'v' file1 +perl -pe 'y/\000/v/' file1 rm -f file2 git update-index --add --remove file1 file2 file3 file4 git-commit -m 'Second Version' diff --git a/t/t4116-apply-reverse.sh b/t/t4116-apply-reverse.sh index b1d35ab04d..c3f4579007 100755 --- a/t/t4116-apply-reverse.sh +++ b/t/t4116-apply-reverse.sh @@ -12,14 +12,14 @@ test_description='git apply in reverse test_expect_success setup ' for i in a b c d e f g h i j k l m n; do echo $i; done >file1 && - tr "ijk" '\''\000\001\002'\'' file2 && + perl -pe "y/ijk/\\000\\001\\002/" file2 && git add file1 file2 && git commit -m initial && git tag initial && for i in a b c g h i J K L m o n p q; do echo $i; done >file1 && - tr "mon" '\''\000\001\002'\'' file2 && + perl -pe "y/mon/\\000\\001\\002/" file2 && git commit -a -m second && git tag second && diff --git a/t/t4200-rerere.sh b/t/t4200-rerere.sh index eeff3c9c07..3cbfee704e 100755 --- a/t/t4200-rerere.sh +++ b/t/t4200-rerere.sh @@ -129,7 +129,7 @@ test_expect_success 'rerere kicked in' "! grep ======= a1" test_expect_success 'rerere prefers first change' 'git diff a1 expect' rm $rr/postimage -echo "$sha1 a1" | tr '\012' '\000' > .git/rr-cache/MERGE_RR +echo "$sha1 a1" | perl -pe 'y/\012/\000/' > .git/rr-cache/MERGE_RR test_expect_success 'rerere clear' 'git rerere clear' diff --git a/t/t5300-pack-object.sh b/t/t5300-pack-object.sh index cd3c149800..c955fe44f5 100755 --- a/t/t5300-pack-object.sh +++ b/t/t5300-pack-object.sh @@ -15,7 +15,7 @@ test_expect_success \ 'rm -f .git/index* for i in a b c do - dd if=/dev/zero bs=4k count=1 | tr "\\000" $i >$i && + dd if=/dev/zero bs=4k count=1 | perl -pe "y/\\000/$i/" >$i && git update-index --add $i || return 1 done && cat c >d && echo foo >>d && git update-index --add d && diff --git a/test-sha1.sh b/test-sha1.sh index bf526c8f5e..0f0bc5d02f 100755 --- a/test-sha1.sh +++ b/test-sha1.sh @@ -10,7 +10,7 @@ do { test -z "$pfx" || echo "$pfx" dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null | - tr '\000' 'g' + perl -pe 'y/\000/g/' } | ./test-sha1 $cnt ` if test "$expect" = "$actual" @@ -55,7 +55,7 @@ do { test -z "$pfx" || echo "$pfx" dd if=/dev/zero bs=1048576 count=$cnt 2>/dev/null | - tr '\000' 'g' + perl -pe 'y/\000/g/' } | sha1sum | sed -e 's/ .*//' ` From aadbe44f883859536c5320e0ac1d6ed122c45671 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:32:17 -0400 Subject: [PATCH 31/76] grep portability fix: don't use "-e" or "-q" System V versions of grep (such as Solaris /usr/bin/grep) don't understand either of these options. git's usage of "grep -e pattern" fell into one of two categories: 1. equivalent to "grep pattern". -e is only useful here if the pattern begins with a "-", but all of the patterns are hardcoded and do not begin with a dash. 2. stripping comments and blank lines with grep -v -e "^$" -e "^#" We can fortunately do this in the affirmative as grep '^[^#]' Uses of "-q" can be replaced with redirection to /dev/null. In many tests, however, "grep -q" is used as "if this string is in the expected output, we are OK". In this case, it is fine to just remove the "-q" entirely; it simply makes the "verbose" mode of the test slightly more verbose. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- git-rebase--interactive.sh | 6 +++--- git-submodule.sh | 6 +++--- t/t0030-stripspace.sh | 34 ++++++++++++++++----------------- t/t3404-rebase-interactive.sh | 3 +-- t/t3800-mktag.sh | 2 +- t/t5400-send-pack.sh | 2 +- t/t7502-status.sh | 2 +- t/t7600-merge.sh | 4 ++-- t/t9400-git-cvsserver-server.sh | 26 ++++++++++++------------- 9 files changed, 42 insertions(+), 43 deletions(-) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index c2bedd622c..4c3280a76e 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -78,8 +78,8 @@ mark_action_done () { sed -e 1q < "$TODO" >> "$DONE" sed -e 1d < "$TODO" >> "$TODO".new mv -f "$TODO".new "$TODO" - count=$(($(grep -ve '^$' -e '^#' < "$DONE" | wc -l))) - total=$(($count+$(grep -ve '^$' -e '^#' < "$TODO" | wc -l))) + count=$(grep -c '^[^#]' < "$DONE") + total=$(($count+$(grep -c '^[^#]' < "$TODO"))) if test "$last_count" != "$count" then last_count=$count @@ -110,7 +110,7 @@ die_abort () { } has_action () { - grep -vqe '^$' -e '^#' "$1" + grep '^[^#]' "$1" >/dev/null } pick_one () { diff --git a/git-submodule.sh b/git-submodule.sh index 7171cb60ab..ceb22952aa 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -230,7 +230,7 @@ cmd_init() shift done - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | grep '^160000 ' | while read mode sha1 stage path do # Skip already registered paths @@ -284,7 +284,7 @@ cmd_update() shift done - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | grep '^160000 ' | while read mode sha1 stage path do name=$(module_name "$path") || exit @@ -367,7 +367,7 @@ cmd_status() shift done - git ls-files --stage -- "$@" | grep -e '^160000 ' | + git ls-files --stage -- "$@" | grep '^160000 ' | while read mode sha1 stage path do name=$(module_name "$path") || exit diff --git a/t/t0030-stripspace.sh b/t/t0030-stripspace.sh index 818c8621f2..3ecdd6626a 100755 --- a/t/t0030-stripspace.sh +++ b/t/t0030-stripspace.sh @@ -245,12 +245,12 @@ test_expect_success \ test_expect_success \ 'text plus spaces without newline at end should not show spaces' ' - ! (printf "$ttt$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$ttt$sss$sss$sss" | git stripspace | grep -q " ") + ! (printf "$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) ' test_expect_success \ @@ -282,12 +282,12 @@ test_expect_success \ test_expect_success \ 'text plus spaces at end should not show spaces' ' - ! (echo "$ttt$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$ttt$ttt$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$ttt$sss$sss" | git stripspace | grep -q " ") && - ! (echo "$ttt$sss$sss$sss" | git stripspace | grep -q " ") + ! (echo "$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$ttt$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$ttt$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (echo "$ttt$sss$sss$sss" | git stripspace | grep " " >/dev/null) ' test_expect_success \ @@ -341,11 +341,11 @@ test_expect_success \ test_expect_success \ 'spaces without newline at end should not show spaces' ' - ! (printf "" | git stripspace | grep -q " ") && - ! (printf "$sss" | git stripspace | grep -q " ") && - ! (printf "$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$sss$sss$sss" | git stripspace | grep -q " ") && - ! (printf "$sss$sss$sss$sss" | git stripspace | grep -q " ") + ! (printf "" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss$sss" | git stripspace | grep " " >/dev/null) && + ! (printf "$sss$sss$sss$sss" | git stripspace | grep " " >/dev/null) ' test_expect_success \ diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 049aa37538..f09823106f 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -149,8 +149,7 @@ test_expect_success 'stop on conflicting pick' ' diff -u expect .git/.dotest-merge/patch && diff -u expect2 file1 && test 4 = $(grep -v "^#" < .git/.dotest-merge/done | wc -l) && - test 0 = $(grep -ve "^#" -e "^$" < .git/.dotest-merge/git-rebase-todo | - wc -l) + test 0 = $(grep -c "^[^#]" < .git/.dotest-merge/git-rebase-todo) ' test_expect_success 'abort' ' diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index f2803206f1..278075823b 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -15,7 +15,7 @@ check_verify_failure () { expect="$2" test_expect_success "$1" ' ( ! git-mktag message ) && - grep -q "$expect" message + grep "$expect" message ' } diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh index 2d0c07fd6a..2b6b6e3f71 100755 --- a/t/t5400-send-pack.sh +++ b/t/t5400-send-pack.sh @@ -120,7 +120,7 @@ test_expect_success \ cd .. && git-clone parent child && cd child && git-push --all && cd ../parent && - git-branch -a >branches && ! grep -q origin/master branches + git-branch -a >branches && ! grep origin/master branches ' rewound_push_setup() { diff --git a/t/t7502-status.sh b/t/t7502-status.sh index e00607490b..70b802ba3d 100755 --- a/t/t7502-status.sh +++ b/t/t7502-status.sh @@ -33,7 +33,7 @@ test_expect_success 'setup' ' test_expect_success 'status (1)' ' - grep -e "use \"git rm --cached \.\.\.\" to unstage" output + grep "use \"git rm --cached \.\.\.\" to unstage" output ' diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 5d166280cb..590505bea6 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -371,7 +371,7 @@ test_expect_success 'override config option -n' ' git merge --summary c2 >diffstat.txt && verify_merge file result.1-5 msg.1-5 && verify_parents $c1 $c2 && - if ! grep -e "^ file | *2 +-$" diffstat.txt + if ! grep "^ file | *2 +-$" diffstat.txt then echo "[OOPS] diffstat was not generated" fi @@ -386,7 +386,7 @@ test_expect_success 'override config option --summary' ' git merge -n c2 >diffstat.txt && verify_merge file result.1-5 msg.1-5 && verify_parents $c1 $c2 && - if grep -e "^ file | *2 +-$" diffstat.txt + if grep "^ file | *2 +-$" diffstat.txt then echo "[OOPS] diffstat was generated" false diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh index 0a20971ebb..e82b365fad 100755 --- a/t/t9400-git-cvsserver-server.sh +++ b/t/t9400-git-cvsserver-server.sh @@ -94,7 +94,7 @@ EOF test_expect_success 'pserver authentication' \ 'cat request-anonymous | git-cvsserver pserver >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + tail -n1 log | grep "^I LOVE YOU$"' test_expect_success 'pserver authentication failure (non-anonymous user)' \ 'if cat request-git | git-cvsserver pserver >log 2>&1 @@ -103,11 +103,11 @@ test_expect_success 'pserver authentication failure (non-anonymous user)' \ else true fi && - tail -n1 log | grep -q "^I HATE YOU$"' + tail -n1 log | grep "^I HATE YOU$"' test_expect_success 'pserver authentication (login)' \ 'cat login-anonymous | git-cvsserver pserver >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + tail -n1 log | grep "^I LOVE YOU$"' test_expect_success 'pserver authentication failure (login/non-anonymous user)' \ 'if cat login-git | git-cvsserver pserver >log 2>&1 @@ -116,7 +116,7 @@ test_expect_success 'pserver authentication failure (login/non-anonymous user)' else true fi && - tail -n1 log | grep -q "^I HATE YOU$"' + tail -n1 log | grep "^I HATE YOU$"' # misuse pserver authentication for testing of req_Root @@ -146,15 +146,15 @@ test_expect_success 'req_Root failure (relative pathname)' \ else true fi && - tail log | grep -q "^error 1 Root must be an absolute pathname$"' + tail log | grep "^error 1 Root must be an absolute pathname$"' test_expect_success 'req_Root failure (conflicting roots)' \ 'cat request-conflict | git-cvsserver pserver >log 2>&1 && - tail log | grep -q "^error 1 Conflicting roots specified$"' + tail log | grep "^error 1 Conflicting roots specified$"' test_expect_success 'req_Root (strict paths)' \ 'cat request-anonymous | git-cvsserver --strict-paths pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + tail -n1 log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (strict-paths)' ' ! cat request-anonymous | @@ -163,7 +163,7 @@ test_expect_success 'req_Root failure (strict-paths)' ' test_expect_success 'req_Root (w/o strict-paths)' \ 'cat request-anonymous | git-cvsserver pserver $WORKDIR/ >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + tail -n1 log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (w/o strict-paths)' ' ! cat request-anonymous | @@ -181,7 +181,7 @@ EOF test_expect_success 'req_Root (base-path)' \ 'cat request-base | git-cvsserver --strict-paths --base-path $WORKDIR/ pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + tail -n1 log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (base-path)' ' ! cat request-anonymous | @@ -192,14 +192,14 @@ GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled false || exit 1 test_expect_success 'req_Root (export-all)' \ 'cat request-anonymous | git-cvsserver --export-all pserver $WORKDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + tail -n1 log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (export-all w/o whitelist)' \ '! (cat request-anonymous | git-cvsserver --export-all pserver >log 2>&1 || false)' test_expect_success 'req_Root (everything together)' \ 'cat request-base | git-cvsserver --export-all --strict-paths --base-path $WORKDIR/ pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep -q "^I LOVE YOU$"' + tail -n1 log | grep "^I LOVE YOU$"' GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true || exit 1 @@ -216,7 +216,7 @@ test_expect_success 'gitcvs.enabled = false' \ else true fi && - cat cvs.log | grep -q "GITCVS emulation disabled" && + grep "GITCVS emulation disabled" cvs.log && test ! -d cvswork2' rm -fr cvswork2 @@ -237,7 +237,7 @@ test_expect_success 'gitcvs.ext.enabled = false' \ else true fi && - cat cvs.log | grep -q "GITCVS emulation disabled" && + grep "GITCVS emulation disabled" cvs.log && test ! -d cvswork2' rm -fr cvswork2 From b4ce54fc61e7c76e2d7f47c34733f0f0bbb6c4cd Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:34:34 -0400 Subject: [PATCH 32/76] remove use of "tail -n 1" and "tail -1" The "-n" syntax is not supported by System V versions of tail (which prefer "tail -1"). Unfortunately "tail -1" is not actually POSIX. We had some of both forms in our scripts. Since neither form works everywhere, this patch replaces both with the equivalent sed invocation: sed -ne '$p' Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- git-am.sh | 2 +- git-rebase--interactive.sh | 2 +- t/t3404-rebase-interactive.sh | 4 ++-- t/t5302-pack-index.sh | 4 ++-- t/t6030-bisect-porcelain.sh | 6 +++--- t/t7600-merge.sh | 2 +- t/t9400-git-cvsserver-server.sh | 20 ++++++++++---------- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/git-am.sh b/git-am.sh index 1f6b5e02c5..ac5c388060 100755 --- a/git-am.sh +++ b/git-am.sh @@ -357,7 +357,7 @@ do LAST_SIGNED_OFF_BY=` sed -ne '/^Signed-off-by: /p' \ "$dotest/msg-clean" | - tail -n 1 + sed -ne '$p' ` ADD_SIGNOFF=` test "$LAST_SIGNED_OFF_BY" = "$SIGNOFF" || { diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index 4c3280a76e..8aa73712ca 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -218,7 +218,7 @@ nth_string () { make_squash_message () { if test -f "$SQUASH_MSG"; then COUNT=$(($(sed -n "s/^# This is [^0-9]*\([1-9][0-9]*\).*/\1/p" \ - < "$SQUASH_MSG" | tail -n 1)+1)) + < "$SQUASH_MSG" | sed -ne '$p')+1)) echo "# This is a combination of $COUNT commits." sed -e 1d -e '2,/^./{ /^$/d diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index f09823106f..9c0acc5a7e 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -122,8 +122,8 @@ test_expect_success 'reflog for the branch shows state before rebase' ' test_expect_success 'exchange two commits' ' FAKE_LINES="2 1" git rebase -i HEAD~2 && - test H = $(git cat-file commit HEAD^ | tail -n 1) && - test G = $(git cat-file commit HEAD | tail -n 1) + test H = $(git cat-file commit HEAD^ | sed -ne \$p) && + test G = $(git cat-file commit HEAD | sed -ne \$p) ' cat > expect << EOF diff --git a/t/t5302-pack-index.sh b/t/t5302-pack-index.sh index 67b9a7b84a..b88b5bbd02 100755 --- a/t/t5302-pack-index.sh +++ b/t/t5302-pack-index.sh @@ -103,7 +103,7 @@ test_expect_success \ test_expect_success \ '[index v1] 2) create a stealth corruption in a delta base reference' \ '# this test assumes a delta smaller than 16 bytes at the end of the pack - git show-index <1.idx | sort -n | tail -n 1 | ( + git show-index <1.idx | sort -n | sed -ne \$p | ( read delta_offs delta_sha1 && git cat-file blob "$delta_sha1" > blob_1 && chmod +w ".git/objects/pack/pack-${pack1}.pack" && @@ -141,7 +141,7 @@ test_expect_success \ test_expect_success \ '[index v2] 2) create a stealth corruption in a delta base reference' \ '# this test assumes a delta smaller than 16 bytes at the end of the pack - git show-index <1.idx | sort -n | tail -n 1 | ( + git show-index <1.idx | sort -n | sed -ne \$p | ( read delta_offs delta_sha1 delta_crc && git cat-file blob "$delta_sha1" > blob_3 && chmod +w ".git/objects/pack/pack-${pack1}.pack" && diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 4908e878fe..f471c1526f 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -219,7 +219,7 @@ test_expect_success 'bisect run & skip: cannot tell between 2' ' add_line_into_file "6: Yet a line." hello && HASH6=$(git rev-parse --verify HEAD) && echo "#"\!"/bin/sh" > test_script.sh && - echo "tail -1 hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && + echo "sed -ne \\\$p hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && echo "grep line hello > /dev/null" >> test_script.sh && echo "test \$? -ne 0" >> test_script.sh && chmod +x test_script.sh && @@ -244,8 +244,8 @@ test_expect_success 'bisect run & skip: find first bad' ' add_line_into_file "7: Should be the last line." hello && HASH7=$(git rev-parse --verify HEAD) && echo "#"\!"/bin/sh" > test_script.sh && - echo "tail -1 hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && - echo "tail -1 hello | grep day > /dev/null && exit 125" >> test_script.sh && + echo "sed -ne \\\$p hello | grep Ciao > /dev/null && exit 125" >> test_script.sh && + echo "sed -ne \\\$p hello | grep day > /dev/null && exit 125" >> test_script.sh && echo "grep Yet hello > /dev/null" >> test_script.sh && echo "test \$? -ne 0" >> test_script.sh && chmod +x test_script.sh && diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 590505bea6..219411fd02 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -165,7 +165,7 @@ verify_mergeheads() { fi && while test $# -gt 0 do - head=$(head -n $i .git/MERGE_HEAD | tail -n 1) + head=$(head -n $i .git/MERGE_HEAD | sed -ne \$p) if test "$1" != "$head" then echo "[OOPS] MERGE_HEAD $i != $1" diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh index e82b365fad..b91b151417 100755 --- a/t/t9400-git-cvsserver-server.sh +++ b/t/t9400-git-cvsserver-server.sh @@ -54,7 +54,7 @@ test_expect_success 'setup' ' test_expect_success 'basic checkout' \ 'GIT_CONFIG="$git_config" cvs -Q co -d cvswork master && test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | head -n 1))" = "empty/1.1/" - test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | tail -n 1))" = "secondrootfile/1.1/"' + test "$(echo $(grep -v ^D cvswork/CVS/Entries|cut -d/ -f2,3,5 | sed -ne \$p))" = "secondrootfile/1.1/"' #------------------------ # PSERVER AUTHENTICATION @@ -94,7 +94,7 @@ EOF test_expect_success 'pserver authentication' \ 'cat request-anonymous | git-cvsserver pserver >log 2>&1 && - tail -n1 log | grep "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'pserver authentication failure (non-anonymous user)' \ 'if cat request-git | git-cvsserver pserver >log 2>&1 @@ -103,11 +103,11 @@ test_expect_success 'pserver authentication failure (non-anonymous user)' \ else true fi && - tail -n1 log | grep "^I HATE YOU$"' + sed -ne \$p log | grep "^I HATE YOU$"' test_expect_success 'pserver authentication (login)' \ 'cat login-anonymous | git-cvsserver pserver >log 2>&1 && - tail -n1 log | grep "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'pserver authentication failure (login/non-anonymous user)' \ 'if cat login-git | git-cvsserver pserver >log 2>&1 @@ -116,7 +116,7 @@ test_expect_success 'pserver authentication failure (login/non-anonymous user)' else true fi && - tail -n1 log | grep "^I HATE YOU$"' + sed -ne \$p log | grep "^I HATE YOU$"' # misuse pserver authentication for testing of req_Root @@ -154,7 +154,7 @@ test_expect_success 'req_Root failure (conflicting roots)' \ test_expect_success 'req_Root (strict paths)' \ 'cat request-anonymous | git-cvsserver --strict-paths pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (strict-paths)' ' ! cat request-anonymous | @@ -163,7 +163,7 @@ test_expect_success 'req_Root failure (strict-paths)' ' test_expect_success 'req_Root (w/o strict-paths)' \ 'cat request-anonymous | git-cvsserver pserver $WORKDIR/ >log 2>&1 && - tail -n1 log | grep "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (w/o strict-paths)' ' ! cat request-anonymous | @@ -181,7 +181,7 @@ EOF test_expect_success 'req_Root (base-path)' \ 'cat request-base | git-cvsserver --strict-paths --base-path $WORKDIR/ pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (base-path)' ' ! cat request-anonymous | @@ -192,14 +192,14 @@ GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled false || exit 1 test_expect_success 'req_Root (export-all)' \ 'cat request-anonymous | git-cvsserver --export-all pserver $WORKDIR >log 2>&1 && - tail -n1 log | grep "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' test_expect_success 'req_Root failure (export-all w/o whitelist)' \ '! (cat request-anonymous | git-cvsserver --export-all pserver >log 2>&1 || false)' test_expect_success 'req_Root (everything together)' \ 'cat request-base | git-cvsserver --export-all --strict-paths --base-path $WORKDIR/ pserver $SERVERDIR >log 2>&1 && - tail -n1 log | grep "^I LOVE YOU$"' + sed -ne \$p log | grep "^I LOVE YOU$"' GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true || exit 1 From 82ebb0b6ec7470cab96a013d3d719c109003ef83 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:36:36 -0400 Subject: [PATCH 33/76] add test_cmp function for test scripts Many scripts compare actual and expected output using "diff -u". This is nicer than "cmp" because the output shows how the two differ. However, not all versions of diff understand -u, leading to unnecessary test failure. This adds a test_cmp function to the test scripts and switches all "diff -u" invocations to use it. The function uses the contents of "$GIT_TEST_CMP" to compare its arguments; the default is "diff -u". On systems with a less-capable diff, you can do: GIT_TEST_CMP=cmp make test Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/t0003-attributes.sh | 2 +- t/t0022-crlf-rename.sh | 2 +- t/t1005-read-tree-reset.sh | 2 +- t/t2200-add-update.sh | 2 +- t/t3001-ls-files-others-exclude.sh | 2 +- t/t3050-subprojects-fetch.sh | 4 ++-- t/t3060-ls-files-with-tree.sh | 2 +- t/t3201-branch-contains.sh | 6 +++--- t/t3404-rebase-interactive.sh | 4 ++-- t/t3405-rebase-malformed.sh | 4 ++-- t/t3406-rebase-message.sh | 2 +- t/t3701-add-interactive.sh | 4 ++-- t/t3902-quoted.sh | 16 ++++++++-------- t/t3903-stash.sh | 2 +- t/t4023-diff-rename-typechange.sh | 6 +++--- t/t4024-diff-optimize-common.sh | 2 +- t/t4025-hunk-header.sh | 2 +- t/t4027-diff-submodule.sh | 6 +++--- t/t4105-apply-fuzz.sh | 2 +- t/t4125-apply-ws-fuzz.sh | 8 ++++---- t/t4150-am-subdir.sh | 10 +++++----- t/t4201-shortlog.sh | 2 +- t/t5505-remote.sh | 6 +++--- t/t5510-fetch.sh | 2 +- t/t5512-ls-remote.sh | 8 ++++---- t/t6004-rev-list-path-optim.sh | 2 +- t/t6009-rev-list-parent.sh | 2 +- t/t6027-merge-binary.sh | 4 ++-- t/t6029-merge-subtree.sh | 2 +- t/t7010-setup.sh | 18 +++++++++--------- t/t7201-co.sh | 18 +++++++++--------- t/t7501-commit.sh | 14 +++++++------- t/t7502-commit.sh | 14 +++++++------- t/t7502-status.sh | 2 +- t/t7600-merge.sh | 2 +- t/t8003-blame.sh | 4 ++-- t/t9001-send-email.sh | 2 +- t/t9116-git-svn-log.sh | 24 ++++++++++++------------ t/t9200-git-cvsexportcommit.sh | 14 +++++++------- t/test-lib.sh | 18 ++++++++++++++++++ 40 files changed, 133 insertions(+), 115 deletions(-) diff --git a/t/t0003-attributes.sh b/t/t0003-attributes.sh index 47f08a46c2..3faf135e38 100755 --- a/t/t0003-attributes.sh +++ b/t/t0003-attributes.sh @@ -11,7 +11,7 @@ attr_check () { git check-attr test -- "$path" >actual && echo "$path: test: $2" >expect && - diff -u expect actual + test_cmp expect actual } diff --git a/t/t0022-crlf-rename.sh b/t/t0022-crlf-rename.sh index 430a1d1d38..7d1ce2d056 100755 --- a/t/t0022-crlf-rename.sh +++ b/t/t0022-crlf-rename.sh @@ -26,7 +26,7 @@ test_expect_success 'diff -M' ' git diff-tree -M -r --name-status HEAD^ HEAD | sed -e "s/R[0-9]*/RNUM/" >actual && echo "RNUM sample elpmas" >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t1005-read-tree-reset.sh b/t/t1005-read-tree-reset.sh index 8c4556408e..b0d31f5a9b 100755 --- a/t/t1005-read-tree-reset.sh +++ b/t/t1005-read-tree-reset.sh @@ -24,7 +24,7 @@ test_expect_success 'setup' ' test_expect_success 'reset should work' ' git read-tree -u --reset HEAD^ && git ls-files >actual && - diff -u expect actual + test_cmp expect actual ' test_done diff --git a/t/t2200-add-update.sh b/t/t2200-add-update.sh index 24f892f793..b664341926 100755 --- a/t/t2200-add-update.sh +++ b/t/t2200-add-update.sh @@ -62,7 +62,7 @@ test_expect_success 'cache tree has not been corrupted' ' sed -e "s/ 0 / /" >expect && git ls-tree -r $(git write-tree) | sed -e "s/ blob / /" >current && - diff -u expect current + test_cmp expect current ' diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh index b4297bacf2..55f057cebe 100755 --- a/t/t3001-ls-files-others-exclude.sh +++ b/t/t3001-ls-files-others-exclude.sh @@ -97,7 +97,7 @@ cat > expect << EOF EOF test_expect_success 'git-status honours core.excludesfile' \ - 'diff -u expect output' + 'test_cmp expect output' test_expect_success 'trailing slash in exclude allows directory match(1)' ' diff --git a/t/t3050-subprojects-fetch.sh b/t/t3050-subprojects-fetch.sh index 34f26a8d9e..2b21b1070d 100755 --- a/t/t3050-subprojects-fetch.sh +++ b/t/t3050-subprojects-fetch.sh @@ -26,7 +26,7 @@ test_expect_success clone ' cd cloned && (git rev-parse HEAD; git ls-files -s) >../actual ) && - diff -u expected actual + test_cmp expected actual ' test_expect_success advance ' @@ -46,7 +46,7 @@ test_expect_success fetch ' git pull && (git rev-parse HEAD; git ls-files -s) >../actual ) && - diff -u expected actual + test_cmp expected actual ' test_done diff --git a/t/t3060-ls-files-with-tree.sh b/t/t3060-ls-files-with-tree.sh index 68eb266d73..3ce501bb97 100755 --- a/t/t3060-ls-files-with-tree.sh +++ b/t/t3060-ls-files-with-tree.sh @@ -66,6 +66,6 @@ test_expect_success 'git -ls-files --with-tree should succeed from subdir' ' cd .. test_expect_success \ 'git -ls-files --with-tree should add entries from named tree.' \ - 'diff -u expected output' + 'test_cmp expected output' test_done diff --git a/t/t3201-branch-contains.sh b/t/t3201-branch-contains.sh index 9ef593f0e1..b4cf628d22 100755 --- a/t/t3201-branch-contains.sh +++ b/t/t3201-branch-contains.sh @@ -31,7 +31,7 @@ test_expect_success 'branch --contains=master' ' { echo " master" && echo "* side" } >expect && - diff -u expect actual + test_cmp expect actual ' @@ -41,7 +41,7 @@ test_expect_success 'branch --contains master' ' { echo " master" && echo "* side" } >expect && - diff -u expect actual + test_cmp expect actual ' @@ -51,7 +51,7 @@ test_expect_success 'branch --contains=side' ' { echo "* side" } >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh index 9c0acc5a7e..9cf873f7eb 100755 --- a/t/t3404-rebase-interactive.sh +++ b/t/t3404-rebase-interactive.sh @@ -146,8 +146,8 @@ EOF test_expect_success 'stop on conflicting pick' ' git tag new-branch1 && ! git rebase -i master && - diff -u expect .git/.dotest-merge/patch && - diff -u expect2 file1 && + test_cmp expect .git/.dotest-merge/patch && + test_cmp expect2 file1 && test 4 = $(grep -v "^#" < .git/.dotest-merge/done | wc -l) && test 0 = $(grep -c "^[^#]" < .git/.dotest-merge/git-rebase-todo) ' diff --git a/t/t3405-rebase-malformed.sh b/t/t3405-rebase-malformed.sh index e4e2e649ed..e5ad67c643 100755 --- a/t/t3405-rebase-malformed.sh +++ b/t/t3405-rebase-malformed.sh @@ -41,8 +41,8 @@ test_expect_success rebase ' git rebase master side && git cat-file commit HEAD | sed -e "1,/^\$/d" >F1 && - diff -u F0 F1 && - diff -u F F0 + test_cmp F0 F1 && + test_cmp F F0 ' test_done diff --git a/t/t3406-rebase-message.sh b/t/t3406-rebase-message.sh index 332b2b2feb..5391080943 100755 --- a/t/t3406-rebase-message.sh +++ b/t/t3406-rebase-message.sh @@ -37,7 +37,7 @@ test_expect_success 'rebase -m' ' git rebase -m master >report && sed -n -e "/^Already applied: /p" \ -e "/^Committed: /p" report >actual && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh index c8dc1ac241..77c90f6fa0 100755 --- a/t/t3701-add-interactive.sh +++ b/t/t3701-add-interactive.sh @@ -24,7 +24,7 @@ EOF test_expect_success 'diff works (initial)' ' (echo d; echo 1) | git add -i >output && sed -ne "/new file/,/content/p" diff && - diff -u expected diff + test_cmp expected diff ' test_expect_success 'revert works (initial)' ' git add file && @@ -57,7 +57,7 @@ EOF test_expect_success 'diff works (commit)' ' (echo d; echo 1) | git add -i >output && sed -ne "/^index/,/content/p" diff && - diff -u expected diff + test_cmp expected diff ' test_expect_success 'revert works (commit)' ' git add file && diff --git a/t/t3902-quoted.sh b/t/t3902-quoted.sh index 73da45f18c..fe4fb5116a 100755 --- a/t/t3902-quoted.sh +++ b/t/t3902-quoted.sh @@ -78,28 +78,28 @@ EOF test_expect_success 'check fully quoted output from ls-files' ' - git ls-files >current && diff -u expect.quoted current + git ls-files >current && test_cmp expect.quoted current ' test_expect_success 'check fully quoted output from diff-files' ' git diff --name-only >current && - diff -u expect.quoted current + test_cmp expect.quoted current ' test_expect_success 'check fully quoted output from diff-index' ' git diff --name-only HEAD >current && - diff -u expect.quoted current + test_cmp expect.quoted current ' test_expect_success 'check fully quoted output from diff-tree' ' git diff --name-only HEAD^ HEAD >current && - diff -u expect.quoted current + test_cmp expect.quoted current ' @@ -111,28 +111,28 @@ test_expect_success 'setting core.quotepath' ' test_expect_success 'check fully quoted output from ls-files' ' - git ls-files >current && diff -u expect.raw current + git ls-files >current && test_cmp expect.raw current ' test_expect_success 'check fully quoted output from diff-files' ' git diff --name-only >current && - diff -u expect.raw current + test_cmp expect.raw current ' test_expect_success 'check fully quoted output from diff-index' ' git diff --name-only HEAD >current && - diff -u expect.raw current + test_cmp expect.raw current ' test_expect_success 'check fully quoted output from diff-tree' ' git diff --name-only HEAD^ HEAD >current && - diff -u expect.raw current + test_cmp expect.raw current ' diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index aa282e1bc1..2d3ee3b78c 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -34,7 +34,7 @@ EOF test_expect_success 'parents of stash' ' test $(git rev-parse stash^) = $(git rev-parse HEAD) && git diff stash^2..stash > output && - diff -u output expect + test_cmp output expect ' test_expect_success 'apply needs clean working directory' ' diff --git a/t/t4023-diff-rename-typechange.sh b/t/t4023-diff-rename-typechange.sh index 255604effd..4dbfc6e8b7 100755 --- a/t/t4023-diff-rename-typechange.sh +++ b/t/t4023-diff-rename-typechange.sh @@ -57,7 +57,7 @@ test_expect_success 'cross renames to be detected for regular files' ' echo "R100 foo bar" echo "R100 bar foo" } | sort >expect && - diff -u expect actual + test_cmp expect actual ' @@ -68,7 +68,7 @@ test_expect_success 'cross renames to be detected for typechange' ' echo "R100 foo bar" echo "R100 bar foo" } | sort >expect && - diff -u expect actual + test_cmp expect actual ' @@ -79,7 +79,7 @@ test_expect_success 'moves and renames' ' echo "R100 foo bar" echo "T100 foo" } | sort >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t4024-diff-optimize-common.sh b/t/t4024-diff-optimize-common.sh index 3c66102f7a..c4d733f5db 100755 --- a/t/t4024-diff-optimize-common.sh +++ b/t/t4024-diff-optimize-common.sh @@ -150,7 +150,7 @@ test_expect_success 'diff -U0' ' do git diff -U0 file-?$n done | zc >actual && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t4025-hunk-header.sh b/t/t4025-hunk-header.sh index 9ba06b74ce..7a3dbc1ea2 100755 --- a/t/t4025-hunk-header.sh +++ b/t/t4025-hunk-header.sh @@ -37,7 +37,7 @@ test_expect_success 'hunk header truncation with an overly long line' ' echo " A $N$N$N$N$N$N$N$N$N2" echo " L $N$N$N$N$N$N$N$N$N1" ) >expected && - diff -u actual expected + test_cmp actual expected ' diff --git a/t/t4027-diff-submodule.sh b/t/t4027-diff-submodule.sh index 3d2d0816a3..1fd3fb74d7 100755 --- a/t/t4027-diff-submodule.sh +++ b/t/t4027-diff-submodule.sh @@ -37,17 +37,17 @@ test_expect_success setup ' test_expect_success 'git diff --raw HEAD' ' git diff --raw --abbrev=40 HEAD >actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'git diff-index --raw HEAD' ' git diff-index --raw HEAD >actual.index && - diff -u expect actual.index + test_cmp expect actual.index ' test_expect_success 'git diff-files --raw' ' git diff-files --raw >actual.files && - diff -u expect actual.files + test_cmp expect actual.files ' test_done diff --git a/t/t4105-apply-fuzz.sh b/t/t4105-apply-fuzz.sh index 0e8d25f18b..3266e39400 100755 --- a/t/t4105-apply-fuzz.sh +++ b/t/t4105-apply-fuzz.sh @@ -9,7 +9,7 @@ dotest () { test_expect_success "$name" " git checkout-index -f -q -u file && git apply $* && - diff -u expect file + test_cmp expect file " } diff --git a/t/t4125-apply-ws-fuzz.sh b/t/t4125-apply-ws-fuzz.sh index d6f15be671..3b471b641b 100755 --- a/t/t4125-apply-ws-fuzz.sh +++ b/t/t4125-apply-ws-fuzz.sh @@ -56,7 +56,7 @@ test_expect_success nofix ' git apply --whitespace=nowarn patch-1 && # The result should obviously match. - diff -u file-1 file + test_cmp file-1 file ' test_expect_success 'withfix (forward)' ' @@ -70,7 +70,7 @@ test_expect_success 'withfix (forward)' ' git apply --whitespace=fix patch-0 && git apply --whitespace=fix patch-1 && - diff -u file-fixed file + test_cmp file-fixed file ' test_expect_success 'withfix (backward)' ' @@ -91,12 +91,12 @@ test_expect_success 'withfix (backward)' ' sed -e /h/d file-fixed >fixed-head && sed -e /h/d file >file-head && - diff -u fixed-head file-head && + test_cmp fixed-head file-head && sed -n -e /h/p file-fixed >fixed-tail && sed -n -e /h/p file >file-tail && - ! diff -u fixed-tail file-tail + ! test_cmp fixed-tail file-tail ' diff --git a/t/t4150-am-subdir.sh b/t/t4150-am-subdir.sh index 929d2cbd87..52069b469b 100755 --- a/t/t4150-am-subdir.sh +++ b/t/t4150-am-subdir.sh @@ -22,14 +22,14 @@ test_expect_success 'am regularly from stdin' ' git checkout initial && git am actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from file' ' git checkout initial && git am patchfile && git diff master >actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from stdin in subdirectory' ' @@ -41,7 +41,7 @@ test_expect_success 'am regularly from stdin in subdirectory' ' git am <../patchfile ) && git diff master>actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from file in subdirectory' ' @@ -53,7 +53,7 @@ test_expect_success 'am regularly from file in subdirectory' ' git am ../patchfile ) && git diff master >actual && - diff -u expect actual + test_cmp expect actual ' test_expect_success 'am regularly from file in subdirectory with full path' ' @@ -66,7 +66,7 @@ test_expect_success 'am regularly from file in subdirectory with full path' ' git am "$P/patchfile" ) && git diff master >actual && - diff -u expect actual + test_cmp expect actual ' test_done diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh index 6d12efb74d..91ea696314 100755 --- a/t/t4201-shortlog.sh +++ b/t/t4201-shortlog.sh @@ -45,6 +45,6 @@ A U Thor (5): EOF -test_expect_success 'shortlog wrapping' 'diff -u expect out' +test_expect_success 'shortlog wrapping' 'test_cmp expect out' test_done diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh index 2822a651b5..ecfc999aaa 100755 --- a/t/t5505-remote.sh +++ b/t/t5505-remote.sh @@ -24,7 +24,7 @@ setup_repository () { tokens_match () { echo "$1" | tr ' ' '\012' | sort | sed -e '/^$/d' >expect && echo "$2" | tr ' ' '\012' | sort | sed -e '/^$/d' >actual && - diff -u expect actual + test_cmp expect actual } check_remote_track () { @@ -73,7 +73,7 @@ test_expect_success 'add another remote' ' sed -e "/^refs\/remotes\/origin\//d" \ -e "/^refs\/remotes\/second\//d" >actual && >expect && - diff -u expect actual + test_cmp expect actual ) ' @@ -93,7 +93,7 @@ test_expect_success 'remove remote' ' git for-each-ref "--format=%(refname)" refs/remotes | sed -e "/^refs\/remotes\/origin\//d" >actual && >expect && - diff -u expect actual + test_cmp expect actual ) ' diff --git a/t/t5510-fetch.sh b/t/t5510-fetch.sh index 9b948c14e6..6946557c67 100755 --- a/t/t5510-fetch.sh +++ b/t/t5510-fetch.sh @@ -249,7 +249,7 @@ test_expect_success 'bundle should record HEAD correctly' ' do echo "$(git rev-parse --verify $h) $h" done >expect && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t5512-ls-remote.sh b/t/t5512-ls-remote.sh index 6ec5f7c48b..c0dc94909b 100755 --- a/t/t5512-ls-remote.sh +++ b/t/t5512-ls-remote.sh @@ -24,28 +24,28 @@ test_expect_success setup ' test_expect_success 'ls-remote --tags .git' ' git ls-remote --tags .git >actual && - diff -u expected.tag actual + test_cmp expected.tag actual ' test_expect_success 'ls-remote .git' ' git ls-remote .git >actual && - diff -u expected.all actual + test_cmp expected.all actual ' test_expect_success 'ls-remote --tags self' ' git ls-remote --tags self >actual && - diff -u expected.tag actual + test_cmp expected.tag actual ' test_expect_success 'ls-remote self' ' git ls-remote self >actual && - diff -u expected.all actual + test_cmp expected.all actual ' diff --git a/t/t6004-rev-list-path-optim.sh b/t/t6004-rev-list-path-optim.sh index 80d71988b8..5dabf1c5e3 100755 --- a/t/t6004-rev-list-path-optim.sh +++ b/t/t6004-rev-list-path-optim.sh @@ -45,7 +45,7 @@ test_expect_success 'further setup' ' test_expect_success 'path optimization 2' ' ( echo "$side"; echo "$initial" ) >expected && git rev-list HEAD -- a >actual && - diff -u expected actual + test_cmp expected actual ' test_done diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh index be3d238d99..f248a3293c 100755 --- a/t/t6009-rev-list-parent.sh +++ b/t/t6009-rev-list-parent.sh @@ -31,7 +31,7 @@ test_expect_failure 'one is ancestor of others and should not be shown' ' git rev-list one --not four >result && >expect && - diff -u expect result + test_cmp expect result ' diff --git a/t/t6027-merge-binary.sh b/t/t6027-merge-binary.sh index a7358f75b1..92ca1f0f8c 100755 --- a/t/t6027-merge-binary.sh +++ b/t/t6027-merge-binary.sh @@ -45,7 +45,7 @@ test_expect_success resolve ' false else git ls-files -s >current - diff -u current expect + test_cmp current expect fi ' @@ -60,7 +60,7 @@ test_expect_success recursive ' false else git ls-files -s >current - diff -u current expect + test_cmp current expect fi ' diff --git a/t/t6029-merge-subtree.sh b/t/t6029-merge-subtree.sh index 35d66e8044..43f5459c35 100755 --- a/t/t6029-merge-subtree.sh +++ b/t/t6029-merge-subtree.sh @@ -25,7 +25,7 @@ test_expect_success 'subtree available and works like recursive' ' git merge -s subtree side && for i in mundo $s world; do echo $i; done >expect && - diff -u expect hello + test_cmp expect hello ' diff --git a/t/t7010-setup.sh b/t/t7010-setup.sh index bc8ab6a619..02cf7c5c9d 100755 --- a/t/t7010-setup.sh +++ b/t/t7010-setup.sh @@ -18,7 +18,7 @@ test_expect_success 'git add (absolute)' ' git add "$D/a/b/c/d" && git ls-files >current && echo a/b/c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -32,7 +32,7 @@ test_expect_success 'git add (funny relative)' ' ) && git ls-files >current && echo a/e/f >expect && - diff -u expect current + test_cmp expect current ' @@ -43,7 +43,7 @@ test_expect_success 'git rm (absolute)' ' git rm -f --cached "$D/a/b/c/d" && git ls-files >current && echo a/e/f >expect && - diff -u expect current + test_cmp expect current ' @@ -57,7 +57,7 @@ test_expect_success 'git rm (funny relative)' ' ) && git ls-files >current && echo a/b/c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -67,7 +67,7 @@ test_expect_success 'git ls-files (absolute)' ' git add a && git ls-files "$D/a/e/../b" >current && echo a/b/c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -80,7 +80,7 @@ test_expect_success 'git ls-files (relative #1)' ' git ls-files "../b/c" ) >current && echo c/d >expect && - diff -u expect current + test_cmp expect current ' @@ -93,7 +93,7 @@ test_expect_success 'git ls-files (relative #2)' ' git ls-files --full-name "../e/f" ) >current && echo a/e/f >expect && - diff -u expect current + test_cmp expect current ' @@ -126,13 +126,13 @@ test_expect_success 'log using absolute path names' ' git log a/b/c/d >f1.txt && git log "$(pwd)/a/b/c/d" >f2.txt && - diff -u f1.txt f2.txt + test_cmp f1.txt f2.txt ' test_expect_success 'blame using absolute path names' ' git blame a/b/c/d >f1.txt && git blame "$(pwd)/a/b/c/d" >f2.txt && - diff -u f1.txt f2.txt + test_cmp f1.txt f2.txt ' test_expect_success 'setup deeper work tree' ' diff --git a/t/t7201-co.sh b/t/t7201-co.sh index 63915cd87b..3111baa9e3 100755 --- a/t/t7201-co.sh +++ b/t/t7201-co.sh @@ -83,13 +83,13 @@ test_expect_success "checkout with unrelated dirty tree without -m" ' fill 0 1 2 3 4 5 6 7 8 >same && cp same kept git checkout side >messages && - diff -u same kept + test_cmp same kept (cat > messages.expect <expect.master && git diff --name-status master >current.master && - diff -u expect.master current.master && + test_cmp expect.master current.master && fill "M one" >expect.side && git diff --name-status side >current.side && - diff -u expect.side current.side && + test_cmp expect.side current.side && : >expect.index && git diff --cached >current.index && - diff -u expect.index current.index + test_cmp expect.index current.index ' test_expect_success "checkout -m with dirty tree, renamed" ' @@ -136,7 +136,7 @@ test_expect_success "checkout -m with dirty tree, renamed" ' git checkout -m renamer && fill 1 3 4 5 7 8 >expect && - diff -u expect uno && + test_cmp expect uno && ! test -f one && git diff --cached >current && ! test -s current @@ -161,7 +161,7 @@ test_expect_success 'checkout -m with merge conflict' ' git diff master:one :3:uno | sed -e "1,/^@@/d" -e "/^ /d" -e "s/^-/d/" -e "s/^+/a/" >current && fill d2 aT d7 aS >expect && - diff -u current expect && + test_cmp current expect && git diff --cached two >current && ! test -s current ' @@ -178,7 +178,7 @@ If you want to create a new branch from this checkout, you may do so HEAD is now at 7329388... Initial A one, A two EOF ) && - diff -u messages.expect messages && + test_cmp messages.expect messages && H=$(git rev-parse --verify HEAD) && M=$(git show-ref -s --verify refs/heads/master) && test "z$H" = "z$M" && diff --git a/t/t7501-commit.sh b/t/t7501-commit.sh index 361886c3d6..c0288f345f 100755 --- a/t/t7501-commit.sh +++ b/t/t7501-commit.sh @@ -203,7 +203,7 @@ test_expect_success 'sign off (1)' ' git var GIT_COMMITTER_IDENT | sed -e "s/>.*/>/" -e "s/^/Signed-off-by: /" ) >expected && - diff -u expected actual + test_cmp expected actual ' @@ -223,7 +223,7 @@ $existing" && git var GIT_COMMITTER_IDENT | sed -e "s/>.*/>/" -e "s/^/Signed-off-by: /" ) >expected && - diff -u expected actual + test_cmp expected actual ' @@ -240,7 +240,7 @@ test_expect_success 'multiple -m' ' echo echo three ) >expected && - diff -u expected actual + test_cmp expected actual ' @@ -301,12 +301,12 @@ test_expect_success 'same tree (merge and amend merge)' ' git merge -s ours side -m "empty ok" && git diff HEAD^ HEAD >actual && : >expected && - diff -u expected actual && + test_cmp expected actual && git commit --amend -m "empty really ok" && git diff HEAD^ HEAD >actual && : >expected && - diff -u expected actual + test_cmp expected actual ' @@ -323,7 +323,7 @@ test_expect_success 'amend using the message from another commit' ' git commit --allow-empty --amend -C "$old" && git show --pretty="format:%ad %s" "$old" >expected && git show --pretty="format:%ad %s" HEAD >actual && - diff -u expected actual + test_cmp expected actual ' @@ -341,7 +341,7 @@ test_expect_success 'amend using the message from a commit named with tag' ' git commit --allow-empty --amend -C tagged-old && git show --pretty="format:%ad %s" "$old" >expected && git show --pretty="format:%ad %s" HEAD >actual && - diff -u expected actual + test_cmp expected actual ' diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh index b780fddc08..284c941247 100755 --- a/t/t7502-commit.sh +++ b/t/t7502-commit.sh @@ -85,7 +85,7 @@ test_expect_success 'verbose' ' git add negative && git status -v | sed -ne "/^diff --git /p" >actual && echo "diff --git a/negative b/negative" >expect && - diff -u expect actual + test_cmp expect actual ' @@ -95,7 +95,7 @@ test_expect_success 'cleanup commit messages (verbatim,-t)' ' { echo;echo "# text";echo; } >expect && git commit --cleanup=verbatim -t expect -a && git cat-file -p HEAD |sed -e "1,/^\$/d" |head -n 3 >actual && - diff -u expect actual + test_cmp expect actual ' @@ -104,7 +104,7 @@ test_expect_success 'cleanup commit messages (verbatim,-F)' ' echo >>negative && git commit --cleanup=verbatim -F expect -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -113,7 +113,7 @@ test_expect_success 'cleanup commit messages (verbatim,-m)' ' echo >>negative && git commit --cleanup=verbatim -m "$(cat expect)" -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -124,7 +124,7 @@ test_expect_success 'cleanup commit messages (whitespace,-F)' ' echo "# text" >expect && git commit --cleanup=whitespace -F text -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -135,7 +135,7 @@ test_expect_success 'cleanup commit messages (strip,-F)' ' echo sample >expect && git commit --cleanup=strip -F text -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual && - diff -u expect actual + test_cmp expect actual ' @@ -150,7 +150,7 @@ test_expect_success 'cleanup commit messages (strip,-F,-e)' ' { echo;echo sample;echo; } >text && git commit -e -F text -a && head -n 4 .git/COMMIT_EDITMSG >actual && - diff -u expect actual + test_cmp expect actual ' diff --git a/t/t7502-status.sh b/t/t7502-status.sh index 70b802ba3d..cd08516e6d 100755 --- a/t/t7502-status.sh +++ b/t/t7502-status.sh @@ -146,7 +146,7 @@ cat <expect EOF test_expect_success 'status of partial commit excluding new file in index' ' git status dir1/modified >output && - diff -u expect output + test_cmp expect output ' test_done diff --git a/t/t7600-merge.sh b/t/t7600-merge.sh index 219411fd02..56869aceed 100755 --- a/t/t7600-merge.sh +++ b/t/t7600-merge.sh @@ -108,7 +108,7 @@ create_merge_msgs() { } verify_diff() { - if ! diff -u "$1" "$2" + if ! test_cmp "$1" "$2" then echo "$3" false diff --git a/t/t8003-blame.sh b/t/t8003-blame.sh index db51b3a6bb..966bb0a61a 100755 --- a/t/t8003-blame.sh +++ b/t/t8003-blame.sh @@ -112,7 +112,7 @@ test_expect_success 'blame wholesale copy' ' echo mouse-Second echo mouse-Third } >expected && - diff -u expected current + test_cmp expected current ' @@ -125,7 +125,7 @@ test_expect_success 'blame wholesale copy and more' ' echo cow-Fifth echo mouse-Third } >expected && - diff -u expected current + test_cmp expected current ' diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index cbbfa9cb49..c0973b4e6e 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -81,7 +81,7 @@ test_expect_success 'Show all headers' ' -e "s/^\(Message-Id:\).*/\1 MESSAGE-ID-STRING/" \ -e "s/^\(X-Mailer:\).*/\1 X-MAILER-STRING/" \ >actual-show-all-headers && - diff -u expected-show-all-headers actual-show-all-headers + test_cmp expected-show-all-headers actual-show-all-headers ' z8=zzzzzzzz diff --git a/t/t9116-git-svn-log.sh b/t/t9116-git-svn-log.sh index 902ed4145d..e1e8bdf0e3 100755 --- a/t/t9116-git-svn-log.sh +++ b/t/t9116-git-svn-log.sh @@ -55,74 +55,74 @@ printf 'r1 \nr2 \nr4 \n' > expected-range-r1-r2-r4 test_expect_success 'test ascending revision range' " git reset --hard trunk && - git svn log -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r1-r2-r4 - + git svn log -r 1:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2-r4 - " printf 'r4 \nr2 \nr1 \n' > expected-range-r4-r2-r1 test_expect_success 'test descending revision range' " git reset --hard trunk && - git svn log -r 4:1 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4-r2-r1 - + git svn log -r 4:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4-r2-r1 - " printf 'r1 \nr2 \n' > expected-range-r1-r2 test_expect_success 'test ascending revision range with unreachable revision' " git reset --hard trunk && - git svn log -r 1:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r1-r2 - + git svn log -r 1:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r1-r2 - " printf 'r2 \nr1 \n' > expected-range-r2-r1 test_expect_success 'test descending revision range with unreachable revision' " git reset --hard trunk && - git svn log -r 3:1 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r2-r1 - + git svn log -r 3:1 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2-r1 - " printf 'r2 \n' > expected-range-r2 test_expect_success 'test ascending revision range with unreachable upper boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 2:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r2 - + git svn log -r 2:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 - " test_expect_success 'test descending revision range with unreachable upper boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 3:2 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r2 - + git svn log -r 3:2 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r2 - " printf 'r4 \n' > expected-range-r4 test_expect_success 'test ascending revision range with unreachable lower boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 3:4 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 3:4 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " test_expect_success 'test descending revision range with unreachable lower boundary revision and 1 commit' " git reset --hard trunk && - git svn log -r 4:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 4:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " printf -- '------------------------------------------------------------------------\n' > expected-separator test_expect_success 'test ascending revision range with unreachable boundary revisions and no commits' " git reset --hard trunk && - git svn log -r 5:6 | diff -u expected-separator - + git svn log -r 5:6 | test_cmp expected-separator - " test_expect_success 'test descending revision range with unreachable boundary revisions and no commits' " git reset --hard trunk && - git svn log -r 6:5 | diff -u expected-separator - + git svn log -r 6:5 | test_cmp expected-separator - " test_expect_success 'test ascending revision range with unreachable boundary revisions and 1 commit' " git reset --hard trunk && - git svn log -r 3:5 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 3:5 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " test_expect_success 'test descending revision range with unreachable boundary revisions and 1 commit' " git reset --hard trunk && - git svn log -r 5:3 | grep '^r[0-9]' | cut -d'|' -f1 | diff -u expected-range-r4 - + git svn log -r 5:3 | grep '^r[0-9]' | cut -d'|' -f1 | test_cmp expected-range-r4 - " test_done diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh index 58c59ed5ae..42b144b1b3 100755 --- a/t/t9200-git-cvsexportcommit.sh +++ b/t/t9200-git-cvsexportcommit.sh @@ -37,7 +37,7 @@ check_entries () { else printf '%s\n' "$2" | tr '|' '\012' >expected fi - diff -u expected actual + test_cmp expected actual } test_expect_success \ @@ -257,8 +257,8 @@ test_expect_success '-w option should work with relative GIT_DIR' ' (cd "$GIT_DIR" && GIT_DIR=. git cvsexportcommit -w "$CVSWORK" -c $id && check_entries "$CVSWORK/W" "file1.txt/1.1/|file2.txt/1.1/" && - diff -u "$CVSWORK/W/file1.txt" ../W/file1.txt && - diff -u "$CVSWORK/W/file2.txt" ../W/file2.txt + test_cmp "$CVSWORK/W/file1.txt" ../W/file1.txt && + test_cmp "$CVSWORK/W/file2.txt" ../W/file2.txt ) ' @@ -279,9 +279,9 @@ test_expect_success 'check files before directories' ' git cvsexportcommit -w "$CVSWORK" -c $id && check_entries "$CVSWORK/E" "DS/1.1/|newfile5.txt/1.1/" && check_entries "$CVSWORK" "DS/1.1/|release-notes/1.2/" && - diff -u "$CVSWORK/DS" DS && - diff -u "$CVSWORK/E/DS" E/DS && - diff -u "$CVSWORK/release-notes" release-notes + test_cmp "$CVSWORK/DS" DS && + test_cmp "$CVSWORK/E/DS" E/DS && + test_cmp "$CVSWORK/release-notes" release-notes ' @@ -293,7 +293,7 @@ test_expect_success 'commit a file with leading spaces in the name' ' id=$(git rev-parse HEAD) && git cvsexportcommit -w "$CVSWORK" -c $id && check_entries "$CVSWORK" " space/1.1/|DS/1.1/|release-notes/1.2/" && - diff -u "$CVSWORK/ space" " space" + test_cmp "$CVSWORK/ space" " space" ' diff --git a/t/test-lib.sh b/t/test-lib.sh index 6aea0ea0a5..268b26c959 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -42,6 +42,7 @@ export GIT_MERGE_VERBOSITY export GIT_AUTHOR_EMAIL GIT_AUTHOR_NAME export GIT_COMMITTER_EMAIL GIT_COMMITTER_NAME export EDITOR VISUAL +GIT_TEST_CMP=${GIT_TEST_CMP:-diff -u} # Protect ourselves from common misconfiguration to export # CDPATH into the environment @@ -302,6 +303,23 @@ test_must_fail () { test $? -gt 0 -a $? -le 128 } +# test_cmp is a helper function to compare actual and expected output. +# You can use it like: +# +# test_expect_success 'foo works' ' +# echo expected >expected && +# foo >actual && +# test_cmp expected actual +# ' +# +# This could be written as either "cmp" or "diff -u", but: +# - cmp's output is not nearly as easy to read as diff -u +# - not all diff versions understand "-u" + +test_cmp() { + $GIT_TEST_CMP "$@" +} + # Most tests can use the created repository, but some may need to create more. # Usage: test_create_repo test_create_repo () { From 53a5b443b4b3d5beb102615f402e0e4da5ba9179 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:37:37 -0400 Subject: [PATCH 34/76] t4020: don't use grep -a Solaris /usr/bin/grep doesn't understand "-a". In this case we can just include the expected output with the test, which is a better test anyway. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/t4020-diff-external.sh | 3 ++- t/t4020/diff.NUL | Bin 0 -> 116 bytes 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 t/t4020/diff.NUL diff --git a/t/t4020-diff-external.sh b/t/t4020-diff-external.sh index bf8f778a47..637b4e19d5 100755 --- a/t/t4020-diff-external.sh +++ b/t/t4020-diff-external.sh @@ -103,7 +103,8 @@ echo NULZbetweenZwords | perl -pe 'y/Z/\000/' > file test_expect_success 'force diff with "diff"' ' echo >.gitattributes "file diff" && - git diff | grep -a second + git diff >actual && + test_cmp ../t4020/diff.NUL actual ' test_done diff --git a/t/t4020/diff.NUL b/t/t4020/diff.NUL new file mode 100644 index 0000000000000000000000000000000000000000..db2f89090c1c4de05e4f82ea39ea118fccfd48dd GIT binary patch literal 116 zcmXxbF$#k~5Jq9^ImPtD=#EH8x;=oT%K;qs->?u?P{ABu2(fz2_fpB3Ro`XjsmtX9 z_Ft&fgfAo5!x7pxTMzd;TL`ydAXWW)5|QhPk=0m?V Date: Wed, 12 Mar 2008 17:38:31 -0400 Subject: [PATCH 35/76] t6000lib: tr portability fix Some versions of tr complain if the number of characters in both sets isn't the same. So here we must manually expand the dashes in set2. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/t6000lib.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/t/t6000lib.sh b/t/t6000lib.sh index 180633e1e0..b69f7c4d11 100755 --- a/t/t6000lib.sh +++ b/t/t6000lib.sh @@ -97,7 +97,10 @@ check_output() # from front and back. name_from_description() { - tr "'" '-' | tr '~`!@#$%^&*()_+={}[]|\;:"<>,/? ' '-' | tr -s '-' | tr '[A-Z]' '[a-z]' | sed "s/^-*//;s/-*\$//" + tr "'" '-' | + tr '~`!@#$%^&*()_+={}[]|\;:"<>,/? ' \ + '------------------------------' | + tr -s '-' | tr '[A-Z]' '[a-z]' | sed "s/^-*//;s/-*\$//" } From 5f7c643afe8da21c82762f872632d6407530f9e8 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:39:16 -0400 Subject: [PATCH 36/76] add NO_EXTERNAL_GREP build option Previously, we just chose whether to allow external grep based on the __unix__ define. However, there are systems which define this macro but which have an inferior group (e.g., one that does not support all options used by t7002). This allows users to accept the potential speed penalty to get a more consistent grep experience (and to pass the testsuite). Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- Makefile | 6 ++++++ builtin-grep.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index e3eaa6a543..bc46fd44f5 100644 --- a/Makefile +++ b/Makefile @@ -148,6 +148,9 @@ all:: # is a simplified version of the merge sort used in glibc. This is # recommended if Git triggers O(n^2) behavior in your platform's qsort(). # +# Define NO_EXTERNAL_GREP if you don't want "git grep" to ever call +# your external grep (e.g., if your system lacks grep, if its grep is +# broken, or spawning external process is slower than built-in grep git has). GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @$(SHELL_PATH) ./GIT-VERSION-GEN @@ -760,6 +763,9 @@ endif ifdef DIR_HAS_BSD_GROUP_SEMANTICS COMPAT_CFLAGS += -DDIR_HAS_BSD_GROUP_SEMANTICS endif +ifdef NO_EXTERNAL_GREP + BASIC_CFLAGS += -DNO_EXTERNAL_GREP +endif ifeq ($(TCLTK_PATH),) NO_TCLTK=NoThanks diff --git a/builtin-grep.c b/builtin-grep.c index f4f4ecb11b..ef299108f5 100644 --- a/builtin-grep.c +++ b/builtin-grep.c @@ -12,6 +12,14 @@ #include "builtin.h" #include "grep.h" +#ifndef NO_EXTERNAL_GREP +#ifdef __unix__ +#define NO_EXTERNAL_GREP 0 +#else +#define NO_EXTERNAL_GREP 1 +#endif +#endif + /* * git grep pathspecs are somewhat different from diff-tree pathspecs; * pathname wildcards are allowed. @@ -153,7 +161,7 @@ static int grep_file(struct grep_opt *opt, const char *filename) return i; } -#ifdef __unix__ +#if !NO_EXTERNAL_GREP static int exec_grep(int argc, const char **argv) { pid_t pid; @@ -372,7 +380,7 @@ static int grep_cache(struct grep_opt *opt, const char **paths, int cached) int nr; read_cache(); -#ifdef __unix__ +#if !NO_EXTERNAL_GREP /* * Use the external "grep" command for the case where * we grep through the checked-out files. It tends to From d89c1dfac939623a269f60d4e27e3a2929dca29c Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:41:02 -0400 Subject: [PATCH 37/76] filter-branch: don't use xargs -0 Some versions of xargs don't understand "-0"; fortunately in this case we can get the same effect by using "git clean". Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- git-filter-branch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-filter-branch.sh b/git-filter-branch.sh index 59cf023d5d..efef732202 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -281,7 +281,7 @@ while read commit parents; do die "Could not checkout the index" # files that $commit removed are now still in the working tree; # remove them, else they would be added again - git ls-files -z --others | xargs -0 rm -f + git clean -q -f -x eval "$filter_tree" < /dev/null || die "tree filter failed: $filter_tree" From 4bf9f27dfb4ed6fd67a9bfc6f80e10b8c6980c85 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:41:39 -0400 Subject: [PATCH 38/76] filter-branch: use $SHELL_PATH instead of 'sh' On some systems, 'sh' isn't very friendly. In particular, t7003 fails on Solaris because it doesn't understand $(). Instead, use the specified SHELL_PATH to run shell code. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- Makefile | 1 + git-filter-branch.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index bc46fd44f5..87739e7e3c 100644 --- a/Makefile +++ b/Makefile @@ -873,6 +873,7 @@ common-cmds.h: $(wildcard Documentation/git-*.txt) $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh $(QUIET_GEN)$(RM) $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ + -e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \ -e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \ -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ -e 's/@@NO_CURL@@/$(NO_CURL)/g' \ diff --git a/git-filter-branch.sh b/git-filter-branch.sh index efef732202..22b6ed4a78 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -309,7 +309,7 @@ while read commit parents; do sed -e '1,/^$/d' <../commit | \ eval "$filter_msg" > ../message || die "msg filter failed: $filter_msg" - sh -c "$filter_commit" "git commit-tree" \ + @SHELL_PATH@ -c "$filter_commit" "git commit-tree" \ $(git write-tree) $parentstr < ../message > ../map/$commit done <../revs From 32aedd5496f53c08bcef5f7709f6bfece4f40978 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:42:15 -0400 Subject: [PATCH 39/76] t9112: add missing #!/bin/sh header Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/t9112-git-svn-md5less-file.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/t/t9112-git-svn-md5less-file.sh b/t/t9112-git-svn-md5less-file.sh index 08313bb545..646a5f0cdb 100755 --- a/t/t9112-git-svn-md5less-file.sh +++ b/t/t9112-git-svn-md5less-file.sh @@ -1,3 +1,5 @@ +#!/bin/sh + test_description='test that git handles an svn repository with missing md5sums' . ./lib-git-svn.sh From 462f8caf248178121ef705dd1b6980eb3b846833 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Wed, 12 Mar 2008 17:42:43 -0400 Subject: [PATCH 40/76] t7505: use SHELL_PATH in hook The hook doesn't run properly under Solaris /bin/sh. Let's use the SHELL_PATH the user told us about already instead. Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- t/t7505-prepare-commit-msg-hook.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/t/t7505-prepare-commit-msg-hook.sh b/t/t7505-prepare-commit-msg-hook.sh index 7ddec99a64..802aa624d0 100755 --- a/t/t7505-prepare-commit-msg-hook.sh +++ b/t/t7505-prepare-commit-msg-hook.sh @@ -25,8 +25,9 @@ export FAKE_EDITOR HOOKDIR="$(git rev-parse --git-dir)/hooks" HOOK="$HOOKDIR/prepare-commit-msg" mkdir -p "$HOOKDIR" -cat > "$HOOK" <<'EOF' -#!/bin/sh +echo "#!$SHELL_PATH" > "$HOOK" +cat >> "$HOOK" <<'EOF' + if test "$2" = commit; then source=$(git-rev-parse "$3") else From 48ed49f2eb98949c59ad841365709f4cdec52977 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Thu, 13 Mar 2008 13:31:10 +0100 Subject: [PATCH 41/76] Update Hungarian translation. 100% completed. --- po/hu.po | 140 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 102 insertions(+), 38 deletions(-) diff --git a/po/hu.po b/po/hu.po index 627c05eb99..e3f96a3bc0 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: git-gui-i 18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" -"PO-Revision-Date: 2007-12-04 01:15+0100\n" +"POT-Creation-Date: 2008-02-16 21:24+0100\n" +"PO-Revision-Date: 2008-03-13 13:30+0100\n" "Last-Translator: Miklos Vajna \n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -342,7 +342,8 @@ msgstr "Online dokumentáció" #: git-gui.sh:2201 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "végzetes hiba: nem érhető el a(z) %s útvonal: Nincs ilyen fájl vagy könyvtár" +msgstr "" +"végzetes hiba: nem érhető el a(z) %s útvonal: Nincs ilyen fájl vagy könyvtár" #: git-gui.sh:2234 msgid "Current Branch:" @@ -396,31 +397,31 @@ msgstr "Összes másolása" msgid "File:" msgstr "Fájl:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "Frissítés" - -#: git-gui.sh:2566 +#: git-gui.sh:2573 msgid "Apply/Reverse Hunk" msgstr "Hunk alkalmazása/visszaállítása" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Font méret csökkentése" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Fönt méret növelése" - -#: git-gui.sh:2581 +#: git-gui.sh:2579 msgid "Show Less Context" msgstr "Kevesebb környezet mutatása" -#: git-gui.sh:2588 +#: git-gui.sh:2586 msgid "Show More Context" msgstr "Több környezet mutatása" -#: git-gui.sh:2602 +#: git-gui.sh:2594 +msgid "Refresh" +msgstr "Frissítés" + +#: git-gui.sh:2615 +msgid "Decrease Font Size" +msgstr "Font méret csökkentése" + +#: git-gui.sh:2619 +msgid "Increase Font Size" +msgstr "Fönt méret növelése" + +#: git-gui.sh:2630 msgid "Unstage Hunk From Commit" msgstr "Hunk törlése commitból" @@ -807,6 +808,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "A munkkönyvtár frissiítése a következőre: '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "fájl frissítve" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -1067,7 +1072,9 @@ msgstr "Nem sikerült hardlinkelni az objektumot: %s" #: lib/choose_repository.tcl:847 msgid "Cannot fetch branches and objects. See console output for details." -msgstr "Nem sikerült letölteni a branch-eket és az objektumokat. Bővebben a konzolos kimenetben." +msgstr "" +"Nem sikerült letölteni a branch-eket és az objektumokat. Bővebben a " +"konzolos kimenetben." #: lib/choose_repository.tcl:858 msgid "Cannot fetch tags. See console output for details." @@ -1268,11 +1275,40 @@ msgstr "" "- Második sor: Üres\n" "- A többi sor: Leírja, hogy miért jó ez a változtatás.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "figyelmeztetés: a Tcl nem támogatja a(z) '%s' kódolást." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "A pre-commit hurok meghívása..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "A commitot megakadályozta a pre-commit hurok. " + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "A commit-msg hurok meghívása..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "A commiot megakadályozta a commit-msg hurok." + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "A változtatások commitolása..." + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "a write-tree sikertelen:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "A commit nem sikerült." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "A(z) %s commit sérültnek tűnik" @@ -1295,12 +1331,7 @@ msgstr "" msgid "No changes to commit." msgstr "Nincs commitolandó változtatás." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "figyelmeztetés: a Tcl nem támogatja a(z) '%s' kódolást." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "a commit-tree sikertelen:" @@ -1464,8 +1495,8 @@ msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." msgstr "" -"A Git index frissítése sikertelen volt. Egy újraolvasás automatikusan elindult, hogy " -"a git-gui újra szinkonban legyen." +"A Git index frissítése sikertelen volt. Egy újraolvasás automatikusan " +"elindult, hogy a git-gui újra szinkonban legyen." #: lib/index.tcl:27 msgid "Continue" @@ -1480,6 +1511,10 @@ msgstr "Index zárolásának feloldása" msgid "Unstaging %s from commit" msgstr "A(z) %s commitba való kiválasztásának visszavonása" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Commitolásra kész." + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1574,10 +1609,10 @@ msgstr "%s / %s" #: lib/merge.tcl:119 #, tcl-format -msgid "Merging %s and %s" -msgstr "A(z) %s és a(z) %s merge-ölése" +msgid "Merging %s and %s..." +msgstr "A(z) %s és a(z) %s merge-ölése..." -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "A merge sikeresen befejeződött." @@ -1638,7 +1673,11 @@ msgstr "" msgid "Aborting" msgstr "Félbeszakítás" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "fájl visszaállítva" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "A félbeszakítás nem sikerült." @@ -1703,7 +1742,11 @@ msgstr "A diff környezeti sorok száma" msgid "New Branch Name Template" msgstr "Új branch név sablon" -#: lib/option.tcl:176 +#: lib/option.tcl:191 +msgid "Spelling Dictionary:" +msgstr "Helyesírás-ellenőrző szótár:" + +#: lib/option.tcl:215 msgid "Change Font" msgstr "Betűtípus megváltoztatása" @@ -1767,8 +1810,7 @@ msgid "" "\n" " - %s" msgstr "" -"A következő branchek nem teljesen lettek merge-ölve ebbe: %s:" -"\n" +"A következő branchek nem teljesen lettek merge-ölve ebbe: %s:\n" " - %s" #: lib/remote_branch_delete.tcl:189 @@ -1829,6 +1871,26 @@ msgstr "Nem sikerült írni a gyorsbillentyűt:" msgid "Cannot write icon:" msgstr "Nem sikerült írni az ikont:" +#: lib/spellcheck.tcl:37 +msgid "Not connected to aspell" +msgstr "Nincs kapcsolat az aspellhez" + +#: lib/spellcheck.tcl:41 +msgid "Unrecognized aspell version" +msgstr "Ismeretlen aspell verzió" + +#: lib/spellcheck.tcl:135 +msgid "No Suggestions" +msgstr "Nincs javaslat" + +#: lib/spellcheck.tcl:336 +msgid "Unexpected EOF from aspell" +msgstr "Nem várt EOF az aspelltől" + +#: lib/spellcheck.tcl:340 +msgid "Spell Checker Failed" +msgstr "A helyesírás-ellenőrzés sikertelen" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" @@ -1887,7 +1949,9 @@ msgstr "Átviteli opciók" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "Létező branch felülírásának erőltetése (lehet, hogy el fog dobni változtatásokat)" +msgstr "" +"Létező branch felülírásának erőltetése (lehet, hogy el fog dobni " +"változtatásokat)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" From 63f671a4406f33bf689d854596124a40f5b9a22a Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 13 Mar 2008 19:15:30 -0700 Subject: [PATCH 42/76] Documentation/git-help: typofix Noticed by Xavier Maillard Signed-off-by: Junio C Hamano --- Documentation/git-help.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt index 0354ac9861..be2ae53b90 100644 --- a/Documentation/git-help.txt +++ b/Documentation/git-help.txt @@ -102,7 +102,7 @@ For example, this configuration: will try to use konqueror first. But this may fail (for example if DISPLAY is not set) and in that case emacs' woman mode will be tried. -If everythings fails the 'man' program will be tried anyway. +If everything fails the 'man' program will be tried anyway. Note about git config --global ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From bb12ac5120b657691b71108cef3e586ba0b76af6 Mon Sep 17 00:00:00 2001 From: Vineet Kumar Date: Thu, 13 Mar 2008 11:32:16 -0700 Subject: [PATCH 43/76] Minor wording changes in the keyboard descriptions in git-add --interactive. The wording of the interactive help text from git-add--interactive.perl is clearer. Just duplicate that text here. Signed-off-by: Vineet Kumar Signed-off-by: Junio C Hamano --- Documentation/git-add.txt | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt index 47799097ce..c751a17d07 100644 --- a/Documentation/git-add.txt +++ b/Documentation/git-add.txt @@ -207,16 +207,14 @@ patch:: and the working tree file and asks you if you want to stage the change of each hunk. You can say: - y - add the change from that hunk to index - n - do not add the change from that hunk to index - a - add the change from that hunk and all the rest to index - d - do not the change from that hunk nor any of the rest to index - j - do not decide on this hunk now, and view the next - undecided hunk - J - do not decide on this hunk now, and view the next hunk - k - do not decide on this hunk now, and view the previous - undecided hunk - K - do not decide on this hunk now, and view the previous hunk + y - stage this hunk + n - do not stage this hunk + a - stage this and all the remaining hunks in the file + d - do not stage this hunk nor any of the remaining hunks in the file + j - leave this hunk undecided, see next undecided hunk + J - leave this hunk undecided, see next hunk + k - leave this hunk undecided, see previous undecided hunk + K - leave this hunk undecided, see previous hunk s - split the current hunk into smaller hunks ? - print help + From f746bae84e4746a861d9ebed29fd9255e5cd929f Mon Sep 17 00:00:00 2001 From: Nicolas Pitre Date: Thu, 13 Mar 2008 14:59:29 -0400 Subject: [PATCH 44/76] pack-objects: proper pack time stamping with --max-pack-size Runtime pack access is done in the pack file mtime order since recent packs are more likely to contain frequently used objects than old packs. However the --max-pack-size option can produce multiple packs with mtime in the reversed order as newer objects are always written first. Let's modify mtime of later pack files (when any) so they appear older than preceding ones when a repack creates multiple packs. Signed-off-by: Nicolas Pitre --- builtin-pack-objects.c | 26 ++++++++++++++++++++++++++ git-compat-util.h | 1 + 2 files changed, 27 insertions(+) diff --git a/builtin-pack-objects.c b/builtin-pack-objects.c index f504cff756..777f272668 100644 --- a/builtin-pack-objects.c +++ b/builtin-pack-objects.c @@ -454,6 +454,7 @@ static void write_pack_file(void) struct pack_header hdr; int do_progress = progress >> pack_to_stdout; uint32_t nr_remaining = nr_result; + time_t last_mtime = 0; if (do_progress) progress_state = start_progress("Writing objects", nr_result); @@ -504,6 +505,7 @@ static void write_pack_file(void) if (!pack_to_stdout) { mode_t mode = umask(0); + struct stat st; char *idx_tmp_name, tmpname[PATH_MAX]; umask(mode); @@ -511,6 +513,7 @@ static void write_pack_file(void) idx_tmp_name = write_idx_file(NULL, written_list, nr_written, sha1); + snprintf(tmpname, sizeof(tmpname), "%s-%s.pack", base_name, sha1_to_hex(sha1)); if (adjust_perm(pack_tmp_name, mode)) @@ -519,6 +522,28 @@ static void write_pack_file(void) if (rename(pack_tmp_name, tmpname)) die("unable to rename temporary pack file: %s", strerror(errno)); + + /* + * Packs are runtime accessed in their mtime + * order since newer packs are more likely to contain + * younger objects. So if we are creating multiple + * packs then we should modify the mtime of later ones + * to preserve this property. + */ + if (stat(tmpname, &st) < 0) { + warning("failed to stat %s: %s", + tmpname, strerror(errno)); + } else if (!last_mtime) { + last_mtime = st.st_mtime; + } else { + struct utimbuf utb; + utb.actime = st.st_atime; + utb.modtime = --last_mtime; + if (utime(tmpname, &utb) < 0) + warning("failed utime() on %s: %s", + tmpname, strerror(errno)); + } + snprintf(tmpname, sizeof(tmpname), "%s-%s.idx", base_name, sha1_to_hex(sha1)); if (adjust_perm(idx_tmp_name, mode)) @@ -527,6 +552,7 @@ static void write_pack_file(void) if (rename(idx_tmp_name, tmpname)) die("unable to rename temporary index file: %s", strerror(errno)); + free(idx_tmp_name); free(pack_tmp_name); puts(sha1_to_hex(sha1)); diff --git a/git-compat-util.h b/git-compat-util.h index 73968e02b0..a18235e6d0 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -68,6 +68,7 @@ #include #include #include +#include #ifndef NO_SYS_SELECT_H #include #endif From 0212242d6697d9e0fd076d7c633b90ecea7691c6 Mon Sep 17 00:00:00 2001 From: Peter Karlsson Date: Fri, 14 Mar 2008 02:36:18 -0400 Subject: [PATCH 45/76] git-gui: Regenerated po template and merged translations with it Signed-off-by: Shawn O. Pearce --- po/de.po | 531 +++++++++++++++++++----------------- po/fr.po | 717 +++++++++++++++++++++++++++++-------------------- po/git-gui.pot | 517 ++++++++++++++++++----------------- po/hu.po | 527 +++++++++++++++++++----------------- po/it.po | 28 +- po/ja.po | 609 +++++++++++++++++++++++------------------ po/ru.po | 612 +++++++++++++++++++++++------------------ po/zh_cn.po | 611 +++++++++++++++++++++++------------------ 8 files changed, 2311 insertions(+), 1841 deletions(-) diff --git a/po/de.po b/po/de.po index e84e1c7e08..022b816ae1 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-02-16 21:24+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2008-02-16 21:52+0100\n" "Last-Translator: Christian Stimming \n" "Language-Team: German\n" @@ -15,33 +15,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: Programmfehler" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ungültige Zeichensatz-Angabe in %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Programmschriftart" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Vergleich-Schriftart" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Git kann im PATH nicht gefunden werden." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Git Versionsangabe kann nicht erkannt werden:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -60,81 +60,81 @@ msgstr "" "\n" "Soll angenommen werden, »%s« sei Version 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git-Verzeichnis nicht gefunden:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "" "Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt " "werden:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Unerwartete Struktur des .git Verzeichnis:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Kein Arbeitsverzeichnis" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Dateistatus aktualisieren..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Nach geänderten Dateien suchen..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Bereit." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Unverändert" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Verändert, nicht bereitgestellt" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Bereitgestellt zum Eintragen" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Teilweise bereitgestellt zum Eintragen" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Bereitgestellt zum Eintragen, fehlend" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Fehlend" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Bereitgestellt zum Löschen" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Konfliktauflösung nötig" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Gitk wird gestartet... bitte warten." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -145,297 +145,297 @@ msgstr "" "\n" "%s existiert nicht" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Projektarchiv" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Bearbeiten" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Zweig" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Version" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Zusammenführen" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Andere Archive" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Aktuellen Zweig durchblättern" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Einen Zweig durchblättern..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Aktuellen Zweig darstellen" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Alle Zweige darstellen" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Zweig »%s« durchblättern" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Historie von »%s« darstellen" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Datenbankstatistik" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Datenbank komprimieren" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Datenbank überprüfen" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Desktop-Icon erstellen" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Beenden" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Rückgängig" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Wiederholen" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Ausschneiden" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Kopieren" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Einfügen" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Löschen" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Alle auswählen" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Erstellen..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Umstellen..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Umbenennen..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Löschen..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Zurücksetzen..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Neue Version" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Letzte nachbessern" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Neu laden" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Zum Eintragen bereitstellen" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Geänderte Dateien bereitstellen" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Änderungen verwerfen" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Abzeichnen" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Eintragen" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Lokales Zusammenführen..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Zusammenführen abbrechen..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Versenden..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Über %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Einstellungen..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Optionen..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Hilfe" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Online-Dokumentation" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "Fehler: Verzeichnis »%s« kann nicht gelesen werden: Datei oder Verzeichnis " "nicht gefunden" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Aktueller Zweig:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Bereitstellung (zum Eintragen)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Nicht bereitgestellte Änderungen" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Alles bereitstellen" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Versenden" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Erste Versionsbeschreibung:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Nachgebesserte Beschreibung:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Nachgebesserte erste Beschreibung:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Nachgebesserte Zusammenführungs-Beschreibung:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Zusammenführungs-Beschreibung:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Versionsbeschreibung:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Alle kopieren" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Datei:" -#: git-gui.sh:2573 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Kontext anwenden/umkehren" -#: git-gui.sh:2579 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Weniger Zeilen anzeigen" -#: git-gui.sh:2586 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Mehr Zeilen anzeigen" -#: git-gui.sh:2594 +#: git-gui.sh:2610 msgid "Refresh" msgstr "Aktualisieren" -#: git-gui.sh:2615 +#: git-gui.sh:2631 msgid "Decrease Font Size" msgstr "Schriftgröße verkleinern" -#: git-gui.sh:2619 +#: git-gui.sh:2635 msgid "Increase Font Size" msgstr "Schriftgröße vergrößern" -#: git-gui.sh:2630 +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Kontext aus Bereitstellung herausnehmen" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Kontext zur Bereitstellung hinzufügen" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Initialisieren..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -451,7 +451,7 @@ msgstr "" "von %s an Git weitergegeben werden:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -461,7 +461,7 @@ msgstr "" "Dies ist ein bekanntes Problem der Tcl-Version, die\n" "in Cygwin mitgeliefert wird." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -477,7 +477,7 @@ msgstr "" "gewünschten Werte für die Einstellung user.name und \n" "user.email in Ihre Datei ~/.gitconfig einfügen.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - eine grafische Oberfläche für Git." @@ -489,56 +489,56 @@ msgstr "Datei-Browser" msgid "Commit:" msgstr "Version:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Version kopieren" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "%s lesen..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Annotierungen für Kopieren/Verschieben werden geladen..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "Zeilen annotiert" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Annotierungen für ursprünglichen Ort werden geladen..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotierung vollständig." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Annotierung laden..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Autor:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Eintragender:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Ursprüngliche Datei:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "Ursprünglich von:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "In Datei:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Kopiert oder verschoben durch:" @@ -551,17 +551,17 @@ msgid "Checkout" msgstr "Umstellen" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Abbrechen" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Version" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Optionen" @@ -581,7 +581,7 @@ msgstr "Zweig erstellen" msgid "Create New Branch" msgstr "Neuen Zweig erstellen" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Erstellen" @@ -721,22 +721,22 @@ msgstr "Starten..." msgid "File Browser" msgstr "Datei-Browser" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "%s laden..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Nach oben]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Dateien des Zweigs durchblättern" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Blättern" @@ -750,7 +750,7 @@ msgstr "Änderungen »%s« von »%s« anfordern" msgid "fatal: Cannot resolve %s" msgstr "Fehler: »%s« kann nicht als Zweig oder Version erkannt werden" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Schließen" @@ -839,7 +839,7 @@ msgstr "" "Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen " "Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Umgestellt auf »%s«." @@ -860,7 +860,7 @@ msgstr "" msgid "Reset '%s'?" msgstr "»%s« zurücksetzen?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Darstellen" @@ -890,15 +890,15 @@ msgstr "Auswählen" msgid "Font Family" msgstr "Schriftfamilie" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Schriftgröße" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Schriftbeispiel" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -906,231 +906,231 @@ msgstr "" "Dies ist ein Beispieltext.\n" "Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Neues Projektarchiv" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Neu..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Projektarchiv klonen" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Klonen..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Projektarchiv öffnen" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Öffnen..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Zuletzt benutzte Projektarchive" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Zuletzt benutztes Projektarchiv öffnen:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "Projektarchiv »%s« existiert bereits." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Projektarchiv »%s« konnte nicht erstellt werden:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Verzeichnis:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Git Projektarchiv" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Verzeichnis »%s« existiert bereits." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Datei »%s« existiert bereits." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Klonen" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Art des Klonens:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (schnell, teilweise redundant, Hardlinks)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Alles kopieren (langsamer, volle Redundanz)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Verknüpft (schnell, nicht empfohlen, kein Backup)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Kein Git-Projektarchiv in »%s« gefunden." -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard ist nur für lokale Projektarchive verfügbar." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Verknüpft ist nur für lokale Projektarchive verfügbar." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Projektarchiv »%s« existiert bereits." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Der Ursprungsort konnte nicht eingerichtet werden" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Objekte werden gezählt" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "Buckets" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Kopien von Objekten/Info/Alternates konnten nicht erstellt werden: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Von »%s« konnte nichts geklont werden." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Der »master«-Zweig wurde noch nicht initialisiert." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Hardlinks nicht verfügbar. Stattdessen wird kopiert." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Kopieren von »%s«" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Objektdatenbank kopieren" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Objekt kann nicht kopiert werden: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Objekte verlinken" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "Objekte" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Für Objekt konnte kein Hardlink erstellt werden: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Zweige und Objekte konnten nicht angefordert werden. Kontrollieren Sie die " "Ausgaben auf der Konsole für weitere Angaben." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "" "Markierungen konnten nicht angefordert werden. Kontrollieren Sie die " "Ausgaben auf der Konsole für weitere Angaben." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "" "Die Zweigspitze (HEAD) konnte nicht gefunden werden. Kontrollieren Sie die " "Ausgaben auf der Konsole für weitere Angaben." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Verzeichnis »%s« kann nicht aufgeräumt werden." -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Klonen fehlgeschlagen." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Kein voreingestellter Zweig gefunden." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "»%s« wurde nicht als Version gefunden." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Arbeitskopie erstellen" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "Dateien" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Erstellen der Arbeitskopie fehlgeschlagen." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Öffnen" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Projektarchiv:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Projektarchiv »%s« konnte nicht geöffnet werden." @@ -1151,7 +1151,7 @@ msgstr "Lokaler Zweig" msgid "Tracking Branch" msgstr "Übernahmezweig" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Markierung" @@ -1168,11 +1168,11 @@ msgstr "Keine Version ausgewählt." msgid "Revision expression is empty." msgstr "Versions-Ausdruck ist leer." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Aktualisiert" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1304,7 +1304,9 @@ msgstr "Aufrufen der Versionsbeschreibungs-Kontrolle..." #: lib/commit.tcl:274 msgid "Commit declined by commit-msg hook." -msgstr "Eintragen abgelehnt durch Versionsbeschreibungs-Kontrolle (»commit-message hook«)." +msgstr "" +"Eintragen abgelehnt durch Versionsbeschreibungs-Kontrolle (»commit-message " +"hook«)." #: lib/commit.tcl:287 msgid "Committing changes..." @@ -1323,7 +1325,7 @@ msgstr "Eintragen fehlgeschlagen." msgid "Commit %s appears to be corrupt" msgstr "Version »%s« scheint beschädigt zu sein" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1338,7 +1340,7 @@ msgstr "" "\n" "Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Keine Änderungen, die eingetragen werden können." @@ -1346,24 +1348,24 @@ msgstr "Keine Änderungen, die eingetragen werden können." msgid "commit-tree failed:" msgstr "commit-tree fehlgeschlagen:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref fehlgeschlagen:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Version %s übertragen: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Verarbeitung. Bitte warten..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Erfolgreich" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Fehler: Kommando fehlgeschlagen" @@ -1474,24 +1476,24 @@ msgstr "* Binärdatei (Inhalt wird nicht angezeigt)" msgid "Error loading diff:" msgstr "Fehler beim Laden des Vergleichs:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "" "Fehler beim Herausnehmen des gewählten Kontexts aus der Bereitstellung." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Fehler beim Bereitstellen des gewählten Kontexts." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "Fehler" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "Warnung" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "" "Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." @@ -1545,12 +1547,12 @@ msgstr "Änderungen in Datei »%s« verwerfen?" msgid "Revert changes in these %i files?" msgstr "Änderungen in den gewählten %i Dateien verwerfen?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Alle nicht bereitgestellten Änderungen werden beim Verwerfen verloren gehen." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Nichts tun" @@ -1629,20 +1631,20 @@ msgstr "Zusammenführen von %s und %s..." msgid "Merge completed successfully." msgstr "Zusammenführen erfolgreich abgeschlossen." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Zusammenführen fehlgeschlagen. Konfliktauflösung ist notwendig." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Zusammenführen in »%s«" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Zusammenzuführende Version" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1652,7 +1654,7 @@ msgstr "" "\n" "Sie müssen die Nachbesserung der Version abschließen.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1667,7 +1669,7 @@ msgstr "" "\n" "Zusammenführen jetzt abbrechen?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1682,7 +1684,7 @@ msgstr "" "\n" "Änderungen jetzt zurücksetzen?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Abbruch" @@ -1694,89 +1696,94 @@ msgstr "Dateien zurückgesetzt" msgid "Abort failed." msgstr "Abbruch fehlgeschlagen." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Abbruch durchgeführt. Bereit." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Voreinstellungen wiederherstellen" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Speichern" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Projektarchiv %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Global (Alle Projektarchive)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Benutzername" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "E-Mail-Adresse" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Zusammenführungs-Versionen zusammenfassen" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Ausführlichkeit der Zusammenführen-Meldungen" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Vergleichsstatistik nach Zusammenführen anzeigen" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Auf Dateiänderungsdatum verlassen" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "Übernahmezweige aufräumen während Anforderung" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Passend zu Übernahmezweig" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Anzahl der Kontextzeilen beim Vergleich" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "Versionsbeschreibung:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Namensvorschlag für neue Zweige" -#: lib/option.tcl:191 +#: lib/option.tcl:192 msgid "Spelling Dictionary:" msgstr "Wörterbuch Rechtschreibprüfung:" -#: lib/option.tcl:215 +#: lib/option.tcl:216 msgid "Change Font" msgstr "Schriftart ändern" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "%s wählen" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Einstellungen" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Optionen konnten nicht gespeichert werden:" @@ -1886,23 +1893,44 @@ msgstr "Fehler beim Schreiben der Verknüpfung:" msgid "Cannot write icon:" msgstr "Fehler beim Erstellen des Icons:" -#: lib/spellcheck.tcl:37 -msgid "Not connected to aspell" -msgstr "Keine Verbindung zu »aspell«" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" -#: lib/spellcheck.tcl:41 -msgid "Unrecognized aspell version" +#: lib/spellcheck.tcl:65 +#, fuzzy +msgid "Spell checking is unavailable" +msgstr "Rechtschreibprüfung fehlgeschlagen" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +#, fuzzy +msgid "Spell checker silently failed on startup" +msgstr "Rechtschreibprüfung fehlgeschlagen" + +#: lib/spellcheck.tcl:80 +#, fuzzy +msgid "Unrecognized spell checker" msgstr "Unbekannte Version von »aspell«" -#: lib/spellcheck.tcl:135 +#: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "Keine Vorschläge" -#: lib/spellcheck.tcl:336 -msgid "Unexpected EOF from aspell" +#: lib/spellcheck.tcl:381 +#, fuzzy +msgid "Unexpected EOF from spell checker" msgstr "Unerwartetes EOF von »aspell«" -#: lib/spellcheck.tcl:340 +#: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" msgstr "Rechtschreibprüfung fehlgeschlagen" @@ -1974,3 +2002,6 @@ msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)" #: lib/transport.tcl:168 msgid "Include tags" msgstr "Mit Markierungen übertragen" + +#~ msgid "Not connected to aspell" +#~ msgstr "Keine Verbindung zu »aspell«" diff --git a/po/fr.po b/po/fr.po index d389bdaca1..d281938e33 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2008-01-14 21:08+0100\n" "Last-Translator: Christian Couder \n" "Language-Team: French\n" @@ -18,33 +18,33 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: erreur fatale" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Invalide fonte spécifiée dans %s :" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Fonte principale" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Fonte diff/console" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Impossible de trouver git dans PATH." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Impossible de parser la version de Git :" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -63,79 +63,79 @@ msgstr "" "\n" "Peut'on considérer que '%s' est en version 1.5.0 ?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Impossible de trouver le répertoire de Git :" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Impossible d'aller à la racine du répertoire de travail :" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Impossible d'utiliser un drôle de répertoire git :" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Pas de répertoire de travail" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Rafraichissement du status des fichiers..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Recherche de fichiers modifiés..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Prêt." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Non modifié" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Modifié, non pré-commité" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Pré-commité" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "En partie pré-commité" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Pré-commité, manquant" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Non suivi, non pré-commité" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Manquant" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Pré-commité pour suppression" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Pré-commité pour suppression, toujours présent" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Nécessite la résolution d'une fusion" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Lancement de gitk... merci de patienter..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -146,295 +146,296 @@ msgstr "" "\n" "%s inexistant" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Référentiel" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Editer" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Branche" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Commit" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Fusionner" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Référentiel distant" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Visionner fichiers dans branche courante" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Visionner fichiers de branche" -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Visualiser historique branche courante" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Visualiser historique toutes branches" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Visionner fichiers de %s" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Visualiser historique de %s" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Statistiques base de donnée" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Comprimer base de donnée" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Vérifier base de donnée" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Créer icône sur bureau" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Quitter" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Défaire" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Refaire" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Couper" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Copier" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Coller" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Supprimer" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Tout sélectionner" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Créer..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Emprunter... " -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Renommer..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Supprimer..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Réinitialiser..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Nouveau commit" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Corriger dernier commit" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Resynchroniser" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Commiter un pré-commit" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Commiter fichiers modifiés dans pré-commit" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Commit vers pré-commit" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Inverser modification" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Se désinscrire" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Commiter" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Fusion locale..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Abandonner fusion..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Pousser..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Pomme" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "A propos de %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Préférences..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Options..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Aide" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Documentation en ligne" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "fatale : pas d'infos sur le chemin %s : Fichier ou répertoire inexistant" +msgstr "" +"fatale : pas d'infos sur le chemin %s : Fichier ou répertoire inexistant" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Branche courante :" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Modifications pré-commitées" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Modifications non pré-commitées" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Pré-commit modifié" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Pousser" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Message de commit initial :" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Message de commit corrigé :" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Message de commit initial corrigé :" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Message de commit de fusion corrigé :" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Message de commit de fusion :" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Message de commit :" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Copier tout" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Fichier :" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "Rafraichir" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Appliquer/Inverser section" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Réduire fonte" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Agrandir fonte" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Montrer moins de contexte" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Montrer plus de contexte" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Rafraichir" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Réduire fonte" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Agrandir fonte" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Enlever section pré-commitée" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Pré-commiter section" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Initialisation..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -451,7 +452,7 @@ msgstr "" "sous-processus de Git lancés par %s\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -461,7 +462,7 @@ msgstr "" "Ceci est du à un problème connu avec\n" "le binaire Tcl distribué par Cygwin." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -478,7 +479,7 @@ msgstr "" "de l'utilisateur) et 'user.email' (addresse email\n" "de l'utilisateur) dans votre fichier '~/.gitconfig'.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - une interface graphique utilisateur pour Git" @@ -490,56 +491,56 @@ msgstr "Visionneur de fichier" msgid "Commit:" msgstr "Commit :" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Copier commit" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Lecture de %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Chargement des annotations de suivi des copies/déplacements..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "lignes annotées" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Chargement des annotations d'emplacement original" -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotation terminée." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Chargement des annotations..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Auteur :" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Commiteur :" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Fichier original :" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "A l'origine par :" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Dans le fichier :" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Copié ou déplacé ici par :" @@ -552,17 +553,17 @@ msgid "Checkout" msgstr "Emprunter" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Annuler" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Révision" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Options" @@ -582,7 +583,7 @@ msgstr "Créer branche" msgid "Create New Branch" msgstr "Créer nouvelle branche" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Créer" @@ -629,7 +630,8 @@ msgstr "Merci de choisir une branche de suivi" #: lib/branch_create.tcl:140 #, tcl-format msgid "Tracking branch %s is not a branch in the remote repository." -msgstr "La branche de suivi %s n'est pas une branche dans le référentiel distant." +msgstr "" +"La branche de suivi %s n'est pas une branche dans le référentiel distant." #: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 msgid "Please supply a branch name." @@ -722,22 +724,22 @@ msgstr "Lancement..." msgid "File Browser" msgstr "Visionneur de fichier" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Chargement de %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Jusqu'au parent]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Visionner fichiers de branches" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Visionner" @@ -751,7 +753,7 @@ msgstr "Récupération de %s à partir de %s" msgid "fatal: Cannot resolve %s" msgstr "Erreur fatale : Impossible de résoudre %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Fermer" @@ -796,9 +798,12 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" +"L'état lors de la dernière synchronisation ne correspond plus à l'état du " +"référentiel.\n" "\n" -"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynchronisation doit être effectuée avant de pouvoir modifier la branche courante.\n" +"Un autre programme Git a modifié ce référentiel depuis la dernière " +"synchronisation. Une resynchronisation doit être effectuée avant de pouvoir " +"modifier la branche courante.\n" "\n" "Cela va être fait tout de suite automatiquement.\n" @@ -807,10 +812,15 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Mise à jour du répertoire courant avec '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." -msgstr "Emprunt de '%s' abandonné. (Il est nécessaire de fusionner des fichiers.)" +msgstr "" +"Emprunt de '%s' abandonné. (Il est nécessaire de fusionner des fichiers.)" #: lib/checkout_op.tcl:354 msgid "File level merge required." @@ -830,9 +840,10 @@ msgid "" msgstr "" "Vous n'êtes plus ur une branche locale.\n" "\n" -"Si vous vouliez être sur une branche, créez en une maintenant en partant de 'Cet emprunt détaché'." +"Si vous vouliez être sur une branche, créez en une maintenant en partant de " +"'Cet emprunt détaché'." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' emprunté." @@ -851,7 +862,7 @@ msgstr "Récupérer les commits perdus ne sera peut être pas facile." msgid "Reset '%s'?" msgstr "Réinitialiser '%s' ?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Visualiser" @@ -867,7 +878,9 @@ msgid "" msgstr "" "Le changement de la branche courante a échoué.\n" "\n" -"Le répertoire courant n'est que partiellement modifié. Les fichiers ont été mis à jour avec succès, mais la mise à jour d'un fichier interne à Git a échouée.\n" +"Le répertoire courant n'est que partiellement modifié. Les fichiers ont été " +"mis à jour avec succès, mais la mise à jour d'un fichier interne à Git a " +"échouée.\n" "\n" "Cela n'aurait pas du se produire. %s va abandonner et se terminer." @@ -879,15 +892,15 @@ msgstr "Sélectionner" msgid "Font Family" msgstr "Famille de fonte" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Taille de fonte" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Exemple de fonte" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -895,225 +908,230 @@ msgstr "" "C'est un texte d'exemple.\n" "Si vous aimez ce texte, vous pouvez choisir cette fonte." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Créer nouveau référentiel" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Nouveau..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Cloner référentiel existant" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Cloner..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Ouvrir référentiel existant" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Ouvrir..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Référentiels récents" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Ouvrir référentiel récent :" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "L'emplacement %s existe déjà." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "La création du référentiel %s a échouée :" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Répertoire :" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Référentiel Git" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Le répertoire %s existe déjà." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Le fichier %s existe déjà." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Cloner" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL :" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Type de clonage :" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (rapide, semi-redondant, liens durs)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Copy complète (plus lent, sauvegarde redondante)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Partagé (le plus rapide, non recommandé, pas de sauvegarde)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "'%s' n'est pas un référentiel Git." -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard n'est disponible que pour un référentiel local." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Partagé n'est disponible que pour un référentiel local." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "L'emplacement %s existe déjà." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "La configuration de l'origine a échouée." -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Comptage des objets" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "paniers" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Impossible de copier 'objects/info/alternates' : %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Il n'y a rien à cloner depuis %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Cette branche 'master' n'a pas été initialisée." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Les liens durs ne sont pas disponibles. On se résoud à copier." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Clonage depuis %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Copie des objets" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Impossible de copier l'objet : %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Liaison des objets" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objets" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Impossible créer un lien dur pour l'objet : %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." -msgstr "Impossible de récupérer les branches et objets. Voir la sortie console pour plus de détails." +msgstr "" +"Impossible de récupérer les branches et objets. Voir la sortie console pour " +"plus de détails." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." -msgstr "Impossible de récupérer les marques. Voir la sortie console pour plus de détails." +msgstr "" +"Impossible de récupérer les marques. Voir la sortie console pour plus de " +"détails." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." -msgstr "Impossible de déterminer HEAD. Voir la sortie console pour plus de détails." +msgstr "" +"Impossible de déterminer HEAD. Voir la sortie console pour plus de détails." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Impossible de nettoyer %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Le clonage a échoué." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Aucune branche par défaut n'a été obtenue." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Impossible de résoudre %s comme commit." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Création du répertoire de travail" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "fichiers" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "L'emprunt initial de fichier a échoué." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Ouvrir" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Référentiel :" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Impossible d'ouvrir le référentiel %s :" @@ -1134,7 +1152,7 @@ msgstr "Branche locale" msgid "Tracking Branch" msgstr "Suivi de branche" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Marque" @@ -1151,11 +1169,11 @@ msgstr "Pas de révision selectionnée." msgid "Revision expression is empty." msgstr "L'expression de révision est vide." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Misa à jour" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1168,7 +1186,8 @@ msgid "" msgstr "" "Il n'y a rien à corriger.\n" "\n" -"Vous allez créer le commit initial. Il n'y a pas de commit avant celui-ci à corriger.\n" +"Vous allez créer le commit initial. Il n'y a pas de commit avant celui-ci à " +"corriger.\n" #: lib/commit.tcl:18 msgid "" @@ -1180,7 +1199,9 @@ msgid "" msgstr "" "Impossible de corriger pendant une fusion.\n" "\n" -"Vous êtes actuellement au milieu d'une fusion qui n'a pas été completement terminée. Vous ne pouvez pas corriger le commit précédant sauf si vous abandonnez la fusion courante.\n" +"Vous êtes actuellement au milieu d'une fusion qui n'a pas été completement " +"terminée. Vous ne pouvez pas corriger le commit précédant sauf si vous " +"abandonnez la fusion courante.\n" #: lib/commit.tcl:49 msgid "Error loading commit data for amend:" @@ -1203,9 +1224,12 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" +"L'état lors de la dernière synchronisation ne correspond plus à l'état du " +"référentiel.\n" "\n" -"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynshronisation doit être effectuée avant de pouvoir créer un nouveau commit.\n" +"Un autre programme Git a modifié ce référentiel depuis la dernière " +"synchronisation. Une resynshronisation doit être effectuée avant de pouvoir " +"créer un nouveau commit.\n" "\n" "Cela va être fait tout de suite automatiquement.\n" @@ -1219,7 +1243,8 @@ msgid "" msgstr "" "Des fichiers non fusionnés ne peuvent être commités.\n" "\n" -"Le fichier %s a des conflicts de fusion. Vous devez les résoudre et pré-commiter le fichier avant de pouvoir commiter.\n" +"Le fichier %s a des conflicts de fusion. Vous devez les résoudre et pré-" +"commiter le fichier avant de pouvoir commiter.\n" #: lib/commit.tcl:162 #, tcl-format @@ -1260,16 +1285,46 @@ msgstr "" "- Deuxième ligne : rien.\n" "- Lignes suivantes : Décrire pourquoi ces modifications sont bonnes.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "attention : Tcl ne supporte pas l'encodage '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "" + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "" + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "" + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree a échoué :" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#, fuzzy +msgid "Commit failed." +msgstr "Le clonage a échoué." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Le commit %s semble être corrompu" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1279,41 +1334,37 @@ msgid "" msgstr "" "Pas de modification à commiter.\n" "\n" -"Aucun fichier n'a été modifié par ce commit et il ne s'agit pas d'un commit de fusion.\n" +"Aucun fichier n'a été modifié par ce commit et il ne s'agit pas d'un commit " +"de fusion.\n" "\n" "Une resynchronisation va être lancée tout de suite automatiquement.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Pas de modifications à commiter." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "attention : Tcl ne supporte pas l'encodage '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree a échoué :" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref a échoué" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Commit créé %s : %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Travail en cours... merci de patienter..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Succès" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Erreur : échec de la commande" @@ -1345,7 +1396,7 @@ msgstr "Objets empaquetés attendant d'être supprimés" msgid "Garbage files" msgstr "Fichiers poubelle" -#: lib/database.tcl:72ets +#: lib/database.tcl:72 msgid "Compressing the object database" msgstr "Compression de la base des objets" @@ -1363,9 +1414,12 @@ msgid "" "\n" "Compress the database now?" msgstr "" -"Ce référentiel comprend actuellement environ %i objets ayant leur fichier particulier.\n" +"Ce référentiel comprend actuellement environ %i objets ayant leur fichier " +"particulier.\n" "\n" -"Pour conserver une performance optimale, il est fortement recommandé de comprimer la base quand plus de %i objets ayant leur fichier particulier existent.\n" +"Pour conserver une performance optimale, il est fortement recommandé de " +"comprimer la base quand plus de %i objets ayant leur fichier particulier " +"existent.\n" "\n" "Comprimer la base maintenant ?" @@ -1391,9 +1445,11 @@ msgstr "" "\n" "%s ne comporte aucune modification.\n" "\n" -"La date de modification de ce fichier a été mise à jour par une autre application, mais le contenu du fichier n'a pas changé.\n" +"La date de modification de ce fichier a été mise à jour par une autre " +"application, mais le contenu du fichier n'a pas changé.\n" "\n" -"Une resynchronisation va être lancée automatiquement pour trouver d'autres fichiers qui pourraient se trouver dans le même état." +"Une resynchronisation va être lancée automatiquement pour trouver d'autres " +"fichiers qui pourraient se trouver dans le même état." #: lib/diff.tcl:81 #, tcl-format @@ -1421,23 +1477,24 @@ msgstr "* Fichier binaire (pas d'apperçu du contenu)." msgid "Error loading diff:" msgstr "Erreur lors du chargement des différences :" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." -msgstr "La suppression dans le pré-commit de la section sélectionnée a échouée." +msgstr "" +"La suppression dans le pré-commit de la section sélectionnée a échouée." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Le pré-commit de la section sélectionnée a échoué." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "erreur" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "attention" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Vous devez corriger les erreurs suivantes avant de pouvoir commiter." @@ -1453,7 +1510,8 @@ msgstr "Erreur de pré-commit" msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." -msgstr "Le pré-commit a échoué. Une resynchronisation va être lancée automatiquement." +msgstr "" +"Le pré-commit a échoué. Une resynchronisation va être lancée automatiquement." #: lib/index.tcl:27 msgid "Continue" @@ -1468,6 +1526,11 @@ msgstr "Dévérouiller le pré-commit" msgid "Unstaging %s from commit" msgstr "Supprimer %s du commit" +#: lib/index.tcl:313 +#, fuzzy +msgid "Ready to commit." +msgstr "Pré-commité" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1483,11 +1546,13 @@ msgstr "Inverser les modifications dans le fichier %s ? " msgid "Revert changes in these %i files?" msgstr "Inverser les modifications dans ces %i fichiers ?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." -msgstr "Toutes les modifications non pré-commitées seront définitivement perdues lors de l'inversion." +msgstr "" +"Toutes les modifications non pré-commitées seront définitivement perdues " +"lors de l'inversion." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Ne rien faire" @@ -1499,7 +1564,8 @@ msgid "" msgstr "" "Impossible de fucionner pendant une correction.\n" "\n" -"Vous devez finir de corriger ce commit avant de lancer une quelconque fusion.\n" +"Vous devez finir de corriger ce commit avant de lancer une quelconque " +"fusion.\n" #: lib/merge.tcl:27 msgid "" @@ -1510,9 +1576,12 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" +"L'état lors de la dernière synchronisation ne correspond plus à l'état du " +"référentiel.\n" "\n" -"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynchronisation doit être effectuée avant de pouvoir fusionner de nouveau.\n" +"Un autre programme Git a modifié ce référentiel depuis la dernière " +"synchronisation. Une resynchronisation doit être effectuée avant de pouvoir " +"fusionner de nouveau.\n" "\n" "Cela va être fait tout de suite automatiquement\n" @@ -1530,7 +1599,9 @@ msgstr "" "\n" "Le fichier %s a des conflicts de fusion.\n" "\n" -"Vous devez les résoudre, puis pré-commiter le fichier, et enfin commiter pour terminer la fusion courante. Seulementà ce moment là, il sera possible d'effectuer une nouvelle fusion.\n" +"Vous devez les résoudre, puis pré-commiter le fichier, et enfin commiter " +"pour terminer la fusion courante. Seulementà ce moment là, il sera possible " +"d'effectuer une nouvelle fusion.\n" #: lib/merge.tcl:54 #, tcl-format @@ -1546,7 +1617,9 @@ msgstr "" "\n" "Le fichier %s est modifié.\n" "\n" -"Vous devriez terminer le commit courant avant de lancer une fusion. En faisait comme cela, vous éviterez de devoir éventuellement abandonner une fusion ayant échouée.\n" +"Vous devriez terminer le commit courant avant de lancer une fusion. En " +"faisait comme cela, vous éviterez de devoir éventuellement abandonner une " +"fusion ayant échouée.\n" #: lib/merge.tcl:106 #, tcl-format @@ -1554,28 +1627,28 @@ msgid "%s of %s" msgstr "%s de %s" #: lib/merge.tcl:119 -#, tcl-format -msgid "Merging %s and %s" +#, fuzzy, tcl-format +msgid "Merging %s and %s..." msgstr "Fusion de %s et %s" -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "La fusion s'est faite avec succès." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "La fusion a echouée. Il est nécessaire de résoudre les conflicts." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Fusion dans %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Révision à fusionner" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1585,7 +1658,7 @@ msgstr "" "\n" "Vous devez finir de corriger ce commit.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1595,11 +1668,12 @@ msgid "" msgstr "" "Abandonner la fusion ?\n" "\n" -"Abandonner la fusion courante entrainera la perte de TOUTES les modifications non commitées.\n" +"Abandonner la fusion courante entrainera la perte de TOUTES les " +"modifications non commitées.\n" "\n" "Abandonner quand même la fusion courante ?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1609,97 +1683,112 @@ msgid "" msgstr "" "Réinitialiser les modifications ?\n" "\n" -"Réinitialiser les modifications va faire perdre TOUTES les modifications non commitées.\n" +"Réinitialiser les modifications va faire perdre TOUTES les modifications non " +"commitées.\n" "\n" "Réinitialiser quand même les modifications courantes ?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Abandon" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +#, fuzzy +msgid "files reset" +msgstr "fichiers" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "L'abandon a échoué." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Abandon teminé. Prêt." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Remettre les valeurs par défaut" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Sauvegarder" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Référentiel de %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Globales (tous les référentiels)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Nom d'utilisateur" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Adresse email" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Résumer les commits de fusion" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Fusion bavarde" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Montrer statistiques de diff après fusion" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Faire confiance aux dates de modification de fichiers " -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "Nettoyer les branches de suivi pendant la récupération" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Faire correspondre les branches de suivi" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Nombre de lignes de contexte dans les diffs" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "Message de commit :" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Nouveau modèle de nom de branche" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Modifier les fontes" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Choisir %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Préférences" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "La sauvegarde complète des options a échouée :" @@ -1755,7 +1844,9 @@ msgstr "" msgid "" "One or more of the merge tests failed because you have not fetched the " "necessary commits. Try fetching from %s first." -msgstr "Une ou plusieurs des tests de fusion ont échoués parce que vous n'avez pas récupéré les commits nécessaires. Essayez de récupéré à partir de %s d'abord." +msgstr "" +"Une ou plusieurs des tests de fusion ont échoués parce que vous n'avez pas " +"récupéré les commits nécessaires. Essayez de récupéré à partir de %s d'abord." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1805,6 +1896,43 @@ msgstr "Impossible d'écrire le raccourcis :" msgid "Cannot write icon:" msgstr "Impossible d'écrire l'icône :" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" @@ -1863,7 +1991,9 @@ msgstr "Transférer options" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "Forcer l'écrasement d'une branche existante (peut supprimer des modifications)" +msgstr "" +"Forcer l'écrasement d'une branche existante (peut supprimer des " +"modifications)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" @@ -1872,4 +2002,3 @@ msgstr "Utiliser des petits paquets (pour les connexions lentes)" #: lib/transport.tcl:168 msgid "Include tags" msgstr "Inclure les marques" - diff --git a/po/git-gui.pot b/po/git-gui.pot index 2e332849fb..813199f782 100644 --- a/po/git-gui.pot +++ b/po/git-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-02-16 21:24+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,33 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -54,79 +54,79 @@ msgid "" "Assume '%s' is version 1.5.0?\n" msgstr "" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "" -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "" -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "" -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "" -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -134,295 +134,295 @@ msgid "" "%s does not exist" msgstr "" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "" -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "" -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "" -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "" -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "" -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "" -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "" -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "" -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "" -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "" -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "" -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "" -#: git-gui.sh:2573 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "" -#: git-gui.sh:2579 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "" -#: git-gui.sh:2586 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "" -#: git-gui.sh:2594 +#: git-gui.sh:2610 msgid "Refresh" msgstr "" -#: git-gui.sh:2615 +#: git-gui.sh:2631 msgid "Decrease Font Size" msgstr "" -#: git-gui.sh:2619 +#: git-gui.sh:2635 msgid "Increase Font Size" msgstr "" -#: git-gui.sh:2630 +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "" -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -433,14 +433,14 @@ msgid "" "\n" msgstr "" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -451,7 +451,7 @@ msgid "" "~/.gitconfig file.\n" msgstr "" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "" @@ -463,56 +463,56 @@ msgstr "" msgid "Commit:" msgstr "" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "" -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "" -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "" -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "" -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "" -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "" @@ -525,17 +525,17 @@ msgid "Checkout" msgstr "" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "" @@ -555,7 +555,7 @@ msgstr "" msgid "Create New Branch" msgstr "" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "" @@ -690,22 +690,22 @@ msgstr "" msgid "File Browser" msgstr "" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "" -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "" @@ -719,7 +719,7 @@ msgstr "" msgid "fatal: Cannot resolve %s" msgstr "" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "" @@ -792,7 +792,7 @@ msgid "" "Checkout'." msgstr "" -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "" @@ -811,7 +811,7 @@ msgstr "" msgid "Reset '%s'?" msgstr "" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "" @@ -834,239 +834,239 @@ msgstr "" msgid "Font Family" msgstr "" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "" -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "" -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "" -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "" - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "" -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "" -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "" -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "" -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "" -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "" -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "" -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "" -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "" -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "" -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "" -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "" -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "" @@ -1087,7 +1087,7 @@ msgstr "" msgid "Tracking Branch" msgstr "" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "" @@ -1104,11 +1104,11 @@ msgstr "" msgid "Revision expression is empty." msgstr "" -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "" @@ -1224,7 +1224,7 @@ msgstr "" msgid "Commit %s appears to be corrupt" msgstr "" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1233,7 +1233,7 @@ msgid "" "A rescan will be automatically started now.\n" msgstr "" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "" @@ -1241,24 +1241,24 @@ msgstr "" msgid "commit-tree failed:" msgstr "" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "" -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "" @@ -1354,23 +1354,23 @@ msgstr "" msgid "Error loading diff:" msgstr "" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "" -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "" -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "" @@ -1420,11 +1420,11 @@ msgstr "" msgid "Revert changes in these %i files?" msgstr "" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "" @@ -1481,27 +1481,27 @@ msgstr "" msgid "Merge completed successfully." msgstr "" -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "" -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" "You must finish amending this commit.\n" msgstr "" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1510,7 +1510,7 @@ msgid "" "Continue with aborting the current merge?" msgstr "" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1519,7 +1519,7 @@ msgid "" "Continue with resetting the current changes?" msgstr "" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "" @@ -1531,89 +1531,93 @@ msgstr "" msgid "Abort failed." msgstr "" -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "" -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "" -#: lib/option.tcl:191 +#: lib/option.tcl:192 msgid "Spelling Dictionary:" msgstr "" -#: lib/option.tcl:215 +#: lib/option.tcl:216 msgid "Change Font" msgstr "" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "" @@ -1713,23 +1717,40 @@ msgstr "" msgid "Cannot write icon:" msgstr "" -#: lib/spellcheck.tcl:37 -msgid "Not connected to aspell" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" msgstr "" -#: lib/spellcheck.tcl:41 -msgid "Unrecognized aspell version" +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" msgstr "" -#: lib/spellcheck.tcl:135 +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "" -#: lib/spellcheck.tcl:336 -msgid "Unexpected EOF from aspell" +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" msgstr "" -#: lib/spellcheck.tcl:340 +#: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" msgstr "" diff --git a/po/hu.po b/po/hu.po index e3f96a3bc0..89980d2067 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui-i 18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-02-16 21:24+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2008-03-13 13:30+0100\n" "Last-Translator: Miklos Vajna \n" "Language-Team: Hungarian\n" @@ -16,33 +16,33 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: végzetes hiba" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Érvénytelen font lett megadva itt: %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Fő betűtípus" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Diff/konzol betűtípus" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "A git nem található a PATH-ban." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Nem értelmezhető a Git verzió sztring:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +61,79 @@ msgstr "" "\n" "Feltételezhetjük, hogy a(z) '%s' verziója legalább 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "A Git könyvtár nem található:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Nem lehet a munkakönyvtár tetejére lépni:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Nem használható vicces .git könyvtár:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Nincs munkakönyvtár" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "A fájlok státuszának frissítése..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Módosított fájlok keresése ..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Kész." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Nem módosított" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Módosított, de nem kiválasztott" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Kiválasztva commitolásra" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Részek kiválasztva commitolásra" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Kiválasztva commitolásra, hiányzó" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Nem követett, nem kiválasztott" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Hiányzó" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Kiválasztva eltávolításra" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Kiválasztva eltávolításra, jelenleg is elérhető" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Merge feloldás szükséges" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "A gitk indítása... várjunk..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,296 +144,296 @@ msgstr "" "\n" "A(z) %s nem létezik" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Repó" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Szerkesztés" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Branch" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Commit@@főnév" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Merge" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Távoli" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "A jelenlegi branch fájljainak böngészése" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "A branch fájljainak böngészése..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "A jelenlegi branch történetének vizualizálása" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Az összes branch történetének vizualizálása" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "A(z) %s branch fájljainak böngészése" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "A(z) %s branch történetének vizualizálása" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Adatbázis statisztikák" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Adatbázis tömörítése" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Adatbázis ellenőrzése" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Asztal ikon létrehozása" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Kilépés" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Visszavonás" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Mégis" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Kivágás" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Másolás" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Beillesztés" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Törlés" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Mindent kiválaszt" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Létrehozás..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Checkout..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Átnevezés..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Törlés..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Visszaállítás..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Új commit" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Utolsó commit javítása" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Keresés újra" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Kiválasztás commitolásra" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Módosított fájlok kiválasztása commitolásra" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Commitba való kiválasztás visszavonása" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Változtatások visszaállítása" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Aláír" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Commit@@ige" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Helyi merge..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Merge megszakítása..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Push..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Névjegy: %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Beállítások..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Opciók..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Segítség" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Online dokumentáció" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "végzetes hiba: nem érhető el a(z) %s útvonal: Nincs ilyen fájl vagy könyvtár" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Jelenlegi branch:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Kiválasztott változtatások (commitolva lesz)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Kiválasztatlan változtatások" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Változtatások kiválasztása" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Push" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Kezdeti commit üzenet:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Javító commit üzenet:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Kezdeti javító commit üzenet:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Javító merge commit üzenet:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Merge commit üzenet:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Commit üzenet:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Összes másolása" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Fájl:" -#: git-gui.sh:2573 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Hunk alkalmazása/visszaállítása" -#: git-gui.sh:2579 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Kevesebb környezet mutatása" -#: git-gui.sh:2586 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Több környezet mutatása" -#: git-gui.sh:2594 +#: git-gui.sh:2610 msgid "Refresh" msgstr "Frissítés" -#: git-gui.sh:2615 +#: git-gui.sh:2631 msgid "Decrease Font Size" msgstr "Font méret csökkentése" -#: git-gui.sh:2619 +#: git-gui.sh:2635 msgid "Increase Font Size" msgstr "Fönt méret növelése" -#: git-gui.sh:2630 +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Hunk törlése commitból" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Hunk kiválasztása commitba" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Inicializálás..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -450,7 +450,7 @@ msgstr "" "indított folyamatok által:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -460,7 +460,7 @@ msgstr "" "Ez a Cygwin által terjesztett Tcl binárisban\n" "lévő ismert hiba miatt van." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -477,7 +477,7 @@ msgstr "" "elhelyezése a személyes\n" "~/.gitconfig fájlba.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - egy grafikus felület a Githez." @@ -489,56 +489,56 @@ msgstr "Fájl néző" msgid "Commit:" msgstr "Commit:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Commit másolása" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "A(z) %s olvasása..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "A másolást/átnevezést követő annotációk betöltése..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "sor annotálva" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Az eredeti hely annotációk betöltése..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Az annotáció kész." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Az annotáció betöltése..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Szerző:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Commiter:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Eredeti fájl:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "Eredeti szerző:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Ebben a fájlban:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Ide másolta vagy helyezte:" @@ -551,17 +551,17 @@ msgid "Checkout" msgstr "Checkout" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Mégsem" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Revízió" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Opciók" @@ -581,7 +581,7 @@ msgstr "Branch létrehozása" msgid "Create New Branch" msgstr "Új branch létrehozása" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Létrehozás" @@ -721,22 +721,22 @@ msgstr "Indítás..." msgid "File Browser" msgstr "Fájl böngésző" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "A(z) %s betöltése..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Fel a szülőhöz]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "A branch fájljainak böngészése" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Böngészés" @@ -750,7 +750,7 @@ msgstr "A(z) %s letöltése innen: %s" msgid "fatal: Cannot resolve %s" msgstr "végzetes: Nem lehet feloldani a következőt: %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Bezárás" @@ -838,7 +838,7 @@ msgstr "" "Ha egy branchen szeretnénk lenni, hozzunk létre egyet az 'Ez a leválasztott " "checkout'-ból." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' kifejtve." @@ -858,7 +858,7 @@ msgstr "Az elveszett commitok helyreállítása nem biztos, hogy egyszerű." msgid "Reset '%s'?" msgstr "Visszaállítjuk a következőt: '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Vizualizálás" @@ -887,15 +887,15 @@ msgstr "Kiválaszt" msgid "Font Family" msgstr "Font család" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Font méret" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Font példa" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -903,227 +903,227 @@ msgstr "" "Ez egy példa szöveg.\n" "Ha ez megfelel, ez lehet a betűtípus." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Új repó létrehozása" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Új..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Létező repó másolása" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Másolás..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Létező könyvtár megnyitása" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Meggyitás..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Legutóbbi repók" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Legutóbbi repók megnyitása:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "A(z) '%s' hely már létezik." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Nem sikerült letrehozni a(z) %s repót:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Könyvtár:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Git repó" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "A(z) '%s' könyvtár már létezik." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "A(z) '%s' fájl már létezik." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Bezárás" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Másolás típusa:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Általános (Gyors, félig-redundáns, hardlinkek)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Teljes másolás (Lassabb, redundáns biztonsági mentés)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Megosztott (Leggyorsabb, nem ajánlott, nincs mentés)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Nem Git repó: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "A standard csak helyi repókra érhető el." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "A megosztott csak helyi repókra érhető el." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "A(z) '%s' hely már létezik." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Nem sikerült beállítani az origint" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Objektumok számolása" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "vödrök" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Nem sikerült másolni az objects/info/alternates-t: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Semmi másolni való nincs innen: %s" -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "A 'master' branch nincs inicializálva." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Nem érhetőek el hardlinkek. Másolás használata." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Másolás innen: %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Objektumok másolása" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Nem sikerült másolni az objektumot: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Objektumok összefűzése" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objektum" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Nem sikerült hardlinkelni az objektumot: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Nem sikerült letölteni a branch-eket és az objektumokat. Bővebben a " "konzolos kimenetben." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "Nem sikerült letölteni a tageket. Bővebben a konzolos kimenetben." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "Nem sikerült megállapítani a HEAD-et. Bővebben a konzolos kimenetben." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Nem sikerült tiszítani: %s." -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "A másolás nem sikerült." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Nincs alapértelmezett branch." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Nem sikerült felöldani a(z) %s objektumot commitként." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Munkakönyvtár létrehozása" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "fájl" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "A kezdeti fájl-kibontás sikertelen." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Megnyitás" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Repó:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Nem sikerült megnyitni a(z) %s repót:" @@ -1144,7 +1144,7 @@ msgstr "Helyi branch" msgid "Tracking Branch" msgstr "Követő branch" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Tag" @@ -1161,11 +1161,11 @@ msgstr "Nincs kiválasztva revízió." msgid "Revision expression is empty." msgstr "A revízió kifejezés üres." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Frissítve" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1313,7 +1313,7 @@ msgstr "A commit nem sikerült." msgid "Commit %s appears to be corrupt" msgstr "A(z) %s commit sérültnek tűnik" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1327,7 +1327,7 @@ msgstr "" "\n" "Az újrakeresés most automatikusan el fog indulni.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Nincs commitolandó változtatás." @@ -1335,24 +1335,24 @@ msgstr "Nincs commitolandó változtatás." msgid "commit-tree failed:" msgstr "a commit-tree sikertelen:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "az update-ref sikertelen:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Létrejött a %s commit: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Munka folyamatban.. Várjunk..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Siker" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Hiba: a parancs sikertelen" @@ -1462,23 +1462,23 @@ msgstr "* Bináris fájl (tartalom elrejtése)." msgid "Error loading diff:" msgstr "Hiba a diff betöltése közben:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Nem visszavonni a hunk kiválasztását." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Nem sikerült kiválasztani a hunkot." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "hiba" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "figyelmeztetés" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Ki kell javítanunk a fenti hibákat commit előtt." @@ -1530,13 +1530,13 @@ msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" msgid "Revert changes in these %i files?" msgstr "Visszaállítja a változtatásokat ebben e %i fájlban?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Minden nem kiválasztott változtatás el fog veszni ezáltal a visszaállítás " "által." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Ne csináljunk semmit" @@ -1616,20 +1616,20 @@ msgstr "A(z) %s és a(z) %s merge-ölése..." msgid "Merge completed successfully." msgstr "A merge sikeresen befejeződött." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "A merge sikertelen. Fel kell oldanunk az ütközéseket." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Merge-ölés a következőbe: %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Merge-ölni szándékozott revízió" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1639,7 +1639,7 @@ msgstr "" "\n" "Be kell fejeznünk ennek a commitnak a javítását.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1654,7 +1654,7 @@ msgstr "" "\n" "Folytatjuk a jelenlegi merge megszakítását?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1669,7 +1669,7 @@ msgstr "" "\n" "Folytatjuk a jelenlegi módosítások visszavonását?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Félbeszakítás" @@ -1681,89 +1681,94 @@ msgstr "fájl visszaállítva" msgid "Abort failed." msgstr "A félbeszakítás nem sikerült." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "A megkeszakítás befejeződött. Kész." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Alapértelmezés visszaállítása" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Mentés" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "%s Repó" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Globális (minden repó)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Felhasználónév" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Email cím" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "A merge commitok összegzése" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Merge beszédesség" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Diffstat mutatása merge után" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "A fájl módosítási dátumok megbízhatóak" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "A követő branchek eltávolítása letöltés alatt" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "A követő branchek egyeztetése" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "A diff környezeti sorok száma" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "Commit üzenet:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Új branch név sablon" -#: lib/option.tcl:191 +#: lib/option.tcl:192 msgid "Spelling Dictionary:" msgstr "Helyesírás-ellenőrző szótár:" -#: lib/option.tcl:215 +#: lib/option.tcl:216 msgid "Change Font" msgstr "Betűtípus megváltoztatása" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "%s választása" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "pt." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Beállítások" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Nem sikerült teljesen elmenteni a beállításokat:" @@ -1871,23 +1876,44 @@ msgstr "Nem sikerült írni a gyorsbillentyűt:" msgid "Cannot write icon:" msgstr "Nem sikerült írni az ikont:" -#: lib/spellcheck.tcl:37 -msgid "Not connected to aspell" -msgstr "Nincs kapcsolat az aspellhez" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" -#: lib/spellcheck.tcl:41 -msgid "Unrecognized aspell version" +#: lib/spellcheck.tcl:65 +#, fuzzy +msgid "Spell checking is unavailable" +msgstr "A helyesírás-ellenőrzés sikertelen" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +#, fuzzy +msgid "Spell checker silently failed on startup" +msgstr "A helyesírás-ellenőrzés sikertelen" + +#: lib/spellcheck.tcl:80 +#, fuzzy +msgid "Unrecognized spell checker" msgstr "Ismeretlen aspell verzió" -#: lib/spellcheck.tcl:135 +#: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "Nincs javaslat" -#: lib/spellcheck.tcl:336 -msgid "Unexpected EOF from aspell" +#: lib/spellcheck.tcl:381 +#, fuzzy +msgid "Unexpected EOF from spell checker" msgstr "Nem várt EOF az aspelltől" -#: lib/spellcheck.tcl:340 +#: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" msgstr "A helyesírás-ellenőrzés sikertelen" @@ -1961,6 +1987,9 @@ msgstr "Vékony csomagok használata (lassú hálózati kapcsolatok számára)" msgid "Include tags" msgstr "Tageket is" +#~ msgid "Not connected to aspell" +#~ msgstr "Nincs kapcsolat az aspellhez" + #~ msgid "Cannot find the git directory:" #~ msgstr "Nem található a git könyvtár:" diff --git a/po/it.po b/po/it.po index 60c9973acf..877e7e85af 100644 --- a/po/it.po +++ b/po/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-03-12 22:09+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2008-03-12 22:12+0100\n" "Last-Translator: Michele Ballabio \n" "Language-Team: Italian \n" @@ -1784,18 +1784,6 @@ msgstr "Preferenze" msgid "Failed to completely save options:" msgstr "Impossibile salvare completamente le opzioni:" -#: lib/remote.tcl:165 -msgid "Prune from" -msgstr "Effettua potatura da" - -#: lib/remote.tcl:170 -msgid "Fetch from" -msgstr "Recupera da" - -#: lib/remote.tcl:213 -msgid "Push to" -msgstr "Propaga verso" - #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "Cancella ramo remoto" @@ -1880,6 +1868,18 @@ msgstr "Nessun archivio selezionato." msgid "Scanning %s..." msgstr "Analisi in corso %s..." +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "Effettua potatura da" + +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "Recupera da" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "Propaga verso" + #: lib/shortcut.tcl:20 lib/shortcut.tcl:61 msgid "Cannot write shortcut:" msgstr "Impossibile scrivere shortcut:" @@ -1910,6 +1910,7 @@ msgid "Spell checker silently failed on startup" msgstr "Il correttore ortografico ha riportato un errore all'avvio" #: lib/spellcheck.tcl:80 +#, fuzzy msgid "Unrecognized spell checker" msgstr "Correttore ortografico sconosciuto" @@ -1918,6 +1919,7 @@ msgid "No Suggestions" msgstr "Nessun suggerimento" #: lib/spellcheck.tcl:381 +#, fuzzy msgid "Unexpected EOF from spell checker" msgstr "Il correttore ortografico ha mandato un EOF inaspettato" diff --git a/po/ja.po b/po/ja.po index e2cf5bdc06..dd4e039124 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2007-12-05 06:12+0900\n" "Last-Translator: しらいし ななこ \n" "Language-Team: Japanese\n" @@ -16,33 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: 致命的なエラー" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s に無効なフォントが指定されています:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "主フォント" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "diff/コンソール・フォント" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "PATH 中に git が見つかりません" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Git バージョン名が理解できません:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +61,79 @@ msgstr "" "\n" "'%s' はバージョン 1.5.0 と思って良いですか?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git ディレクトリが見つかりません:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "作業ディレクトリの最上位に移動できません" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "変な .git ディレクトリは使えません" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "作業ディレクトリがありません" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "ファイル状態を更新しています…" -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "変更されたファイルをスキャンしています…" -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "準備完了" -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "変更無し" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "変更あり、コミット未予定" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "コミット予定済" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "部分的にコミット予定済" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "コミット予定済、ファイル無し" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "管理外、コミット未予定" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "ファイル無し" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "削除予定済" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "削除予定済、ファイル未削除" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "要マージ解決" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "gitk を起動中…お待ち下さい…" -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,297 +144,297 @@ msgstr "" "\n" "%s がありません" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "リポジトリ" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "編集" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "ブランチ" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "コミット" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "マージ" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "リモート" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "現在のブランチのファイルを見る" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "ブランチのファイルを見る…" -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "現在のブランチの履歴を見る" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "全てのブランチの履歴を見る" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "ブランチ %s のファイルを見る" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "ブランチ %s の履歴を見る" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "データベース統計" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "データベース圧縮" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "データベース検証" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "デスクトップ・アイコンを作る" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "終了" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "元に戻す" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "やり直し" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "切り取り" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "コピー" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "貼り付け" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "削除" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "全て選択" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "作成…" -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "チェックアウト" -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "名前変更…" -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "削除…" -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "リセット…" -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "新規コミット" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "最新コミットを訂正" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "再スキャン" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "コミット予定する" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "変更されたファイルをコミット予定" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "コミットから降ろす" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "変更を元に戻す" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "署名" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "コミット" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "ローカル・マージ…" -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "マージ中止…" -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "プッシュ…" -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "りんご" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "%s について" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "設定…" -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "オプション…" -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "ヘルプ" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "オンライン・ドキュメント" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "致命的: パス %s が stat できません。そのようなファイルやディレクトリはありま" "せん" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "現在のブランチ" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "ステージングされた(コミット予定済の)変更" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "コミット予定に入っていない変更" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "変更をコミット予定に入れる" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "プッシュ" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "最初のコミットメッセージ:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "訂正したコミットメッセージ:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "訂正した最初のコミットメッセージ:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "訂正したマージコミットメッセージ:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "マージコミットメッセージ:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "コミットメッセージ:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "全てコピー" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "ファイル:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "再読み込み" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "パッチを適用/取り消す" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "フォントを小さく" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "フォントを大きく" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "文脈を少なく" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "文脈を多く" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "再読み込み" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "フォントを小さく" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "フォントを大きく" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "パッチをコミット予定から外す" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "パッチをコミット予定に加える" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "初期化しています…" -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -449,7 +449,7 @@ msgstr "" "以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -459,7 +459,7 @@ msgstr "" "これは Cygwin で配布されている Tcl バイナリに\n" "関しての既知の問題によります" -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -474,7 +474,7 @@ msgstr "" "個人的な ~/.gitconfig ファイル内で user.name と user.email の値を設定\n" "するのが、%s の良い代用となります\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "Git のグラフィカルUI git-gui" @@ -486,56 +486,56 @@ msgstr "ファイルピューワ" msgid "Commit:" msgstr "コミット:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "コミットをコピー" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "%s を読んでいます…" -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "コピー・移動追跡データを読んでいます…" -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "行を注釈しました" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "元位置行の注釈データを読んでいます…" -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "注釈完了しました" -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "注釈を読み込んでいます…" -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "作者:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "コミット者:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "元ファイル" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "原作者:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "ファイル:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "複写・移動者:" @@ -548,17 +548,17 @@ msgid "Checkout" msgstr "チェックアウト" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "中止" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "リビジョン" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "オプション" @@ -578,7 +578,7 @@ msgstr "ブランチを作成" msgid "Create New Branch" msgstr "ブランチを新規作成" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "作成" @@ -718,22 +718,22 @@ msgstr "起動中…" msgid "File Browser" msgstr "ファイル・ブラウザ" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "%s をロード中…" -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[上位フォルダへ]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "現在のブランチのファイルを見る" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "ブラウズ" @@ -747,7 +747,7 @@ msgstr "%s から %s をフェッチしています" msgid "fatal: Cannot resolve %s" msgstr "致命的エラー: %s を解決できません" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "閉じる" @@ -804,6 +804,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "作業ディレクトリを '%s' に更新しています…" +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -830,7 +834,7 @@ msgstr "" "ブランチ上に滞まりたいときは、この「分離されたチェックアウト」から新規ブラン" "チを開始してください。" -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' をチェックアウトしました" @@ -849,7 +853,7 @@ msgstr "失なわれたコミットを回復するのは簡単ではありませ msgid "Reset '%s'?" msgstr "'%s' をリセットしますか?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "可視化" @@ -877,15 +881,15 @@ msgstr "選択" msgid "Font Family" msgstr "フォント・ファミリー" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "フォントの大きさ" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "フォント・サンプル" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -893,225 +897,225 @@ msgstr "" "これはサンプル文です。\n" "このフォントが気に入ればお使いになれます。" -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git GUI" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "新しいリポジトリを作る" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "新規…" -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "既存リポジトリを複製する" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "複製…" -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "既存リポジトリを開く" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "開く…" -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "最近使ったリポジトリ" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "最近使ったリポジトリを開く" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "'%s' は既に存在します。" - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "リポジトリ %s を作製できません:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "ディレクトリ:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "GIT リポジトリ" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "ディレクトリ '%s' は既に存在します。" -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "ファイル '%s' は既に存在します。" -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "複製" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "複製方式:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "標準(高速・中冗長度・ハードリンク)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "全複写(低速・冗長バックアップ)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "共有(最高速・非推奨・バックアップ無し)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Git リポジトリではありません: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "'%s' は既に存在します。" + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "origin を設定できませんでした" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "オブジェクトを数えています" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "バケツ" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "objects/info/alternates を複写できません: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "%s から複製する内容はありません" -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "'master' ブランチが初期化されていません" -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "ハードリンクが作れないので、コピーします" -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "%s から複製しています" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "オブジェクトを複写しています" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "オブジェクトを複写できません: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "オブジェクトを連結しています" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "オブジェクト" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "オブジェクトをハードリンクできません: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "タグを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "HEAD を確定できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "%s を掃除できません" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "複写に失敗しました。" -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "デフォールト・ブランチが取得されませんでした" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "%s をコミットとして解釈できません" -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "作業ディレクトリを作成しています" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "ファイル" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "初期チェックアウトに失敗しました" -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "開く" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "リポジトリ:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "リポジトリ %s を開けません:" @@ -1132,7 +1136,7 @@ msgstr "ローカル・ブランチ" msgid "Tracking Branch" msgstr "トラッキング・ブランチ" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "タグ" @@ -1149,11 +1153,11 @@ msgstr "リビジョンが未選択です。" msgid "Revision expression is empty." msgstr "リビジョン式が空です。" -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "更新しました" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1262,16 +1266,46 @@ msgstr "" "- 第2行: 空白\n" "- 残りの行: なぜ、この変更が良い変更か、の説明。\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "警告: Tcl はエンコーディング '%s' をサポートしていません" + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "" + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "" + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "" + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree が失敗しました:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#, fuzzy +msgid "Commit failed." +msgstr "複写に失敗しました。" + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "コミット %s は壊れています" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1285,37 +1319,32 @@ msgstr "" "\n" "自動的に再スキャンを開始します。\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "コミットする変更がありません。" -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "警告: Tcl はエンコーディング '%s' をサポートしていません" - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree が失敗しました:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref が失敗しました:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "コミット %s を作成しました: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "実行中…お待ち下さい…" -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "成功" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "エラー: コマンドが失敗しました" @@ -1425,23 +1454,23 @@ msgstr "* バイナリファイル(内容は表示しません)" msgid "Error loading diff:" msgstr "diff を読む際のエラーです:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "選択されたパッチをコミット予定から外せません。" -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "選択されたパッチをコミット予定に加えられません。" -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "エラー" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "警告" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "コミットする前に、以上のエラーを修正して下さい" @@ -1457,7 +1486,9 @@ msgstr "索引エラー" msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." -msgstr "GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンします。" +msgstr "" +"GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンし" +"ます。" #: lib/index.tcl:27 msgid "Continue" @@ -1472,6 +1503,11 @@ msgstr "インデックスのロック解除" msgid "Unstaging %s from commit" msgstr "コミットから '%s' を降ろす" +#: lib/index.tcl:313 +#, fuzzy +msgid "Ready to commit." +msgstr "コミット予定済" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1487,11 +1523,11 @@ msgstr "ファイル %s にした変更を元に戻しますか?" msgid "Revert changes in these %i files?" msgstr "これら %i 個のファイルにした変更を元に戻しますか?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "何もしない" @@ -1561,28 +1597,28 @@ msgid "%s of %s" msgstr "%s の %s ブランチ" #: lib/merge.tcl:119 -#, tcl-format -msgid "Merging %s and %s" +#, fuzzy, tcl-format +msgid "Merging %s and %s..." msgstr "%s と %s をマージします" -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "マージが完了しました" -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "マージが失敗しました。衝突の解決が必要です。" -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "%s にマージ" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "マージするリビジョン" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1592,7 +1628,7 @@ msgstr "" "\n" "まず今のコミット訂正を完了させて下さい。\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1606,7 +1642,7 @@ msgstr "" "\n" "マージを中断してよろしいですか?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1620,93 +1656,107 @@ msgstr "" "\n" "リセットしてよろしいですか?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "中断しています" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +#, fuzzy +msgid "files reset" +msgstr "ファイル" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "中断に失敗しました。" -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "中断完了。" -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "既定値に戻す" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "保存" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "%s リポジトリ" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "大域(全てのリポジトリ)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "ユーザ名" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "電子メールアドレス" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "マージコミットの要約" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "マージの冗長度" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "マージ後に diffstat を表示" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "ファイル変更時刻を信頼する" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "フェッチ中にトラッキングブランチを刈る" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "トラッキングブランチを合わせる" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "diff の文脈行数" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "コミットメッセージ:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "新しいブランチ名のテンプレート" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "フォントを変更" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "%s を選択" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "ポイント" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "設定" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "完全にオプションを保存できません:" @@ -1814,6 +1864,43 @@ msgstr "ショートカットが書けません:" msgid "Cannot write icon:" msgstr "アイコンが書けません:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" diff --git a/po/ru.po b/po/ru.po index 6727a832ea..849dc5c343 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-31 21:23+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2007-10-22 22:30-0200\n" "Last-Translator: Alex Riesen \n" "Language-Team: Russian Translation \n" @@ -15,33 +15,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:597 git-gui.sh:611 git-gui.sh:624 git-gui.sh:707 -#: git-gui.sh:726 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: критическая ошибка" -#: git-gui.sh:558 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "В %s установлен неверный шрифт:" -#: git-gui.sh:583 +#: git-gui.sh:620 msgid "Main Font" msgstr "Шрифт интерфейса" -#: git-gui.sh:584 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Шрифт консоли и изменений (diff)" -#: git-gui.sh:598 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "git не найден в PATH." -#: git-gui.sh:625 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Невозможно распознать строку версии Git: " -#: git-gui.sh:643 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -59,79 +59,79 @@ msgstr "" "\n" "Принять '%s' как версию 1.5.0?\n" -#: git-gui.sh:881 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Каталог Git не найден:" -#: git-gui.sh:888 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Невозможно перейти к корню рабочего каталога репозитория: " -#: git-gui.sh:895 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Каталог.git испорчен: " -#: git-gui.sh:900 +#: git-gui.sh:937 msgid "No working directory" msgstr "Отсутствует рабочий каталог" -#: git-gui.sh:1047 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Обновление информации о состоянии файлов..." -#: git-gui.sh:1112 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Поиск измененных файлов..." -#: git-gui.sh:1287 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Готово." -#: git-gui.sh:1553 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Не изменено" -#: git-gui.sh:1555 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Изменено, не подготовлено" -#: git-gui.sh:1556 git-gui.sh:1561 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Подготовлено для сохранения" -#: git-gui.sh:1557 git-gui.sh:1562 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Части, подготовленные для сохранения" -#: git-gui.sh:1558 git-gui.sh:1563 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Подготовлено для сохранения, отсутствует" -#: git-gui.sh:1560 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Не отслеживается, не подготовлено" -#: git-gui.sh:1565 +#: git-gui.sh:1602 msgid "Missing" msgstr "Отсутствует" -#: git-gui.sh:1566 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Подготовлено для удаления" -#: git-gui.sh:1567 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Подготовлено для удаления, еще не удалено" -#: git-gui.sh:1569 git-gui.sh:1570 git-gui.sh:1571 git-gui.sh:1572 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Требуется разрешение конфликта при объединении" -#: git-gui.sh:1607 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Запускается gitk... пожалуйста, ждите..." -#: git-gui.sh:1616 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -142,295 +142,295 @@ msgstr "" "\n" "%s не существует" -#: git-gui.sh:1816 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Репозиторий" -#: git-gui.sh:1817 +#: git-gui.sh:1861 msgid "Edit" msgstr "Редактировать" -#: git-gui.sh:1819 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Ветвь" -#: git-gui.sh:1822 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Состояние" -#: git-gui.sh:1825 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Объединить" -#: git-gui.sh:1826 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Внешние репозитории" -#: git-gui.sh:1835 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Просмотреть файлы текущей ветви" -#: git-gui.sh:1839 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Показать файлы ветви..." -#: git-gui.sh:1844 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "История текущей ветви наглядно" -#: git-gui.sh:1848 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "История всех ветвей наглядно" -#: git-gui.sh:1855 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Показать файлы ветви %s" -#: git-gui.sh:1857 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "История ветви %s наглядно" -#: git-gui.sh:1862 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Статистика базы данных" -#: git-gui.sh:1865 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Сжать базу данных" -#: git-gui.sh:1868 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Проверить базу данных" -#: git-gui.sh:1875 git-gui.sh:1879 git-gui.sh:1883 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Создать ярлык на рабочем столе" -#: git-gui.sh:1888 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Выход" -#: git-gui.sh:1895 +#: git-gui.sh:1939 msgid "Undo" msgstr "Отменить" -#: git-gui.sh:1898 +#: git-gui.sh:1942 msgid "Redo" msgstr "Повторить" -#: git-gui.sh:1902 git-gui.sh:2395 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Вырезать" -#: git-gui.sh:1905 git-gui.sh:2398 git-gui.sh:2469 git-gui.sh:2541 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Копировать" -#: git-gui.sh:1908 git-gui.sh:2401 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Вставить" -#: git-gui.sh:1911 git-gui.sh:2404 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Удалить" -#: git-gui.sh:1915 git-gui.sh:2408 git-gui.sh:2545 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Выделить все" -#: git-gui.sh:1924 +#: git-gui.sh:1968 msgid "Create..." msgstr "Создать..." -#: git-gui.sh:1930 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Перейти..." -#: git-gui.sh:1936 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Переименовать..." -#: git-gui.sh:1941 git-gui.sh:2040 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Удалить..." -#: git-gui.sh:1946 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Сбросить..." -#: git-gui.sh:1958 git-gui.sh:2342 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Новое состояние" -#: git-gui.sh:1966 git-gui.sh:2349 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Исправить последнее состояние" -#: git-gui.sh:1975 git-gui.sh:2309 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Перечитать" -#: git-gui.sh:1981 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Подготовить для сохранения" -#: git-gui.sh:1986 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Подготовить измененные файлы для сохранения" -#: git-gui.sh:1992 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Убрать из подготовленного" -#: git-gui.sh:1997 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Отменить изменения" -#: git-gui.sh:2004 git-gui.sh:2321 git-gui.sh:2419 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Подписать" -#: git-gui.sh:2008 git-gui.sh:2325 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Сохранить" -#: git-gui.sh:2019 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Локальное объединение..." -#: git-gui.sh:2024 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Прервать объединение..." -#: git-gui.sh:2036 +#: git-gui.sh:2081 msgid "Push..." msgstr "Отправить..." -#: git-gui.sh:2047 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "" -#: git-gui.sh:2050 git-gui.sh:2072 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "О %s" -#: git-gui.sh:2054 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Настройки..." -#: git-gui.sh:2062 git-gui.sh:2587 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Настройки..." -#: git-gui.sh:2068 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Помощь" -#: git-gui.sh:2109 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Документация в интернете" -#: git-gui.sh:2193 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "критическая ошибка: %s: нет такого файла или каталога" -#: git-gui.sh:2226 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Текущая ветвь:" -#: git-gui.sh:2247 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Подготовлено (будет сохранено)" -#: git-gui.sh:2266 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Изменено (не будет сохранено)" -#: git-gui.sh:2315 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Подготовить все" -#: git-gui.sh:2331 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Отправить" -#: git-gui.sh:2361 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Комментарий к первому состоянию:" -#: git-gui.sh:2362 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Комментарий к исправленному состоянию:" -#: git-gui.sh:2363 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Комментарий к исправленному первоначальному состоянию:" -#: git-gui.sh:2364 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Комментарий к исправленному объединению:" -#: git-gui.sh:2365 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Комментарий к объединению:" -#: git-gui.sh:2366 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Комментарий к состоянию:" -#: git-gui.sh:2411 git-gui.sh:2549 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Копировать все" -#: git-gui.sh:2435 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Файл:" -#: git-gui.sh:2537 -msgid "Refresh" -msgstr "Обновить" - -#: git-gui.sh:2558 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Применить/Убрать изменение" -#: git-gui.sh:2564 -msgid "Decrease Font Size" -msgstr "Уменьшить размер шрифта" - -#: git-gui.sh:2568 -msgid "Increase Font Size" -msgstr "Увеличить размер шрифта" - -#: git-gui.sh:2573 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Меньше контекста" -#: git-gui.sh:2580 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Больше контекста" -#: git-gui.sh:2594 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Обновить" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Уменьшить размер шрифта" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Увеличить размер шрифта" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Не сохранять часть" -#: git-gui.sh:2596 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Подготовить часть для сохранения" -#: git-gui.sh:2615 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Инициализация..." -#: git-gui.sh:2706 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -447,7 +447,7 @@ msgstr "" "запущенными из %s\n" "\n" -#: git-gui.sh:2736 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -457,7 +457,7 @@ msgstr "" "Это известная проблема с Tcl,\n" "распространяемым Cygwin." -#: git-gui.sh:2741 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -474,7 +474,7 @@ msgstr "" "user.email в Вашем персональном\n" "файле ~/.gitconfig.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - графический пользовательский интерфейс к Git." @@ -486,56 +486,56 @@ msgstr "Просмотр файла" msgid "Commit:" msgstr "Сохраненное состояние:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Скопировать SHA-1" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Чтение %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Загрузка аннотации копирований/переименований..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "строк прокомментировано" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Загрузка аннотаций первоначального положения объекта..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Аннотация завершена." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Загрузка аннотации..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Автор:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Сохранил:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Исходный файл:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "Источник:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "Файл:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Скопировано/перемещено в:" @@ -548,17 +548,17 @@ msgid "Checkout" msgstr "Перейти" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Отменить" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Версия" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Настройки" @@ -578,7 +578,7 @@ msgstr "Создание ветви" msgid "Create New Branch" msgstr "Создать новую ветвь" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Создать" @@ -718,22 +718,22 @@ msgstr "Запуск..." msgid "File Browser" msgstr "Просмотр списка файлов" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Загрузка %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[На уровень выше]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Показать файлы ветви" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Показать" @@ -747,7 +747,7 @@ msgstr "Получение %s из %s " msgid "fatal: Cannot resolve %s" msgstr "критическая ошибка: невозможно разрешить %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Закрыть" @@ -804,6 +804,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Обновление рабочего каталога из '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -830,7 +834,7 @@ msgstr "" "Если вы хотите снова вернуться к какой-нибудь ветви, создайте ее сейчас, " "начиная с 'Текущего отсоединенного состояния'." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Ветвь '%s' сделана текущей." @@ -849,7 +853,7 @@ msgstr "Восстановить потерянные сохраненные с msgid "Reset '%s'?" msgstr "Сбросить '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Наглядно" @@ -878,15 +882,15 @@ msgstr "Выбрать" msgid "Font Family" msgstr "Шрифт" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Размер шрифта" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Пример текста" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -894,226 +898,226 @@ msgstr "" "Это пример текста.\n" "Если Вам нравится этот текст, это может быть Ваш шрифт." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Создать новый репозиторий" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Новый..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Склонировать существующий репозиторий" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Склонировать..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Выбрать существующий репозиторий" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Открыть..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Недавние репозитории" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Открыть последний репозиторий" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "Путь '%s' уже существует." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Не удалось создать репозиторий %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Каталог:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Репозиторий" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Каталог '%s' уже существует." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Файл '%s' уже существует." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Склонировать" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "Ссылка:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Тип клона:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Стандартный (Быстрый, полуизбыточный, \"жесткие\" ссылки)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Полная копия (Медленный, создает резервную копию)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Общий (Самый быстрый, не рекомендуется, без резервной копии)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Каталог не является репозиторием: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Стандартный клон возможен только для локального репозитория." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Общий клон возможен только для локального репозитория." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Путь '%s' уже существует." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Не могу сконфигурировать исходный репозиторий." -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Считаю объекты" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Не могу скопировать objects/info/alternates: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Нечего клонировать с %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Не инициализирована ветвь 'master'." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "\"Жесткие ссылки\" не доступны. Буду использовать копирование." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Клонирование %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Копирование objects" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "КБ" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Не могу скопировать объект: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Создание ссылок на objects" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "объекты" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Не могу \"жестко связать\" объект: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" "Не могу получить ветви и объекты. Дополнительная информация на консоли." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "Не могу получить метки. Дополнительная информация на консоли." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "Не могу определить HEAD. Дополнительная информация на консоли." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Не могу очистить %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Клонирование не удалось." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Не было получено ветви по умолчанию." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Не могу распознать %s как состояние." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Создаю рабочий каталог" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "файлов" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Не удалось получить начальное состояние файлов репозитория." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Открыть" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Репозиторий:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Не удалось открыть репозиторий %s:" @@ -1134,7 +1138,7 @@ msgstr "Локальная ветвь:" msgid "Tracking Branch" msgstr "Ветвь слежения" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Таг" @@ -1151,11 +1155,11 @@ msgstr "Версия не указана." msgid "Revision expression is empty." msgstr "Пустое выражение для определения версии." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Обновлено" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "Ссылка" @@ -1246,12 +1250,13 @@ msgstr "" "Подготовьте хотя бы один файл до создания сохраненного состояния.\n" #: lib/commit.tcl:183 +#, fuzzy msgid "" "Please supply a commit message.\n" "\n" "A good commit message has the following format:\n" "\n" -"- First line: Describe in one sentance what you did.\n" +"- First line: Describe in one sentence what you did.\n" "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" @@ -1263,16 +1268,46 @@ msgstr "" "- вторая строка пустая\n" "- оставшиеся строки: опишите, что дают ваши изменения.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "предупреждение: Tcl не поддерживает кодировку '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "" + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "" + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "" + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "Программа write-tree завершилась с ошибкой:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#, fuzzy +msgid "Commit failed." +msgstr "Клонирование не удалось." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Состояние %s выглядит поврежденным" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1286,37 +1321,32 @@ msgstr "" "\n" "Сейчас автоматически запустится перечитывание репозитория.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Отуствуют измения для сохранения." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "предупреждение: Tcl не поддерживает кодировку '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "Программа commit-tree завершилась с ошибкой:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "Программа update-ref завершилась с ошибкой:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Создано состояние %s: %s " -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "В процессе... пожалуйста, ждите..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Процесс успешно завершен" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Ошибка: не удалось выполнить команду" @@ -1426,23 +1456,23 @@ msgstr "* Двоичный файл (содержимое не показано) msgid "Error loading diff:" msgstr "Ошибка загрузки diff:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Не удалось исключить выбранную часть." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Не удалось подготовить к сохранению выбранную часть." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "ошибка" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "предупреждение" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Прежде чем сохранить, исправьте вышеуказанные ошибки." @@ -1459,8 +1489,8 @@ msgid "" "Updating the Git index failed. A rescan will be automatically started to " "resynchronize git-gui." msgstr "" -"Не удалось обновить индекс Git. Состояние репозитория будет" -"перечитано автоматически." +"Не удалось обновить индекс Git. Состояние репозитория будетперечитано " +"автоматически." #: lib/index.tcl:27 msgid "Continue" @@ -1475,6 +1505,11 @@ msgstr "Разблокировать индекс" msgid "Unstaging %s from commit" msgstr "Удаление %s из подготовленного" +#: lib/index.tcl:313 +#, fuzzy +msgid "Ready to commit." +msgstr "Подготовлено для сохранения" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1490,13 +1525,13 @@ msgstr "Отменить изменения в файле %s?" msgid "Revert changes in these %i files?" msgstr "Отменить изменения в %i файле(-ах)?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Любые изменения, не подготовленные к сохранению, будут потеряны при данной " "операции." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Ничего не делать" @@ -1567,28 +1602,28 @@ msgid "%s of %s" msgstr "%s из %s" #: lib/merge.tcl:119 -#, tcl-format -msgid "Merging %s and %s" +#, fuzzy, tcl-format +msgid "Merging %s and %s..." msgstr "Объединение %s и %s" -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "Объединение успешно завершено." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Не удалось завершить объединение. Требуется разрешение конфликта." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Объединить с %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Версия для объединения" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1598,7 +1633,7 @@ msgstr "" "\n" "Завершите текущее исправление сохраненного состояния.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1612,7 +1647,7 @@ msgstr "" "\n" "Продолжить?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1626,94 +1661,108 @@ msgstr "" "\n" "Продолжить?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Прерываю" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +#, fuzzy +msgid "files reset" +msgstr "файлов" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "Прервать не удалось." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Прервано." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Восстановить настройки по умолчанию" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Сохранить" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "для репозитория %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Общие (для всех репозиториев)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Имя пользователя" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Адес электронной почты" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Суммарный комментарий при объединении" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Уровень детальности сообщений при объединении" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Показать отчет об изменениях после объединения" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Доверять времени модификации файла" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "Чистка ветвей слежения при получении изменений" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Имя новой ветви взять из имен ветвей слежения" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Число строк в контексте diff" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "Комментарий к состоянию:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Шаблон для имени новой ветви" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Изменить шрифт" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Выберите %s" # carbon copy -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Настройки" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Не удалось полностью сохранить настройки:" @@ -1820,6 +1869,43 @@ msgstr "Невозможно записать ссылку:" msgid "Cannot write icon:" msgstr "Невозможно записать значок:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" diff --git a/po/zh_cn.po b/po/zh_cn.po index f8697216f7..d2c6866671 100644 --- a/po/zh_cn.po +++ b/po/zh_cn.po @@ -15,7 +15,7 @@ # fast forward 快速合并(??) # stage 缓存 (译自 index/cache) # amend 修正 -# reset 复位 +# reset 复位 # # 2008-01-06 Eric Miao # FIXME: checkout 的标准翻译 @@ -25,7 +25,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2007-07-21 01:23-0700\n" "Last-Translator: Eric Miao \n" "Language-Team: Chinese\n" @@ -33,33 +33,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: 致命错误" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s 中指定的字体无效:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "主要字体" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Diff/控制终端字体" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "PATH 中没有找到 git" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "无法解析 Git 的版本信息:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -78,79 +78,79 @@ msgstr "" "\n" "是否假定 '%s' 为版本 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git 目录无法找到:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "无法移动到工作根目录:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "无法使用 .git 目录:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "没有工作目录" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "更新文件状态..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "扫描修改过的文件 ..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "就绪" -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "未修改" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "修改但未缓存" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "缓存为提交" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "部分缓存为提交" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "缓存为提交, 不存在" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "未跟踪, 未缓存" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "不存在" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "缓存为删除" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "缓存为删除, 但仍存在" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "需要解决合并冲突" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "启动 gitk... 请等待..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -161,295 +161,295 @@ msgstr "" "\n" "%s 不存在" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "版本库(repository)" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "编辑" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "分支(branch)" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "提交(commit)" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "合并(merge)" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "远端(remote)" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "浏览当前分支上的文件" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "浏览分支上的文件..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "图示当前分支的历史" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "图示所有分支的历史" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "浏览 %s 上的文件" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "图示 %s 分支的历史" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "数据库统计信息" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "压缩数据库" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "验证数据库" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "创建桌面图标" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "退出" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "撤销" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "重做" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "剪切" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "复制" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "粘贴" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "删除" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "全选" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "新建..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Checkout..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "更名..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "删除..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "复位(Reset)..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "新建提交" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "修正上次提交" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "重新扫描" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "缓存为提交" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "缓存修改的文件为提交" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "从本次提交撤除" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "撤销修改" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "签名(Sign Off)" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "提交" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "本地合并..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "中止合并..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "上传..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "苹果" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "关于 %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "首选项..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "选项..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "帮助" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "在线文档" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "致命错误: 无法获取路径 %s 的信息: 该文件或目录不存在" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "当前分支:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "已缓存的改动 (将被提交)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "未缓存的改动" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "缓存改动" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "上传" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "初始的提交描述:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "修正的提交描述:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "修正的初始提交描述:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "修正的合并提交描述:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "合并提交描述:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "提交描述:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "全部复制" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "文件:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "刷新" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "应用/撤消此修改块" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "缩小字体" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "放大字体" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "显示更少上下文" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "显示更多上下文" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "刷新" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "缩小字体" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "放大字体" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "从提交中撤除修改块" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "缓存修改块为提交" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "初始化..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -464,7 +464,7 @@ msgstr "" "由 %s 执行的 Git 子进程可能忽略下列环境变量:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -474,7 +474,7 @@ msgstr "" "这是由 Cygwin 发布的 Tcl 代码中一个\n" "已知问题所引起." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -489,7 +489,7 @@ msgstr "" "%s 的一个很好的替代方案是将 user.name 以及\n" "user.email 设置放在你的个人 ~/.gitconfig 文件中.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - Git 的图形化用户界面" @@ -501,56 +501,56 @@ msgstr "文件查看器" msgid "Commit:" msgstr "提交:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "复制提交" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "读取 %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "装载复制/移动跟踪标注..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "标注行" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "装载原始位置标注..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "标注完成." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "裝載标注..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "作者:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "提交者:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "原始文件:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "最初由:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "在文件:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "由复制或移动至此:" @@ -563,17 +563,17 @@ msgid "Checkout" msgstr "Checkout" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "取消" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "版本" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "选项..." @@ -593,7 +593,7 @@ msgstr "创建分支" msgid "Create New Branch" msgstr "新建分支" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "新建" @@ -733,22 +733,22 @@ msgstr "开始..." msgid "File Browser" msgstr "文件浏览器" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "装载 %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[上层目录]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "浏览分支文件" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "浏览" @@ -762,7 +762,7 @@ msgstr "获取 %s 自 %s" msgid "fatal: Cannot resolve %s" msgstr "致命错误: 无法解决 %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "关闭" @@ -819,6 +819,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "更新工作目录到 '%s'..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -844,7 +848,7 @@ msgstr "" "\n" "如果你想位于某分支上, 从当前脱节的Checkout中创建一个新分支." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' 已被 checkout" @@ -863,7 +867,7 @@ msgstr "恢复丢失的提交是比较困难的." msgid "Reset '%s'?" msgstr "复位 '%s'?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "图示" @@ -892,15 +896,15 @@ msgstr "选择" msgid "Font Family" msgstr "字体族" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "字体大小" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "字体样例" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -908,226 +912,226 @@ msgstr "" "这是样例文本.\n" "如果你喜欢, 你可以设置该字体." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "创建新的版本库" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "新建..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "克隆已有版本库" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "克隆..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "打开已有版本库" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "打开..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "最近版本库" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "打开最近版本库" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "位置 %s 已经存在." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "无法创建版本库 %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "目录:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Git 版本库" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "目录 %s 已经存在." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "文件 %s 已经存在." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "克隆" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "克隆类型:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "标准方式 (快速, 部分备份, 作硬连接)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "全部复制 (较慢, 做备份)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "共享方式 (最快, 不推荐, 不做备份)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "不是一个 Git 版本库: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "标准方式仅当是本地版本库时有效." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "共享方式仅当是本地版本库时有效." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "位置 %s 已经存在." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "无法配置 origin" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "清点对象" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 #, fuzzy msgid "buckets" msgstr "水桶??" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "无法复制 objects/info/alternates: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "没有东西可从 %s 克隆." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "'master'分支尚未初始化." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "硬连接不可用. 使用复制." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "从 %s 克隆" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "复制 objects" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "无法复制 object: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "链接 objects" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objects" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "无法硬链接 object: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "无法获取分支和对象. 请查看控制终端的输出." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "无法获取标签. 请查看控制终端的输出." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "无法确定 HEAD. 请查看控制终端的输出." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "无法清理 %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "克隆失败." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "没有获取缺省分支" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "无法解析 %s 为提交." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "创建工作目录" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "文件" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "初始的文件checkout失败" -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "打开" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "版本库" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "无法打开版本库 %s:" @@ -1148,7 +1152,7 @@ msgstr "本地分支" msgid "Tracking Branch" msgstr "跟踪分支:" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "标签" @@ -1165,11 +1169,11 @@ msgstr "没有选择版本." msgid "Revision expression is empty." msgstr "版本表达式为空." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "已更新" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1276,16 +1280,46 @@ msgstr "" "- 第二行: 空行\n" "- 剩余行: 请描述为什么你做的这些改动是好的.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "警告: Tcl 不支持编码方式 '%s'." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "" + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "" + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "" + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "" + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "" + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree 失败:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +#, fuzzy +msgid "Commit failed." +msgstr "克隆失败." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "提交 %s 似乎已损坏" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1299,37 +1333,32 @@ msgstr "" "\n" "重新扫描将自动开始.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "没有改动要提交." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "警告: Tcl 不支持编码方式 '%s'." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree 失败:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref 失败:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "创建了 commit %s: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "工作中... 请等待..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "成功" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "错误: 命令失败" @@ -1435,23 +1464,23 @@ msgstr "* 二进制文件 (不显示内容)." msgid "Error loading diff:" msgstr "装载 diff 错误:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "无法将选择的代码段从缓存中删除." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "无法缓存所选代码段." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "错误" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "警告" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "你必须在提交前修正上述错误." @@ -1482,6 +1511,11 @@ msgstr "解锁 Index" msgid "Unstaging %s from commit" msgstr "从提交缓存中删除 %s" +#: lib/index.tcl:313 +#, fuzzy +msgid "Ready to commit." +msgstr "缓存为提交" + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1497,11 +1531,11 @@ msgstr "撤销文件 %s 中的改动?" msgid "Revert changes in these %i files?" msgstr "撤销这些 (%i个) 文件的改动?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "任何未缓存的改动将在这次撤销中永久丢失." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "不做操作" @@ -1562,8 +1596,8 @@ msgstr "" "\n" "文件 %s 已被修改.\n" "\n" -"你必须完成当前的提交后才能开始合并. 如果需要, 这么做将有助于" -"中止一次失败的合并.\n" +"你必须完成当前的提交后才能开始合并. 如果需要, 这么做将有助于中止一次失败的合" +"并.\n" #: lib/merge.tcl:106 #, tcl-format @@ -1571,28 +1605,28 @@ msgid "%s of %s" msgstr "" #: lib/merge.tcl:119 -#, tcl-format -msgid "Merging %s and %s" +#, fuzzy, tcl-format +msgid "Merging %s and %s..." msgstr "合并 %s 和 %s" -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "合并成功完成." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "合并失败. 需要解决冲突." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "合并到 %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "要合并的版本" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1602,7 +1636,7 @@ msgstr "" "\n" "你必须先完成本次修正操作.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1616,7 +1650,7 @@ msgstr "" "\n" "是否要继续中止当前的合并操作?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1630,93 +1664,107 @@ msgstr "" "\n" "是否要继续复位当前的改动?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "中止" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +#, fuzzy +msgid "files reset" +msgstr "文件" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "中止失败" -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "中止完成. 就绪." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "恢复默认值" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "保存" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "%s 版本库" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "全局 (所有版本库)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "用户名" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "Email 地址" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "概述合并提交:" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "合并冗余度" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "在合并后显示 Diffstat" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "相信文件的改动时间" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "获取时清除跟踪分支" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "匹配跟踪分支" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Diff 上下文行数" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "提交描述:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "新建分支命名模板" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "更改字体" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "选择 %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "磅" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "首选项" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "无法完全保存选项:" @@ -1823,6 +1871,43 @@ msgstr "无法修改快捷方式:" msgid "Cannot write icon:" msgstr "无法修改图标:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" From 9065c36ea3945a21813bb3172f024e9bbc5869d2 Mon Sep 17 00:00:00 2001 From: Peter Karlsson Date: Fri, 14 Mar 2008 02:36:44 -0400 Subject: [PATCH 46/76] git-gui: updated Swedish translation Signed-off-by: Shawn O. Pearce --- po/sv.po | 665 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 375 insertions(+), 290 deletions(-) diff --git a/po/sv.po b/po/sv.po index cd3f40b4a8..4da687bb41 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,42 +7,41 @@ msgid "" msgstr "" "Project-Id-Version: sv\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-24 10:36+0100\n" -"PO-Revision-Date: 2008-01-12 09:27+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" +"PO-Revision-Date: 2008-03-14 07:23+0100\n" "Last-Translator: Peter Karlsson \n" -"Language-Team: Swedish \n" +"Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: KBabel 1.11.4\n" +"Content-Transfer-Encoding: 8bit" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: ödesdigert fel" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ogiltigt teckensnitt angivet i %s:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "Huvudteckensnitt" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Diff/konsolteckensnitt" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Hittar inte git i PATH." -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Kan inte tolka versionssträng från Git:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +60,79 @@ msgstr "" "\n" "Anta att \"%s\" är version 1.5.0?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git-katalogen hittades inte:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "Kan inte gå till början på arbetskatalogen:" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "Kan inte använda underlig .git-katalog:" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "Ingen arbetskatalog" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "Uppdaterar filstatus..." -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "Söker efter ändrade filer..." -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "Klar." -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "Oförändrade" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "Förändrade, ej köade" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "Köade för incheckning" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "Delar köade för incheckning" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "Köade för incheckning, saknade" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "Ej spårade, ej köade" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "Saknade" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "Köade för borttagning" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "Köade för borttagning, fortfarande närvarande" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "Kräver konflikthantering efter sammanslagning" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "Startar gitk... vänta..." -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,295 +143,296 @@ msgstr "" "\n" "%s finns inte" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "Arkiv" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "Redigera" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "Gren" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "Incheckning" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "Slå ihop" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "Fjärr" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "Bläddra i grenens filer" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "Bläddra filer på gren..." -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "Visualisera grenens historik" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "Visualisera alla grenars historik" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "Bläddra i filer för %s" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "Visualisera historik för %s" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Databasstatistik" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "Komprimera databas" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "Verifiera databas" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Skapa skrivbordsikon" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "Avsluta" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "Ångra" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "Gör om" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "Klipp ut" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "Kopiera" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "Klistra in" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Ta bort" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "Markera alla" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "Skapa..." -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "Checka ut..." -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "Byt namn..." -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "Ta bort..." -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "Återställ..." -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "Ny incheckning" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "Lägg till föregående incheckning" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Sök på nytt" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "Köa för incheckning" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "Köa ändrade filer för incheckning" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "Ta bort från incheckningskö" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "Återställ ändringar" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "Skriv under" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "Checka in" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "Lokal sammanslagning..." -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "Avbryt sammanslagning..." -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "Sänd..." -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Äpple" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Om %s" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "Inställningar..." -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "Alternativ..." -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "Hjälp" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "Webbdokumentation" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "ödesdigert: kunde inte ta status på sökvägen %s: Fil eller katalog saknas" +msgstr "" +"ödesdigert: kunde inte ta status på sökvägen %s: Fil eller katalog saknas" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "Aktuell gren:" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "Köade ändringar (kommer att checkas in)" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "Oköade ändringar" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "Köa ändrade" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Sänd" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "Inledande incheckningsmeddelande:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "Utökat incheckningsmeddelande:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "Utökat inledande incheckningsmeddelande:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "Utökat incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "Incheckningsmeddelande för sammanslagning:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "Incheckningsmeddelande:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "Kopiera alla" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "Fil:" -#: git-gui.sh:2545 -msgid "Refresh" -msgstr "Uppdatera" - -#: git-gui.sh:2566 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "Använd/återställ del" -#: git-gui.sh:2572 -msgid "Decrease Font Size" -msgstr "Minska teckensnittsstorlek" - -#: git-gui.sh:2576 -msgid "Increase Font Size" -msgstr "Öka teckensnittsstorlek" - -#: git-gui.sh:2581 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "Visa mindre sammanhang" -#: git-gui.sh:2588 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "Visa mer sammanhang" -#: git-gui.sh:2602 +#: git-gui.sh:2610 +msgid "Refresh" +msgstr "Uppdatera" + +#: git-gui.sh:2631 +msgid "Decrease Font Size" +msgstr "Minska teckensnittsstorlek" + +#: git-gui.sh:2635 +msgid "Increase Font Size" +msgstr "Öka teckensnittsstorlek" + +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "Ta bort del ur incheckningskö" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "Ställ del i incheckningskö" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "Initierar..." -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -449,7 +449,7 @@ msgstr "" "av %s:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -459,7 +459,7 @@ msgstr "" "Detta beror på ett känt problem med\n" "Tcl-binären som följer med Cygwin." -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -476,7 +476,7 @@ msgstr "" "user.name och user.email i din personliga\n" "~/.gitconfig-fil.\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "git-gui - ett grafiskt användargränssnitt för Git." @@ -488,56 +488,56 @@ msgstr "Filvisare" msgid "Commit:" msgstr "Incheckning:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "Kopiera incheckning" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "Läser %s..." -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "Läser annoteringar för kopiering/flyttning..." -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "rader annoterade" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "Läser in annotering av originalplacering..." -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "Annotering fullbordad." -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "Läser in annotering..." -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "Författare:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "Incheckare:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "Ursprunglig fil:" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "Ursprungligen av:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "I filen:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "Kopierad eller flyttad hit av:" @@ -550,17 +550,17 @@ msgid "Checkout" msgstr "Checka ut" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Avbryt" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "Revision" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "Alternativ" @@ -580,7 +580,7 @@ msgstr "Skapa gren" msgid "Create New Branch" msgstr "Skapa ny gren" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "Skapa" @@ -720,22 +720,22 @@ msgstr "Startar..." msgid "File Browser" msgstr "Filbläddrare" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "Läser %s..." -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[Upp till förälder]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "Bläddra filer på grenen" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "Bläddra" @@ -749,7 +749,7 @@ msgstr "Hämtar %s från %s" msgid "fatal: Cannot resolve %s" msgstr "ödesdigert: Kunde inte slå upp %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "Stäng" @@ -796,8 +796,8 @@ msgid "" msgstr "" "Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" "\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " -"måste utföra en ny sökning innan den aktuella grenen kan ändras.\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan den aktuella grenen kan ändras.\n" "\n" "Sökningen kommer att startas automatiskt nu.\n" @@ -806,6 +806,10 @@ msgstr "" msgid "Updating working directory to '%s'..." msgstr "Uppdaterar arbetskatalogen till \"%s\"..." +#: lib/checkout_op.tcl:323 +msgid "files checked out" +msgstr "filer utcheckade" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -829,10 +833,10 @@ msgid "" msgstr "" "Du är inte längre på en lokal gren.\n" "\n" -"Om du ville vara på en gren skapar du en nu, baserad på \"Denna " -"frånkopplade utcheckning\"." +"Om du ville vara på en gren skapar du en nu, baserad på \"Denna frånkopplade " +"utcheckning\"." -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "Checkade ut \"%s\"." @@ -840,7 +844,8 @@ msgstr "Checkade ut \"%s\"." #: lib/checkout_op.tcl:478 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" -msgstr "Om du återställer \"%s\" till \"%s\" får följande incheckningar förlorade:" +msgstr "" +"Om du återställer \"%s\" till \"%s\" går följande incheckningar förlorade:" #: lib/checkout_op.tcl:500 msgid "Recovering lost commits may not be easy." @@ -851,7 +856,7 @@ msgstr "Det kanske inte är så enkelt att återskapa förlorade incheckningar." msgid "Reset '%s'?" msgstr "Återställa \"%s\"?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "Visualisera" @@ -867,8 +872,8 @@ msgid "" msgstr "" "Kunde inte ställa in aktuell gren.\n" "\n" -"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna " -"utan problem, men kunde inte uppdatera en intern fil i Git.\n" +"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna utan " +"problem, men kunde inte uppdatera en intern fil i Git.\n" "\n" "Detta skulle inte ha hänt. %s kommer nu stängas och ge upp." @@ -880,15 +885,15 @@ msgstr "Välj" msgid "Font Family" msgstr "Teckensnittsfamilj" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "Storlek" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "Exempel" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -896,225 +901,225 @@ msgstr "" "Detta är en exempeltext.\n" "Om du tycker om den här texten kan den vara ditt teckensnitt." -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "Skapa nytt arkiv" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "Nytt..." -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "Klona befintligt arkiv" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "Klona..." -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "Öppna befintligt arkiv" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "Öppna..." -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "Senaste arkiven" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "Öppna tidigare arkiv:" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "Platsen %s finns redan." - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "Kunde inte skapa arkivet %s:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "Katalog:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "Gitarkiv" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Katalogen %s finns redan." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "Filen %s finns redan." -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "Klona" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "Webbadress:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "Typ av klon:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Standard (snabb, semiredundant, hårda länkar)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Full kopia (långsammare, redundant säkerhetskopia)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "Delad (snabbast, rekommenderas ej, ingen säkerhetskopia)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Inte ett Gitarkiv: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "Standard är endast tillgängligt för lokala arkiv." -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "Delat är endast tillgängligt för lokala arkiv." -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "Platsen %s finns redan." + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "Kunde inte konfigurera ursprung" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "Räknar objekt" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "hinkar" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Kunde inte kopiera objekt/info/alternativ: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "Ingenting att klona från %s." -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "Grenen \"master\" har inte initierats." -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "Hårda länkar är inte tillgängliga. Faller tillbaka på kopiering." -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "Klonar från %s" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "Kopierar objekt" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "Kunde inte kopiera objekt: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "Länkar objekt" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "objekt" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Kunde inte hårdlänka objekt: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "Kunde inte hämta grenar och objekt. Se konsolutdata för detaljer." -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "Kunde inte hämta taggar. Se konsolutdata för detaljer." -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "Kunde inte avgöra HEAD. Se konsolutdata för detaljer." -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "Kunde inte städa upp %s" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "Kloning misslyckades." -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "Hämtade ingen standardgren." -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Kunde inte slå upp %s till någon incheckning." -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "Skapar arbetskatalog" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "filer" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "Inledande filutcheckning misslyckades." -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "Öppna" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "Arkiv:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "Kunde inte öppna arkivet %s:" @@ -1135,7 +1140,7 @@ msgstr "Lokal gren" msgid "Tracking Branch" msgstr "Spårande gren" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "Tagg" @@ -1152,11 +1157,11 @@ msgstr "Ingen revision vald." msgid "Revision expression is empty." msgstr "Revisionsuttrycket är tomt." -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "Uppdaterad" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "Webbadress" @@ -1182,9 +1187,9 @@ msgid "" msgstr "" "Kan inte utöka vid sammanslagning.\n" "\n" -"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan " -"inte utöka tidigare incheckningar om du inte först avbryter den " -"pågående sammanslagningen.\n" +"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan inte " +"utöka tidigare incheckningar om du inte först avbryter den pågående " +"sammanslagningen.\n" #: lib/commit.tcl:49 msgid "Error loading commit data for amend:" @@ -1209,8 +1214,8 @@ msgid "" msgstr "" "Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" "\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " -"måste utföra en ny sökning innan du kan göra en ny incheckning.\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan du kan göra en ny incheckning.\n" "\n" "Sökningen kommer att startas automatiskt nu.\n" @@ -1266,16 +1271,45 @@ msgstr "" "- Andra raden: Tom\n" "- Följande rader: Beskriv varför det här är en bra ändring.\n" -#: lib/commit.tcl:257 +#: lib/commit.tcl:207 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." + +#: lib/commit.tcl:221 +msgid "Calling pre-commit hook..." +msgstr "Anropar krok före incheckning..." + +#: lib/commit.tcl:236 +msgid "Commit declined by pre-commit hook." +msgstr "Incheckningen avvisades av krok före incheckning." + +#: lib/commit.tcl:259 +msgid "Calling commit-msg hook..." +msgstr "Anropar krok för incheckningsmeddelande..." + +#: lib/commit.tcl:274 +msgid "Commit declined by commit-msg hook." +msgstr "Incheckning avvisad av krok för incheckningsmeddelande." + +#: lib/commit.tcl:287 +msgid "Committing changes..." +msgstr "Checkar in ändringar..." + +#: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree misslyckades:" -#: lib/commit.tcl:275 +#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 +msgid "Commit failed." +msgstr "Incheckningen misslyckades." + +#: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "Incheckningen %s verkar vara trasig" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1289,37 +1323,32 @@ msgstr "" "\n" "En sökning kommer att startas automatiskt nu.\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "Inga ändringar att checka in." -#: lib/commit.tcl:303 -#, tcl-format -msgid "warning: Tcl does not support encoding '%s'." -msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." - -#: lib/commit.tcl:317 +#: lib/commit.tcl:347 msgid "commit-tree failed:" msgstr "commit-tree misslyckades:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref misslyckades:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "Skapade incheckningen %s: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "Arbetar... vänta..." -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "Lyckades" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "Fel: Kommando misslyckades" @@ -1398,8 +1427,8 @@ msgstr "" "\n" "%s innehåller inga ändringar.\n" "\n" -"Modifieringsdatum för filen uppdaterades av ett annat program, men innehållet " -"i filen har inte ändrats.\n" +"Modifieringsdatum för filen uppdaterades av ett annat program, men " +"innehållet i filen har inte ändrats.\n" "\n" "En sökning kommer automatiskt att startas för att hitta andra filer som kan " "vara i samma tillstånd." @@ -1430,23 +1459,23 @@ msgstr "* Binärfil (visar inte innehållet)." msgid "Error loading diff:" msgstr "Fel vid inläsning av differens:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "Kunde inte ta bort den valda delen från kön." -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "Kunde inte lägga till den valda delen till kön." -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "fel" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "varning" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "Du måste rätta till felen ovan innan du checkar in." @@ -1479,6 +1508,10 @@ msgstr "Lås upp index" msgid "Unstaging %s from commit" msgstr "Tar bort %s för incheckningskön" +#: lib/index.tcl:313 +msgid "Ready to commit." +msgstr "Redo att checka in." + #: lib/index.tcl:326 #, tcl-format msgid "Adding %s" @@ -1494,11 +1527,12 @@ msgstr "Återställ ändringarna i filen %s?" msgid "Revert changes in these %i files?" msgstr "Återställ ändringarna i dessa %i filer?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." -msgstr "Alla oköade ändringar kommer permanent gå förlorade vid återställningen." +msgstr "" +"Alla oköade ändringar kommer permanent gå förlorade vid återställningen." -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "Gör ingenting" @@ -1510,7 +1544,7 @@ msgid "" msgstr "" "Kan inte slå ihop vid utökning.\n" "\n" -"Du måste föra färdig utökningen av incheckningen innan du påbörjar någon " +"Du måste göra färdig utökningen av incheckningen innan du påbörjar någon " "slags sammanslagning.\n" #: lib/merge.tcl:27 @@ -1524,8 +1558,8 @@ msgid "" msgstr "" "Det senaste inlästa tillståndet motsvarar inte tillståndet i arkivet.\n" "\n" -"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " -"måste utföra en ny sökning innan du kan utföra en sammanslagning.\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du måste " +"utföra en ny sökning innan du kan utföra en sammanslagning.\n" "\n" "Sökningen kommer att startas automatiskt nu.\n" @@ -1571,27 +1605,27 @@ msgstr "%s av %s" #: lib/merge.tcl:119 #, tcl-format -msgid "Merging %s and %s" -msgstr "Slår ihop %s och %s" +msgid "Merging %s and %s..." +msgstr "Slår ihop %s och %s..." -#: lib/merge.tcl:131 +#: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "Sammanslagningen avslutades framgångsrikt." -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "Sammanslagningen misslyckades. Du måste lösa konflikterna." -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "Slå ihop i %s" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "Revisioner att slå ihop" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1601,7 +1635,7 @@ msgstr "" "\n" "Du måste göra dig färdig med att utöka incheckningen.\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1611,12 +1645,12 @@ msgid "" msgstr "" "Avbryt sammanslagning?\n" "\n" -"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att " -"gå förlorade.\n" +"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att gå " +"förlorade.\n" "\n" "Gå vidare med att avbryta den aktuella sammanslagningen?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1626,98 +1660,110 @@ msgid "" msgstr "" "Återställ ändringar?\n" "\n" -"Om du återställer ändringarna kommer *ALLA* ej incheckade ändringar att " -"gå förlorade.\n" +"Om du återställer ändringarna kommer *ALLA* ej incheckade ändringar att gå " +"förlorade.\n" "\n" "Gå vidare med att återställa de aktuella ändringarna?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "Avbryter" -#: lib/merge.tcl:266 +#: lib/merge.tcl:238 +msgid "files reset" +msgstr "filer återställda" + +#: lib/merge.tcl:265 msgid "Abort failed." msgstr "Misslyckades avbryta." -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "Avbrytning fullbordad. Redo." -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "Återställ standardvärden" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "Spara" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "Arkivet %s" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "Globalt (alla arkiv)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "Användarnamn" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "E-postadress" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "Summera sammanslagningsincheckningar" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "Pratsamhet för sammanslagningar" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "Visa diffstatistik efter sammanslagning" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "Lita på filändringstidsstämplar" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "Städa spårade grenar vid hämtning" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "Matcha spårade grenar" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "Antal rader sammanhang i differenser" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +msgid "Commit Message Text Width" +msgstr "Textbredd för incheckningsmeddelande" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "Mall för namn på nya grenar" -#: lib/option.tcl:176 +#: lib/option.tcl:192 +msgid "Spelling Dictionary:" +msgstr "Stavningsordlista:" + +#: lib/option.tcl:216 msgid "Change Font" msgstr "Byt teckensnitt" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "Välj %s" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "p." -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "Inställningar" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "Misslyckades med att helt spara alternativ:" @@ -1774,8 +1820,8 @@ msgid "" "One or more of the merge tests failed because you have not fetched the " "necessary commits. Try fetching from %s first." msgstr "" -"En eller flera av sammanslagningstesterna misslyckades eftersom du inte " -"har hämtat de nödvändiga incheckningarna. Försök hämta från %s först." +"En eller flera av sammanslagningstesterna misslyckades eftersom du inte har " +"hämtat de nödvändiga incheckningarna. Försök hämta från %s först." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1787,7 +1833,7 @@ msgid "" "\n" "Delete the selected branches?" msgstr "" -"Det kan vara svårt att återställa grenar.\n" +"Det kan vara svårt att återställa borttagna grenar.\n" "\n" "Ta bort de valda grenarna?" @@ -1825,6 +1871,43 @@ msgstr "Kan inte skriva genväg:" msgid "Cannot write icon:" msgstr "Kan inte skriva ikon:" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "Stavningskontrollprogrammet stöds inte" + +#: lib/spellcheck.tcl:65 +msgid "Spell checking is unavailable" +msgstr "Stavningskontroll är ej tillgänglig" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "Ogiltig inställning för stavningskontroll" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "Återställer ordlistan till %s." + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "Stavningskontroll misslyckades tyst vid start" + +#: lib/spellcheck.tcl:80 +msgid "Unrecognized spell checker" +msgstr "Stavningskontrollprogrammet känns inte igen" + +#: lib/spellcheck.tcl:180 +msgid "No Suggestions" +msgstr "Inga förslag" + +#: lib/spellcheck.tcl:381 +msgid "Unexpected EOF from spell checker" +msgstr "Oväntat filslut från stavningskontroll" + +#: lib/spellcheck.tcl:385 +msgid "Spell Checker Failed" +msgstr "Stavningskontroll misslyckades" + #: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" @@ -1893,3 +1976,5 @@ msgstr "Använd tunt paket (för långsamma nätverksanslutningar)" msgid "Include tags" msgstr "Ta med taggar" +#~ msgid "Not connected to aspell" +#~ msgstr "Inte ansluten till aspell" From 1affea4f629537fd48e3bd66de89a6f45d0fcd82 Mon Sep 17 00:00:00 2001 From: Clemens Buchacher Date: Thu, 13 Mar 2008 23:47:41 +0100 Subject: [PATCH 47/76] merge-recursive: handle file mode changes File mode changes should be handled similarly to changes of content. That is, if the file mode changed in only one branch, keep the changed version, and if both branch changed to different mode, mark it as a conflict. Signed-off-by: Clemens Buchacher Signed-off-by: Junio C Hamano --- merge-recursive.c | 15 ++++++++++-- t/t6031-merge-recursive.sh | 49 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100755 t/t6031-merge-recursive.sh diff --git a/merge-recursive.c b/merge-recursive.c index 34e3167caf..d97cbf7d16 100644 --- a/merge-recursive.c +++ b/merge-recursive.c @@ -1028,9 +1028,20 @@ static struct merge_file_info merge_file(struct diff_filespec *o, if (!sha_eq(a->sha1, o->sha1) && !sha_eq(b->sha1, o->sha1)) result.merge = 1; - result.mode = a->mode == o->mode ? b->mode: a->mode; + /* + * Merge modes + */ + if (a->mode == b->mode || a->mode == o->mode) + result.mode = b->mode; + else { + result.mode = a->mode; + if (b->mode != o->mode) { + result.clean = 0; + result.merge = 1; + } + } - if (sha_eq(a->sha1, o->sha1)) + if (sha_eq(a->sha1, b->sha1) || sha_eq(a->sha1, o->sha1)) hashcpy(result.sha, b->sha1); else if (sha_eq(b->sha1, o->sha1)) hashcpy(result.sha, a->sha1); diff --git a/t/t6031-merge-recursive.sh b/t/t6031-merge-recursive.sh new file mode 100755 index 0000000000..5bb6b93780 --- /dev/null +++ b/t/t6031-merge-recursive.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +test_description='merge-recursive: handle file mode' +. ./test-lib.sh + +test_expect_success 'mode change in one branch: keep changed version' ' + : >file1 && + git add file1 && + git commit -m initial && + git checkout -b a1 master && + : >dummy && + git add dummy && + git commit -m a && + git checkout -b b1 master && + chmod +x file1 && + git add file1 && + git commit -m b1 && + git checkout a1 && + git merge-recursive master -- a1 b1 && + test -x file1 +' + +test_expect_success 'mode change in both branches: expect conflict' ' + git reset --hard HEAD && + git checkout -b a2 master && + : >file2 && + H=$(git hash-object file2) && + chmod +x file2 && + git add file2 && + git commit -m a2 && + git checkout -b b2 master && + : >file2 && + git add file2 && + git commit -m b2 && + git checkout a2 && + ( + git merge-recursive master -- a2 b2 + test $? = 1 + ) && + git ls-files -u >actual && + ( + echo "100755 $H 2 file2" + echo "100644 $H 3 file2" + ) >expect && + diff -u actual expect && + test -x file2 +' + +test_done From 381b851c9b010147bb1fa83a013b7c8f60419026 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Thu, 13 Mar 2008 16:19:35 +0100 Subject: [PATCH 48/76] merge-file: handle empty files gracefully Earlier, it would error out while trying to read and/or writing them. Now, calling merge-file with empty files is neither interesting nor useful, but it is a bug that needed fixing. Noticed by Clemens Buchacher. Signed-off-by: Johannes Schindelin --- builtin-merge-file.c | 3 ++- xdiff-interface.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/builtin-merge-file.c b/builtin-merge-file.c index 58deb62ac0..baff4495f0 100644 --- a/builtin-merge-file.c +++ b/builtin-merge-file.c @@ -57,7 +57,8 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix) if (!f) ret = error("Could not open %s for writing", filename); - else if (fwrite(result.ptr, result.size, 1, f) != 1) + else if (result.size && + fwrite(result.ptr, result.size, 1, f) != 1) ret = error("Could not write to %s", filename); else if (fclose(f)) ret = error("Could not close %s", filename); diff --git a/xdiff-interface.c b/xdiff-interface.c index 4b8e5cca80..d8ba7e725f 100644 --- a/xdiff-interface.c +++ b/xdiff-interface.c @@ -152,8 +152,8 @@ int read_mmfile(mmfile_t *ptr, const char *filename) if ((f = fopen(filename, "rb")) == NULL) return error("Could not open %s", filename); sz = xsize_t(st.st_size); - ptr->ptr = xmalloc(sz); - if (fread(ptr->ptr, sz, 1, f) != 1) + ptr->ptr = xmalloc(sz ? sz : 1); + if (sz && fread(ptr->ptr, sz, 1, f) != 1) return error("Could not read %s", filename); fclose(f); ptr->size = sz; From ca885a4fe6444bed840295378848904106c87c85 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Thu, 13 Mar 2008 22:07:18 -0700 Subject: [PATCH 49/76] read-tree() and unpack_trees(): use consistent limit read-tree -m can read up to MAX_TREES, which was arbitrarily set to 8 since August 2007 (4 is needed to deal with 2 merge-base case). However, the updated unpack_trees() code had an advertised limit of 4 (which it enforced). In reality the code was prepared to take only 3 trees and giving 4 caused it to stomp on its stack. Rename the MAX_TREES constant to MAX_UNPACK_TREES, move it to the unpack-trees.h common header file, and use it from both places to avoid future confusion. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- builtin-read-tree.c | 9 ++++----- unpack-trees.c | 6 +++--- unpack-trees.h | 2 ++ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/builtin-read-tree.c b/builtin-read-tree.c index 160456dad1..e9cfd2bbc5 100644 --- a/builtin-read-tree.c +++ b/builtin-read-tree.c @@ -13,16 +13,15 @@ #include "dir.h" #include "builtin.h" -#define MAX_TREES 8 static int nr_trees; -static struct tree *trees[MAX_TREES]; +static struct tree *trees[MAX_UNPACK_TREES]; static int list_tree(unsigned char *sha1) { struct tree *tree; - if (nr_trees >= MAX_TREES) - die("I cannot read more than %d trees", MAX_TREES); + if (nr_trees >= MAX_UNPACK_TREES) + die("I cannot read more than %d trees", MAX_UNPACK_TREES); tree = parse_tree_indirect(sha1); if (!tree) return -1; @@ -97,7 +96,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) { int i, newfd, stage = 0; unsigned char sha1[20]; - struct tree_desc t[MAX_TREES]; + struct tree_desc t[MAX_UNPACK_TREES]; struct unpack_trees_options opts; memset(&opts, 0, sizeof(opts)); diff --git a/unpack-trees.c b/unpack-trees.c index be89d52e8c..91649f31d6 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -123,7 +123,7 @@ static int unpack_index_entry(struct cache_entry *ce, struct unpack_trees_option int traverse_trees_recursive(int n, unsigned long dirmask, unsigned long df_conflicts, struct name_entry *names, struct traverse_info *info) { int i; - struct tree_desc t[3]; + struct tree_desc t[MAX_UNPACK_TREES]; struct traverse_info newinfo; struct name_entry *p; @@ -327,8 +327,8 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options { static struct cache_entry *dfc; - if (len > 4) - die("unpack_trees takes at most four trees"); + if (len > MAX_UNPACK_TREES) + die("unpack_trees takes at most %d trees", MAX_UNPACK_TREES); memset(&state, 0, sizeof(state)); state.base_dir = ""; state.force = 1; diff --git a/unpack-trees.h b/unpack-trees.h index e8abbcd037..50453ed20f 100644 --- a/unpack-trees.h +++ b/unpack-trees.h @@ -1,6 +1,8 @@ #ifndef UNPACK_TREES_H #define UNPACK_TREES_H +#define MAX_UNPACK_TREES 8 + struct unpack_trees_options; typedef int (*merge_fn_t)(struct cache_entry **src, From 77e21533a938b886ed2b8636a75f76870f4805de Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 14 Mar 2008 05:56:49 +0100 Subject: [PATCH 50/76] web--browse: use custom commands defined at config time Currently "git web--browse" is restricted to a set of commands defined in the script. You can subvert the "browser..path" to force "git web--browse" to use a different command, but if you have a command whose invocation syntax does not match one of the current tools then you would have to write a wrapper script for it. This patch adds a git config variable "browser..cmd" which allows a more flexible browser choice. If you run "git web--browse" with -t/--tool, -b/--browser or the "web.browser" config variable set to an unrecognized tool then "git web--browse" will query the "browser..cmd" config variable. If this variable exists, then "git web--browse" will treat the specified tool as a custom command and will use a shell eval to run the command with the URLs added as extra parameters. Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- git-web--browse.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/git-web--browse.sh b/git-web--browse.sh index 1023b90859..384148a59f 100755 --- a/git-web--browse.sh +++ b/git-web--browse.sh @@ -23,12 +23,18 @@ USAGE='[--browser=browser|--tool=browser] [--config=conf.var] url/file ...' NONGIT_OK=Yes . git-sh-setup +valid_custom_tool() +{ + browser_cmd="$(git config "browser.$1.cmd")" + test -n "$browser_cmd" +} + valid_tool() { case "$1" in firefox | iceweasel | konqueror | w3m | links | lynx | dillo | open) ;; # happy *) - return 1 + valid_custom_tool "$1" || return 1 ;; esac } @@ -122,7 +128,7 @@ else init_browser_path "$browser" - if ! type "$browser_path" > /dev/null 2>&1; then + if test -z "$browser_cmd" && ! type "$browser_path" > /dev/null 2>&1; then die "The browser $browser is not available as '$browser_path'." fi fi @@ -157,4 +163,9 @@ case "$browser" in dillo) "$browser_path" "$@" & ;; + *) + if test -n "$browser_cmd"; then + ( eval $browser_cmd "$@" ) + fi + ;; esac From 1658c6149ac4462c874810c760507040122917e8 Mon Sep 17 00:00:00 2001 From: Christian Couder Date: Fri, 14 Mar 2008 05:56:53 +0100 Subject: [PATCH 51/76] Documention: web--browse: add info about "browser..cmd" config var Signed-off-by: Christian Couder Signed-off-by: Junio C Hamano --- Documentation/config.txt | 5 +++++ Documentation/git-web--browse.txt | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/Documentation/config.txt b/Documentation/config.txt index bfad0e3858..ed2cb832b9 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -420,6 +420,11 @@ branch..rebase:: it unless you understand the implications (see linkgit:git-rebase[1] for details). +browser..cmd:: + Specify the command to invoke the specified browser. The + specified command is evaluated in shell with the URLs passed + as arguments. (See linkgit:git-web--browse[1].) + browser..path:: Override the path for the given tool that may be used to browse HTML help (see '-w' option in linkgit:git-help[1]) or a diff --git a/Documentation/git-web--browse.txt b/Documentation/git-web--browse.txt index df57d010e5..ddbae5b194 100644 --- a/Documentation/git-web--browse.txt +++ b/Documentation/git-web--browse.txt @@ -27,6 +27,8 @@ The following browsers (or commands) are currently supported: * dillo * open (this is the default under Mac OS X GUI) +Custom commands may also be specified. + OPTIONS ------- -b BROWSER|--browser=BROWSER:: @@ -43,16 +45,35 @@ OPTIONS CONFIGURATION VARIABLES ----------------------- +CONF.VAR (from -c option) and web.browser +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + The web browser can be specified using a configuration variable passed with the -c (or --config) command line option, or the 'web.browser' configuration variable if the former is not used. +browser..path +~~~~~~~~~~~~~~~~~~~ + You can explicitly provide a full path to your preferred browser by setting the configuration variable 'browser..path'. For example, you can configure the absolute path to firefox by setting 'browser.firefox.path'. Otherwise, 'git-web--browse' assumes the tool is available in PATH. +browser..cmd +~~~~~~~~~~~~~~~~~~ + +When the browser, specified by options or configuration variables, is +not among the supported ones, then the corresponding +'browser..cmd' configuration variable will be looked up. If this +variable exists then "git web--browse" will treat the specified tool +as a custom command and will use a shell eval to run the command with +the URLs passed as arguments. + +Note about git config --global +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Note that these configuration variables should probably be set using the '--global' flag, for example like this: From c0c77734bf313455364b3be7d3537d40e1138bcc Mon Sep 17 00:00:00 2001 From: Daniel Barkalow Date: Sun, 9 Mar 2008 22:43:39 -0400 Subject: [PATCH 52/76] Write diff output to a file in struct diff_options Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano --- diff.c | 304 +++++++++++++++++++++++++++++++-------------------------- diff.h | 3 + 2 files changed, 168 insertions(+), 139 deletions(-) diff --git a/diff.c b/diff.c index 00e1590c6e..8022e678d1 100644 --- a/diff.c +++ b/diff.c @@ -256,40 +256,41 @@ static int count_lines(const char *data, int size) return count; } -static void print_line_count(int count) +static void print_line_count(FILE *file, int count) { switch (count) { case 0: - printf("0,0"); + fprintf(file, "0,0"); break; case 1: - printf("1"); + fprintf(file, "1"); break; default: - printf("1,%d", count); + fprintf(file, "1,%d", count); break; } } -static void copy_file_with_prefix(int prefix, const char *data, int size, +static void copy_file_with_prefix(FILE *file, + int prefix, const char *data, int size, const char *set, const char *reset) { int ch, nl_just_seen = 1; while (0 < size--) { ch = *data++; if (nl_just_seen) { - fputs(set, stdout); - putchar(prefix); + fputs(set, file); + putc(prefix, file); } if (ch == '\n') { nl_just_seen = 1; - fputs(reset, stdout); + fputs(reset, file); } else nl_just_seen = 0; - putchar(ch); + putc(ch, file); } if (!nl_just_seen) - printf("%s\n\\ No newline at end of file\n", reset); + fprintf(file, "%s\n\\ No newline at end of file\n", reset); } static void emit_rewrite_diff(const char *name_a, @@ -322,17 +323,18 @@ static void emit_rewrite_diff(const char *name_a, diff_populate_filespec(two, 0); lc_a = count_lines(one->data, one->size); lc_b = count_lines(two->data, two->size); - printf("%s--- %s%s%s\n%s+++ %s%s%s\n%s@@ -", - metainfo, a_name.buf, name_a_tab, reset, - metainfo, b_name.buf, name_b_tab, reset, fraginfo); - print_line_count(lc_a); - printf(" +"); - print_line_count(lc_b); - printf(" @@%s\n", reset); + fprintf(o->file, + "%s--- %s%s%s\n%s+++ %s%s%s\n%s@@ -", + metainfo, a_name.buf, name_a_tab, reset, + metainfo, b_name.buf, name_b_tab, reset, fraginfo); + print_line_count(o->file, lc_a); + fprintf(o->file, " +"); + print_line_count(o->file, lc_b); + fprintf(o->file, " @@%s\n", reset); if (lc_a) - copy_file_with_prefix('-', one->data, one->size, old, reset); + copy_file_with_prefix(o->file, '-', one->data, one->size, old, reset); if (lc_b) - copy_file_with_prefix('+', two->data, two->size, new, reset); + copy_file_with_prefix(o->file, '+', two->data, two->size, new, reset); } static int fill_mmfile(mmfile_t *mf, struct diff_filespec *one) @@ -372,9 +374,10 @@ static void diff_words_append(char *line, unsigned long len, struct diff_words_data { struct xdiff_emit_state xm; struct diff_words_buffer minus, plus; + FILE *file; }; -static void print_word(struct diff_words_buffer *buffer, int len, int color, +static void print_word(FILE *file, struct diff_words_buffer *buffer, int len, int color, int suppress_newline) { const char *ptr; @@ -391,15 +394,15 @@ static void print_word(struct diff_words_buffer *buffer, int len, int color, len--; } - fputs(diff_get_color(1, color), stdout); - fwrite(ptr, len, 1, stdout); - fputs(diff_get_color(1, DIFF_RESET), stdout); + fputs(diff_get_color(1, color), file); + fwrite(ptr, len, 1, file); + fputs(diff_get_color(1, DIFF_RESET), file); if (eol) { if (suppress_newline) buffer->suppressed_newline = 1; else - putchar('\n'); + putc('\n', file); } } @@ -409,20 +412,23 @@ static void fn_out_diff_words_aux(void *priv, char *line, unsigned long len) if (diff_words->minus.suppressed_newline) { if (line[0] != '+') - putchar('\n'); + putc('\n', diff_words->file); diff_words->minus.suppressed_newline = 0; } len--; switch (line[0]) { case '-': - print_word(&diff_words->minus, len, DIFF_FILE_OLD, 1); + print_word(diff_words->file, + &diff_words->minus, len, DIFF_FILE_OLD, 1); break; case '+': - print_word(&diff_words->plus, len, DIFF_FILE_NEW, 0); + print_word(diff_words->file, + &diff_words->plus, len, DIFF_FILE_NEW, 0); break; case ' ': - print_word(&diff_words->plus, len, DIFF_PLAIN, 0); + print_word(diff_words->file, + &diff_words->plus, len, DIFF_PLAIN, 0); diff_words->minus.current += len; break; } @@ -466,7 +472,7 @@ static void diff_words_show(struct diff_words_data *diff_words) diff_words->minus.text.size = diff_words->plus.text.size = 0; if (diff_words->minus.suppressed_newline) { - putchar('\n'); + putc('\n', diff_words->file); diff_words->minus.suppressed_newline = 0; } } @@ -481,6 +487,7 @@ struct emit_callback { const char **label_path; struct diff_words_data *diff_words; int *found_changesp; + FILE *file; }; static void free_diff_words_data(struct emit_callback *ecbdata) @@ -505,11 +512,11 @@ const char *diff_get_color(int diff_use_color, enum color_diff ix) return ""; } -static void emit_line(const char *set, const char *reset, const char *line, int len) +static void emit_line(FILE *file, const char *set, const char *reset, const char *line, int len) { - fputs(set, stdout); - fwrite(line, len, 1, stdout); - fputs(reset, stdout); + fputs(set, file); + fwrite(line, len, 1, file); + fputs(reset, file); } static void emit_add_line(const char *reset, struct emit_callback *ecbdata, const char *line, int len) @@ -518,13 +525,13 @@ static void emit_add_line(const char *reset, struct emit_callback *ecbdata, cons const char *set = diff_get_color(ecbdata->color_diff, DIFF_FILE_NEW); if (!*ws) - emit_line(set, reset, line, len); + emit_line(ecbdata->file, set, reset, line, len); else { /* Emit just the prefix, then the rest. */ - emit_line(set, reset, line, ecbdata->nparents); + emit_line(ecbdata->file, set, reset, line, ecbdata->nparents); (void)check_and_emit_line(line + ecbdata->nparents, len - ecbdata->nparents, ecbdata->ws_rule, - stdout, set, reset, ws); + ecbdata->file, set, reset, ws); } } @@ -563,10 +570,10 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) name_a_tab = strchr(ecbdata->label_path[0], ' ') ? "\t" : ""; name_b_tab = strchr(ecbdata->label_path[1], ' ') ? "\t" : ""; - printf("%s--- %s%s%s\n", - meta, ecbdata->label_path[0], reset, name_a_tab); - printf("%s+++ %s%s%s\n", - meta, ecbdata->label_path[1], reset, name_b_tab); + fprintf(ecbdata->file, "%s--- %s%s%s\n", + meta, ecbdata->label_path[0], reset, name_a_tab); + fprintf(ecbdata->file, "%s+++ %s%s%s\n", + meta, ecbdata->label_path[1], reset, name_b_tab); ecbdata->label_path[0] = ecbdata->label_path[1] = NULL; } @@ -578,15 +585,16 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) if (2 <= i && i < len && line[i] == ' ') { ecbdata->nparents = i - 1; len = sane_truncate_line(ecbdata, line, len); - emit_line(diff_get_color(ecbdata->color_diff, DIFF_FRAGINFO), + emit_line(ecbdata->file, + diff_get_color(ecbdata->color_diff, DIFF_FRAGINFO), reset, line, len); if (line[len-1] != '\n') - putchar('\n'); + putc('\n', ecbdata->file); return; } if (len < ecbdata->nparents) { - emit_line(reset, reset, line, len); + emit_line(ecbdata->file, reset, reset, line, len); return; } @@ -609,7 +617,7 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) diff_words_show(ecbdata->diff_words); line++; len--; - emit_line(plain, reset, line, len); + emit_line(ecbdata->file, plain, reset, line, len); return; } for (i = 0; i < ecbdata->nparents && len; i++) { @@ -620,7 +628,8 @@ static void fn_out_consume(void *priv, char *line, unsigned long len) } if (color != DIFF_FILE_NEW) { - emit_line(diff_get_color(ecbdata->color_diff, color), + emit_line(ecbdata->file, + diff_get_color(ecbdata->color_diff, color), reset, line, len); return; } @@ -759,20 +768,21 @@ static int scale_linear(int it, int width, int max_change) return ((it - 1) * (width - 1) + max_change - 1) / (max_change - 1); } -static void show_name(const char *prefix, const char *name, int len, +static void show_name(FILE *file, + const char *prefix, const char *name, int len, const char *reset, const char *set) { - printf(" %s%s%-*s%s |", set, prefix, len, name, reset); + fprintf(file, " %s%s%-*s%s |", set, prefix, len, name, reset); } -static void show_graph(char ch, int cnt, const char *set, const char *reset) +static void show_graph(FILE *file, char ch, int cnt, const char *set, const char *reset) { if (cnt <= 0) return; - printf("%s", set); + fprintf(file, "%s", set); while (cnt--) - putchar(ch); - printf("%s", reset); + putc(ch, file); + fprintf(file, "%s", reset); } static void fill_print_name(struct diffstat_file *file) @@ -877,18 +887,18 @@ static void show_stats(struct diffstat_t* data, struct diff_options *options) } if (data->files[i]->is_binary) { - show_name(prefix, name, len, reset, set); - printf(" Bin "); - printf("%s%d%s", del_c, deleted, reset); - printf(" -> "); - printf("%s%d%s", add_c, added, reset); - printf(" bytes"); - printf("\n"); + show_name(options->file, prefix, name, len, reset, set); + fprintf(options->file, " Bin "); + fprintf(options->file, "%s%d%s", del_c, deleted, reset); + fprintf(options->file, " -> "); + fprintf(options->file, "%s%d%s", add_c, added, reset); + fprintf(options->file, " bytes"); + fprintf(options->file, "\n"); continue; } else if (data->files[i]->is_unmerged) { - show_name(prefix, name, len, reset, set); - printf(" Unmerged\n"); + show_name(options->file, prefix, name, len, reset, set); + fprintf(options->file, " Unmerged\n"); continue; } else if (!data->files[i]->is_renamed && @@ -911,17 +921,18 @@ static void show_stats(struct diffstat_t* data, struct diff_options *options) del = scale_linear(del, width, max_change); total = add + del; } - show_name(prefix, name, len, reset, set); - printf("%5d ", added + deleted); - show_graph('+', add, add_c, reset); - show_graph('-', del, del_c, reset); - putchar('\n'); + show_name(options->file, prefix, name, len, reset, set); + fprintf(options->file, "%5d ", added + deleted); + show_graph(options->file, '+', add, add_c, reset); + show_graph(options->file, '-', del, del_c, reset); + fprintf(options->file, "\n"); } - printf("%s %d files changed, %d insertions(+), %d deletions(-)%s\n", + fprintf(options->file, + "%s %d files changed, %d insertions(+), %d deletions(-)%s\n", set, total_files, adds, dels, reset); } -static void show_shortstats(struct diffstat_t* data) +static void show_shortstats(struct diffstat_t* data, struct diff_options *options) { int i, adds = 0, dels = 0, total_files = data->nr; @@ -942,7 +953,7 @@ static void show_shortstats(struct diffstat_t* data) } } } - printf(" %d files changed, %d insertions(+), %d deletions(-)\n", + fprintf(options->file, " %d files changed, %d insertions(+), %d deletions(-)\n", total_files, adds, dels); } @@ -957,24 +968,25 @@ static void show_numstat(struct diffstat_t* data, struct diff_options *options) struct diffstat_file *file = data->files[i]; if (file->is_binary) - printf("-\t-\t"); + fprintf(options->file, "-\t-\t"); else - printf("%d\t%d\t", file->added, file->deleted); + fprintf(options->file, + "%d\t%d\t", file->added, file->deleted); if (options->line_termination) { fill_print_name(file); if (!file->is_renamed) - write_name_quoted(file->name, stdout, + write_name_quoted(file->name, options->file, options->line_termination); else { - fputs(file->print_name, stdout); - putchar(options->line_termination); + fputs(file->print_name, options->file); + putc(options->line_termination, options->file); } } else { if (file->is_renamed) { - putchar('\0'); - write_name_quoted(file->from_name, stdout, '\0'); + putc('\0', options->file); + write_name_quoted(file->from_name, options->file, '\0'); } - write_name_quoted(file->name, stdout, '\0'); + write_name_quoted(file->name, options->file, '\0'); } } } @@ -984,7 +996,7 @@ struct diffstat_dir { int nr, percent, cumulative; }; -static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, const char *base, int baselen) +static long gather_dirstat(FILE *file, struct diffstat_dir *dir, unsigned long changed, const char *base, int baselen) { unsigned long this_dir = 0; unsigned int sources = 0; @@ -1002,7 +1014,7 @@ static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, cons slash = strchr(f->name + baselen, '/'); if (slash) { int newbaselen = slash + 1 - f->name; - this = gather_dirstat(dir, changed, f->name, newbaselen); + this = gather_dirstat(file, dir, changed, f->name, newbaselen); sources++; } else { if (f->is_unmerged || f->is_binary) @@ -1027,7 +1039,7 @@ static long gather_dirstat(struct diffstat_dir *dir, unsigned long changed, cons if (permille) { int percent = permille / 10; if (percent >= dir->percent) { - printf("%4d.%01d%% %.*s\n", percent, permille % 10, baselen, base); + fprintf(file, "%4d.%01d%% %.*s\n", percent, permille % 10, baselen, base); if (!dir->cumulative) return 0; } @@ -1060,7 +1072,7 @@ static void show_dirstat(struct diffstat_t *data, struct diff_options *options) dir.nr = data->nr; dir.percent = options->dirstat_percent; dir.cumulative = options->output_format & DIFF_FORMAT_CUMULATIVE; - gather_dirstat(&dir, changed, "", 0); + gather_dirstat(options->file, &dir, changed, "", 0); } static void free_diffstat_info(struct diffstat_t *diffstat) @@ -1083,6 +1095,7 @@ struct checkdiff_t { int lineno, color_diff; unsigned ws_rule; unsigned status; + FILE *file; }; static void checkdiff_consume(void *priv, char *line, unsigned long len) @@ -1100,11 +1113,11 @@ static void checkdiff_consume(void *priv, char *line, unsigned long len) if (!data->status) return; err = whitespace_error_string(data->status); - printf("%s:%d: %s.\n", data->filename, data->lineno, err); + fprintf(data->file, "%s:%d: %s.\n", data->filename, data->lineno, err); free(err); - emit_line(set, reset, line, 1); + emit_line(data->file, set, reset, line, 1); (void)check_and_emit_line(line + 1, len - 1, data->ws_rule, - stdout, set, reset, ws); + data->file, set, reset, ws); } else if (line[0] == ' ') data->lineno++; else if (line[0] == '@') { @@ -1140,7 +1153,7 @@ static unsigned char *deflate_it(char *data, return deflated; } -static void emit_binary_diff_body(mmfile_t *one, mmfile_t *two) +static void emit_binary_diff_body(FILE *file, mmfile_t *one, mmfile_t *two) { void *cp; void *delta; @@ -1169,13 +1182,13 @@ static void emit_binary_diff_body(mmfile_t *one, mmfile_t *two) } if (delta && delta_size < deflate_size) { - printf("delta %lu\n", orig_size); + fprintf(file, "delta %lu\n", orig_size); free(deflated); data = delta; data_size = delta_size; } else { - printf("literal %lu\n", two->size); + fprintf(file, "literal %lu\n", two->size); free(delta); data = deflated; data_size = deflate_size; @@ -1193,17 +1206,18 @@ static void emit_binary_diff_body(mmfile_t *one, mmfile_t *two) line[0] = bytes - 26 + 'a' - 1; encode_85(line + 1, cp, bytes); cp = (char *) cp + bytes; - puts(line); + fputs(line, file); + fputc('\n', file); } - printf("\n"); + fprintf(file, "\n"); free(data); } -static void emit_binary_diff(mmfile_t *one, mmfile_t *two) +static void emit_binary_diff(FILE *file, mmfile_t *one, mmfile_t *two) { - printf("GIT binary patch\n"); - emit_binary_diff_body(one, two); - emit_binary_diff_body(two, one); + fprintf(file, "GIT binary patch\n"); + emit_binary_diff_body(file, one, two); + emit_binary_diff_body(file, two, one); } static void setup_diff_attr_check(struct git_attr_check *check) @@ -1334,25 +1348,25 @@ static void builtin_diff(const char *name_a, b_two = quote_two(o->b_prefix, name_b + (*name_b == '/')); lbl[0] = DIFF_FILE_VALID(one) ? a_one : "/dev/null"; lbl[1] = DIFF_FILE_VALID(two) ? b_two : "/dev/null"; - printf("%sdiff --git %s %s%s\n", set, a_one, b_two, reset); + fprintf(o->file, "%sdiff --git %s %s%s\n", set, a_one, b_two, reset); if (lbl[0][0] == '/') { /* /dev/null */ - printf("%snew file mode %06o%s\n", set, two->mode, reset); + fprintf(o->file, "%snew file mode %06o%s\n", set, two->mode, reset); if (xfrm_msg && xfrm_msg[0]) - printf("%s%s%s\n", set, xfrm_msg, reset); + fprintf(o->file, "%s%s%s\n", set, xfrm_msg, reset); } else if (lbl[1][0] == '/') { - printf("%sdeleted file mode %06o%s\n", set, one->mode, reset); + fprintf(o->file, "%sdeleted file mode %06o%s\n", set, one->mode, reset); if (xfrm_msg && xfrm_msg[0]) - printf("%s%s%s\n", set, xfrm_msg, reset); + fprintf(o->file, "%s%s%s\n", set, xfrm_msg, reset); } else { if (one->mode != two->mode) { - printf("%sold mode %06o%s\n", set, one->mode, reset); - printf("%snew mode %06o%s\n", set, two->mode, reset); + fprintf(o->file, "%sold mode %06o%s\n", set, one->mode, reset); + fprintf(o->file, "%snew mode %06o%s\n", set, two->mode, reset); } if (xfrm_msg && xfrm_msg[0]) - printf("%s%s%s\n", set, xfrm_msg, reset); + fprintf(o->file, "%s%s%s\n", set, xfrm_msg, reset); /* * we do not run diff between different kind * of objects. @@ -1376,10 +1390,10 @@ static void builtin_diff(const char *name_a, !memcmp(mf1.ptr, mf2.ptr, mf1.size)) goto free_ab_and_return; if (DIFF_OPT_TST(o, BINARY)) - emit_binary_diff(&mf1, &mf2); + emit_binary_diff(o->file, &mf1, &mf2); else - printf("Binary files %s and %s differ\n", - lbl[0], lbl[1]); + fprintf(o->file, "Binary files %s and %s differ\n", + lbl[0], lbl[1]); o->found_changes = 1; } else { @@ -1401,6 +1415,7 @@ static void builtin_diff(const char *name_a, ecbdata.color_diff = DIFF_OPT_TST(o, COLOR_DIFF); ecbdata.found_changesp = &o->found_changes; ecbdata.ws_rule = whitespace_rule(name_b ? name_b : name_a); + ecbdata.file = o->file; xpp.flags = XDF_NEED_MINIMAL | o->xdl_opts; xecfg.ctxlen = o->context; xecfg.flags = XDL_EMIT_FUNCNAMES; @@ -1415,9 +1430,11 @@ static void builtin_diff(const char *name_a, ecb.outf = xdiff_outf; ecb.priv = &ecbdata; ecbdata.xm.consume = fn_out_consume; - if (DIFF_OPT_TST(o, COLOR_DIFF_WORDS)) + if (DIFF_OPT_TST(o, COLOR_DIFF_WORDS)) { ecbdata.diff_words = xcalloc(1, sizeof(struct diff_words_data)); + ecbdata.diff_words->file = o->file; + } xdi_diff(&mf1, &mf2, &xpp, &xecfg, &ecb); if (DIFF_OPT_TST(o, COLOR_DIFF_WORDS)) free_diff_words_data(&ecbdata); @@ -1496,6 +1513,7 @@ static void builtin_checkdiff(const char *name_a, const char *name_b, data.lineno = 0; data.color_diff = DIFF_OPT_TST(o, COLOR_DIFF); data.ws_rule = whitespace_rule(attr_path); + data.file = o->file; if (fill_mmfile(&mf1, one) < 0 || fill_mmfile(&mf2, two) < 0) die("unable to read files to diff"); @@ -1966,7 +1984,7 @@ static void run_diff_cmd(const char *pgm, builtin_diff(name, other ? other : name, one, two, xfrm_msg, o, complete_rewrite); else - printf("* Unmerged path %s\n", name); + fprintf(o->file, "* Unmerged path %s\n", name); } static void diff_fill_sha1_info(struct diff_filespec *one) @@ -2157,6 +2175,9 @@ static void run_checkdiff(struct diff_filepair *p, struct diff_options *o) void diff_setup(struct diff_options *options) { memset(options, 0, sizeof(*options)); + + options->file = stdout; + options->line_termination = '\n'; options->break_opt = -1; options->rename_limit = -1; @@ -2470,7 +2491,10 @@ int diff_opt_parse(struct diff_options *options, const char **av, int ac) options->b_prefix = arg + 13; else if (!strcmp(arg, "--no-prefix")) options->a_prefix = options->b_prefix = ""; - else + else if (!prefixcmp(arg, "--output=")) { + options->file = fopen(arg + strlen("--output="), "w"); + options->close_file = 1; + } else return 0; return 1; } @@ -2599,15 +2623,15 @@ static void diff_flush_raw(struct diff_filepair *p, struct diff_options *opt) int inter_name_termination = line_termination ? '\t' : '\0'; if (!(opt->output_format & DIFF_FORMAT_NAME_STATUS)) { - printf(":%06o %06o %s ", p->one->mode, p->two->mode, - diff_unique_abbrev(p->one->sha1, opt->abbrev)); - printf("%s ", diff_unique_abbrev(p->two->sha1, opt->abbrev)); + fprintf(opt->file, ":%06o %06o %s ", p->one->mode, p->two->mode, + diff_unique_abbrev(p->one->sha1, opt->abbrev)); + fprintf(opt->file, "%s ", diff_unique_abbrev(p->two->sha1, opt->abbrev)); } if (p->score) { - printf("%c%03d%c", p->status, similarity_index(p), - inter_name_termination); + fprintf(opt->file, "%c%03d%c", p->status, similarity_index(p), + inter_name_termination); } else { - printf("%c%c", p->status, inter_name_termination); + fprintf(opt->file, "%c%c", p->status, inter_name_termination); } if (p->status == DIFF_STATUS_COPIED || @@ -2616,14 +2640,14 @@ static void diff_flush_raw(struct diff_filepair *p, struct diff_options *opt) name_a = p->one->path; name_b = p->two->path; strip_prefix(opt->prefix_length, &name_a, &name_b); - write_name_quoted(name_a, stdout, inter_name_termination); - write_name_quoted(name_b, stdout, line_termination); + write_name_quoted(name_a, opt->file, inter_name_termination); + write_name_quoted(name_b, opt->file, line_termination); } else { const char *name_a, *name_b; name_a = p->one->mode ? p->one->path : p->two->path; name_b = NULL; strip_prefix(opt->prefix_length, &name_a, &name_b); - write_name_quoted(name_a, stdout, line_termination); + write_name_quoted(name_a, opt->file, line_termination); } } @@ -2825,62 +2849,62 @@ static void flush_one_pair(struct diff_filepair *p, struct diff_options *opt) name_a = p->two->path; name_b = NULL; strip_prefix(opt->prefix_length, &name_a, &name_b); - write_name_quoted(name_a, stdout, opt->line_termination); + write_name_quoted(name_a, opt->file, opt->line_termination); } } -static void show_file_mode_name(const char *newdelete, struct diff_filespec *fs) +static void show_file_mode_name(FILE *file, const char *newdelete, struct diff_filespec *fs) { if (fs->mode) - printf(" %s mode %06o ", newdelete, fs->mode); + fprintf(file, " %s mode %06o ", newdelete, fs->mode); else - printf(" %s ", newdelete); - write_name_quoted(fs->path, stdout, '\n'); + fprintf(file, " %s ", newdelete); + write_name_quoted(fs->path, file, '\n'); } -static void show_mode_change(struct diff_filepair *p, int show_name) +static void show_mode_change(FILE *file, struct diff_filepair *p, int show_name) { if (p->one->mode && p->two->mode && p->one->mode != p->two->mode) { - printf(" mode change %06o => %06o%c", p->one->mode, p->two->mode, + fprintf(file, " mode change %06o => %06o%c", p->one->mode, p->two->mode, show_name ? ' ' : '\n'); if (show_name) { - write_name_quoted(p->two->path, stdout, '\n'); + write_name_quoted(p->two->path, file, '\n'); } } } -static void show_rename_copy(const char *renamecopy, struct diff_filepair *p) +static void show_rename_copy(FILE *file, const char *renamecopy, struct diff_filepair *p) { char *names = pprint_rename(p->one->path, p->two->path); - printf(" %s %s (%d%%)\n", renamecopy, names, similarity_index(p)); + fprintf(file, " %s %s (%d%%)\n", renamecopy, names, similarity_index(p)); free(names); - show_mode_change(p, 0); + show_mode_change(file, p, 0); } -static void diff_summary(struct diff_filepair *p) +static void diff_summary(FILE *file, struct diff_filepair *p) { switch(p->status) { case DIFF_STATUS_DELETED: - show_file_mode_name("delete", p->one); + show_file_mode_name(file, "delete", p->one); break; case DIFF_STATUS_ADDED: - show_file_mode_name("create", p->two); + show_file_mode_name(file, "create", p->two); break; case DIFF_STATUS_COPIED: - show_rename_copy("copy", p); + show_rename_copy(file, "copy", p); break; case DIFF_STATUS_RENAMED: - show_rename_copy("rename", p); + show_rename_copy(file, "rename", p); break; default: if (p->score) { - fputs(" rewrite ", stdout); - write_name_quoted(p->two->path, stdout, ' '); - printf("(%d%%)\n", similarity_index(p)); + fputs(" rewrite ", file); + write_name_quoted(p->two->path, file, ' '); + fprintf(file, "(%d%%)\n", similarity_index(p)); } - show_mode_change(p, !p->score); + show_mode_change(file, p, !p->score); break; } } @@ -3088,14 +3112,14 @@ void diff_flush(struct diff_options *options) if (output_format & DIFF_FORMAT_DIFFSTAT) show_stats(&diffstat, options); if (output_format & DIFF_FORMAT_SHORTSTAT) - show_shortstats(&diffstat); + show_shortstats(&diffstat, options); free_diffstat_info(&diffstat); separator++; } if (output_format & DIFF_FORMAT_SUMMARY && !is_summary_empty(q)) { for (i = 0; i < q->nr; i++) - diff_summary(q->queue[i]); + diff_summary(options->file, q->queue[i]); separator++; } @@ -3103,9 +3127,9 @@ void diff_flush(struct diff_options *options) if (separator) { if (options->stat_sep) { /* attach patch instead of inline */ - fputs(options->stat_sep, stdout); + fputs(options->stat_sep, options->file); } else { - putchar(options->line_termination); + putc(options->line_termination, options->file); } } @@ -3125,6 +3149,8 @@ free_queue: free(q->queue); q->queue = NULL; q->nr = q->alloc = 0; + if (options->close_file) + fclose(options->file); } static void diffcore_apply_filter(const char *filter) diff --git a/diff.h b/diff.h index 9a652e7f38..f2c77391a9 100644 --- a/diff.h +++ b/diff.h @@ -98,6 +98,9 @@ struct diff_options { /* this is set by diffcore for DIFF_FORMAT_PATCH */ int found_changes; + FILE *file; + int close_file; + int nr_paths; const char **paths; int *pathlens; From 4ba0cb27c1c0c3aa65d28e1891c1f3dca3db5f93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 10 Mar 2008 13:58:26 -0400 Subject: [PATCH 53/76] wt-status.c: no need for dup() dance anymore Now we can generate diff to a file descriptor, we do not have to dup() the stdout around when writing the status output. Signed-off-by: Junio C Hamano --- wt-status.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/wt-status.c b/wt-status.c index 701d13da7c..b3fd57b79d 100644 --- a/wt-status.c +++ b/wt-status.c @@ -269,27 +269,14 @@ static void wt_status_print_untracked(struct wt_status *s) static void wt_status_print_verbose(struct wt_status *s) { struct rev_info rev; - int saved_stdout; - - fflush(s->fp); - - /* Sigh, the entire diff machinery is hardcoded to output to - * stdout. Do the dup-dance...*/ - saved_stdout = dup(STDOUT_FILENO); - if (saved_stdout < 0 ||dup2(fileno(s->fp), STDOUT_FILENO) < 0) - die("couldn't redirect stdout\n"); init_revisions(&rev, NULL); setup_revisions(0, NULL, &rev, s->reference); rev.diffopt.output_format |= DIFF_FORMAT_PATCH; rev.diffopt.detect_rename = 1; + rev.diffopt.file = s->fp; + rev.diffopt.close_file = 0; run_diff_index(&rev, 1); - - fflush(stdout); - - if (dup2(saved_stdout, STDOUT_FILENO) < 0) - die("couldn't restore stdout\n"); - close(saved_stdout); } void wt_status_print(struct wt_status *s) From 8719f1286eb7ccaeaca301619d0d75e14df769ca Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Fri, 14 Mar 2008 20:24:31 +1100 Subject: [PATCH 54/76] gitk: Default to using po2msg.sh if msgfmt doesn't grok --tcl, -l and -d This is a similar change to that submitted by Junio C Hamano for git-gui. It tests whether the msgfmt command can be run successfully with --tcl, -l and -d, and if not, falls back to using po/po2msg.sh. Signed-off-by: Paul Mackerras --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile b/Makefile index ae2b80b108..f90dfabffa 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,7 @@ gitk_libdir ?= $(sharedir)/gitk/lib msgsdir ?= $(gitk_libdir)/msgs msgsdir_SQ = $(subst ','\'',$(msgsdir)) +TCL_PATH ?= tclsh TCLTK_PATH ?= wish INSTALL ?= install RM ?= rm -f @@ -22,6 +23,9 @@ ifdef NO_MSGFMT MSGFMT ?= $(TCL_PATH) po/po2msg.sh else MSGFMT ?= msgfmt + ifneq ($(shell $(MSGFMT) --tcl -l C -d . /dev/null 2>/dev/null; echo $$?),0) + MSGFMT := $(TCL_PATH) po/po2msg.sh + endif endif PO_TEMPLATE = po/gitk.pot From 2708d9df59e45bd74bfb71027e1ea7c54a9eecd5 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Thu, 13 Mar 2008 17:46:30 +0100 Subject: [PATCH 55/76] gitk: initial Italian translation Signed-off-by: Michele Ballabio Signed-off-by: Paul Mackerras --- po/it.po | 890 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 890 insertions(+) create mode 100644 po/it.po diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000000..d0f4c2e19a --- /dev/null +++ b/po/it.po @@ -0,0 +1,890 @@ +# Translation of gitk +# Copyright (C) 2005-2008 Paul Mackerras +# This file is distributed under the same license as the gitk package. +# Michele Ballabio , 2008. +# +# +msgid "" +msgstr "" +"Project-Id-Version: gitk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-03-13 17:29+0100\n" +"PO-Revision-Date: 2008-03-13 17:34+0100\n" +"Last-Translator: Michele Ballabio \n" +"Language-Team: Italian\n" +"MIME-Version: 1.0\n" +"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:124 +msgid "Reading" +msgstr "Lettura in corso" + +#: gitk:151 gitk:2191 +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 +msgid "No commits selected" +msgstr "Nessuna revisione selezionata" + +#: gitk:500 +msgid "No commit information available" +msgstr "Nessuna informazione disponibile sulle revisioni" + +#: gitk:599 gitk:621 gitk:1955 gitk:6423 gitk:7923 gitk:8082 +msgid "OK" +msgstr "OK" + +#: gitk:623 gitk:1956 gitk:6107 gitk:6178 gitk:6275 gitk:6321 gitk:6425 +#: gitk:7924 gitk:8083 +msgid "Cancel" +msgstr "Annulla" + +#: gitk:661 +msgid "File" +msgstr "File" + +#: gitk:663 +msgid "Update" +msgstr "Aggiorna" + +#: gitk:664 +msgid "Reread references" +msgstr "Rileggi riferimenti" + +#: gitk:665 +msgid "List references" +msgstr "Elenca riferimenti" + +#: gitk:666 +msgid "Quit" +msgstr "Esci" + +#: gitk:668 +msgid "Edit" +msgstr "Modifica" + +#: gitk:669 +msgid "Preferences" +msgstr "Preferenze" + +#: gitk:672 gitk:1892 +msgid "View" +msgstr "Vista" + +#: gitk:673 +msgid "New view..." +msgstr "Nuova vista..." + +#: gitk:674 gitk:2133 gitk:8722 +msgid "Edit view..." +msgstr "Modifica vista..." + +#: gitk:676 gitk:2134 gitk:8723 +msgid "Delete view" +msgstr "Elimina vista" + +#: gitk:678 +msgid "All files" +msgstr "Tutti i file" + +#: gitk:682 +msgid "Help" +msgstr "Aiuto" + +#: gitk:683 gitk:1317 +msgid "About gitk" +msgstr "Informazioni su gitk" + +#: gitk:684 +msgid "Key bindings" +msgstr "Scorciatoie da tastiera" + +#: gitk:741 +msgid "SHA1 ID: " +msgstr "SHA1 ID: " + +#: gitk:791 +msgid "Find" +msgstr "Trova" + +#: gitk:792 +msgid "next" +msgstr "succ" + +#: gitk:793 +msgid "prev" +msgstr "prec" + +#: gitk:794 +msgid "commit" +msgstr "revisione" + +#: gitk:797 gitk:799 gitk:2356 gitk:2379 gitk:2403 gitk:4306 gitk:4369 +msgid "containing:" +msgstr "contenente:" + +#: gitk:800 gitk:1778 gitk:1783 gitk:2431 +msgid "touching paths:" +msgstr "che riguarda i percorsi:" + +#: gitk:801 gitk:2436 +msgid "adding/removing string:" +msgstr "che aggiunge/rimuove la stringa:" + +#: gitk:810 gitk:812 +msgid "Exact" +msgstr "Esatto" + +#: gitk:812 gitk:2514 gitk:4274 +msgid "IgnCase" +msgstr "" + +#: gitk:812 gitk:2405 gitk:2512 gitk:4270 +msgid "Regexp" +msgstr "" + +#: gitk:814 gitk:815 gitk:2533 gitk:2563 gitk:2570 gitk:4380 gitk:4436 +msgid "All fields" +msgstr "Tutti i campi" + +#: gitk:815 gitk:2531 gitk:2563 gitk:4336 +msgid "Headline" +msgstr "Titolo" + +#: gitk:816 gitk:2531 gitk:4336 gitk:4436 gitk:4827 +msgid "Comments" +msgstr "Commenti" + +#: gitk:816 gitk:2531 gitk:2535 gitk:2570 gitk:4336 gitk:4763 gitk:5956 +#: gitk:5971 +msgid "Author" +msgstr "Autore" + +#: gitk:816 gitk:2531 gitk:4336 gitk:4765 +msgid "Committer" +msgstr "Revisione creata da" + +#: gitk:845 +msgid "Search" +msgstr "Cerca" + +#: gitk:852 +msgid "Diff" +msgstr "" + +#: gitk:854 +msgid "Old version" +msgstr "Vecchia versione" + +#: gitk:856 +msgid "New version" +msgstr "Nuova versione" + +#: gitk:858 +msgid "Lines of context" +msgstr "Linee di contesto" + +#: gitk:868 +msgid "Ignore space change" +msgstr "Ignora modifiche agli spazi" + +#: gitk:926 +msgid "Patch" +msgstr "Modifiche" + +#: gitk:928 +msgid "Tree" +msgstr "Directory" + +#: gitk:1053 gitk:1068 gitk:6022 +msgid "Diff this -> selected" +msgstr "Diff questo -> selezionato" + +#: gitk:1055 gitk:1070 gitk:6023 +msgid "Diff selected -> this" +msgstr "Diff selezionato -> questo" + +#: gitk:1057 gitk:1072 gitk:6024 +msgid "Make patch" +msgstr "Crea patch" + +#: gitk:1058 gitk:6162 +msgid "Create tag" +msgstr "Crea etichetta" + +#: gitk:1059 gitk:6255 +msgid "Write commit to file" +msgstr "Scrivi revisione in un file" + +#: gitk:1060 gitk:6309 +msgid "Create new branch" +msgstr "Crea un nuovo ramo" + +#: gitk:1061 +msgid "Cherry-pick this commit" +msgstr "Porta questa revisione in cima al ramo attuale" + +#: gitk:1063 +msgid "Reset HEAD branch to here" +msgstr "Aggiorna il ramo HEAD a questa revisione" + +#: gitk:1079 +msgid "Check out this branch" +msgstr "Attiva questo ramo" + +#: gitk:1081 +msgid "Remove this branch" +msgstr "Elimina questo ramo" + +#: gitk:1087 +msgid "Highlight this too" +msgstr "Evidenzia anche questo" + +#: gitk:1089 +msgid "Highlight this only" +msgstr "Evidenzia solo questo" + +#: gitk:1318 +msgid "" +"\n" +"Gitk - a commit viewer for git\n" +"\n" +"Copyright © 2005-2006 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" +"\n" +"Utilizzo e redistribuzione permessi sotto i termini della GNU General Public " +"License" + +#: gitk:1326 gitk:1387 gitk:6581 +msgid "Close" +msgstr "Chiudi" + +#: gitk:1345 +msgid "Gitk key bindings" +msgstr "Scorciatoie da tastiera di Gitk" + +#: gitk:1347 +msgid "Gitk key bindings:" +msgstr "Scorciatoie da tastiera di Gitk:" + +#: gitk:1349 +#, tcl-format +msgid "<%s-Q>\t\tQuit" +msgstr "<%s-Q>\t\tEsci" + +#: gitk:1350 +msgid "\t\tMove to first commit" +msgstr "\t\tVai alla prima revisione" + +#: gitk:1351 +msgid "\t\tMove to last commit" +msgstr "\t\tVai all'ultima revisione" + +#: gitk:1352 +msgid ", p, i\tMove up one commit" +msgstr ", p, i\tVai più in alto di una revisione" + +#: gitk:1353 +msgid ", n, k\tMove down one commit" +msgstr ", n, k\tVai più in basso di una revisione" + +#: gitk:1354 +msgid ", z, j\tGo back in history list" +msgstr ", z, j\tTorna indietro nella cronologia" + +#: gitk:1355 +msgid ", x, l\tGo forward in history list" +msgstr ", x, l\tVai avanti nella cronologia" + +#: gitk:1356 +msgid "\tMove up one page in commit list" +msgstr "\tVai più in alto di una pagina nella lista delle revisioni" + +#: gitk:1357 +msgid "\tMove down one page in commit list" +msgstr "\tVai più in basso di una pagina nella lista delle revisioni" + +#: gitk:1358 +#, tcl-format +msgid "<%s-Home>\tScroll to top of commit list" +msgstr "<%s-Home>\tScorri alla cima della lista delle revisioni" + +#: gitk:1359 +#, tcl-format +msgid "<%s-End>\tScroll to bottom of commit list" +msgstr "<%s-End>\tScorri alla fine della lista delle revisioni" + +#: gitk:1360 +#, 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 +#, 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 +#, 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 +#, 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 +msgid "\tFind backwards (upwards, later commits)" +msgstr "\tTrova all'indietro (verso l'alto, revisioni successive)" + +#: gitk:1365 +msgid "\tFind forwards (downwards, earlier commits)" +msgstr "\tTrova in avanti (verso il basso, revisioni precedenti)" + +#: gitk:1366 +msgid ", b\tScroll diff view up one page" +msgstr ", b\tScorri la vista delle differenze in alto di una pagina" + +#: gitk:1367 +msgid "\tScroll diff view up one page" +msgstr "\tScorri la vista delle differenze in alto di una pagina" + +#: gitk:1368 +msgid "\t\tScroll diff view down one page" +msgstr "\t\tScorri la vista delle differenze in basso di una pagina" + +#: gitk:1369 +msgid "u\t\tScroll diff view up 18 lines" +msgstr "u\t\tScorri la vista delle differenze in alto di 18 linee" + +#: gitk:1370 +msgid "d\t\tScroll diff view down 18 lines" +msgstr "d\t\tScorri la vista delle differenze in basso di 18 linee" + +#: gitk:1371 +#, tcl-format +msgid "<%s-F>\t\tFind" +msgstr "<%s-F>\t\tTrova" + +#: gitk:1372 +#, tcl-format +msgid "<%s-G>\t\tMove to next find hit" +msgstr "<%s-G>\t\tTrova in avanti" + +#: gitk:1373 +msgid "\tMove to next find hit" +msgstr "\tTrova in avanti" + +#: gitk:1374 +msgid "/\t\tMove to next find hit, or redo find" +msgstr "/\t\tTrova in avanti, o cerca di nuovo" + +#: gitk:1375 +msgid "?\t\tMove to previous find hit" +msgstr "?\t\tTrova all'indietro" + +#: gitk:1376 +msgid "f\t\tScroll diff view to next file" +msgstr "f\t\tScorri la vista delle differenze al file successivo" + +#: gitk:1377 +#, 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 +#, 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 +#, tcl-format +msgid "<%s-KP+>\tIncrease font size" +msgstr "<%s-KP+>\tAumenta grandezza carattere" + +#: gitk:1380 +#, tcl-format +msgid "<%s-plus>\tIncrease font size" +msgstr "<%s-plus>\tAumenta grandezza carattere" + +#: gitk:1381 +#, tcl-format +msgid "<%s-KP->\tDecrease font size" +msgstr "<%s-KP->\tDiminuisci grandezza carattere" + +#: gitk:1382 +#, tcl-format +msgid "<%s-minus>\tDecrease font size" +msgstr "<%s-minus>\tDiminuisci grandezza carattere" + +#: gitk:1383 +msgid "\t\tUpdate" +msgstr "\t\tAggiorna" + +#: gitk:1896 +msgid "Gitk view definition" +msgstr "Scelta vista Gitk" + +#: gitk:1921 +msgid "Name" +msgstr "Nome" + +#: gitk:1924 +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:1935 +msgid "Command to generate more commits to include:" +msgstr "Comando che genera altre revisioni da visualizzare:" + +#: gitk:1942 +msgid "Enter files and directories to include, one per line:" +msgstr "Inserire file e directory da includere, uno per riga:" + +#: gitk:1989 +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 +msgid "None" +msgstr "Nessuno" + +#: gitk:2531 gitk:4336 gitk:5958 gitk:5973 +msgid "Date" +msgstr "Data" + +#: gitk:2531 gitk:4336 +msgid "CDate" +msgstr "" + +#: gitk:2680 gitk:2685 +msgid "Descendant" +msgstr "Discendente" + +#: gitk:2681 +msgid "Not descendant" +msgstr "Non discendente" + +#: gitk:2688 gitk:2693 +msgid "Ancestor" +msgstr "Ascendente" + +#: gitk:2689 +msgid "Not ancestor" +msgstr "Non ascendente" + +#: gitk:2924 +msgid "Local changes checked in to index but not committed" +msgstr "Modifiche locali presenti nell'indice ma non nell'archivio" + +#: gitk:2954 +msgid "Local uncommitted changes, not checked in to index" +msgstr "Modifiche locali non presenti né nell'archivio né nell'indice" + +#: gitk:4305 +msgid "Searching" +msgstr "Ricerca in corso" + +#: gitk:4767 +msgid "Tags:" +msgstr "Etichette:" + +#: gitk:4784 gitk:4790 gitk:5951 +msgid "Parent" +msgstr "Genitore" + +#: gitk:4795 +msgid "Child" +msgstr "Figlio" + +#: gitk:4804 +msgid "Branch" +msgstr "Ramo" + +#: gitk:4807 +msgid "Follows" +msgstr "Segue" + +#: gitk:4810 +msgid "Precedes" +msgstr "Precede" + +#: gitk:5093 +msgid "Error getting merge diffs:" +msgstr "Errore nella lettura delle differenze di fusione:" + +#: gitk:5778 +msgid "Goto:" +msgstr "Vai a:" + +#: gitk:5780 +msgid "SHA1 ID:" +msgstr "SHA1 ID:" + +#: gitk:5805 +#, tcl-format +msgid "Short SHA1 id %s is ambiguous" +msgstr "La SHA1 id abbreviata %s è ambigua" + +#: gitk:5817 +#, tcl-format +msgid "SHA1 id %s is not known" +msgstr "La SHA1 id %s è sconosciuta" + +#: gitk:5819 +#, tcl-format +msgid "Tag/Head %s is not known" +msgstr "L'etichetta/ramo %s è sconosciuto" + +#: gitk:5961 +msgid "Children" +msgstr "Figli" + +#: gitk:6018 +#, tcl-format +msgid "Reset %s branch to here" +msgstr "Aggiorna il ramo %s a questa revisione" + +#: gitk:6049 +msgid "Top" +msgstr "Inizio" + +#: gitk:6050 +msgid "From" +msgstr "Da" + +#: gitk:6055 +msgid "To" +msgstr "A" + +#: gitk:6078 +msgid "Generate patch" +msgstr "Genera patch" + +#: gitk:6080 +msgid "From:" +msgstr "Da:" + +#: gitk:6089 +msgid "To:" +msgstr "A:" + +#: gitk:6098 +msgid "Reverse" +msgstr "Inverti" + +#: gitk:6100 gitk:6269 +msgid "Output file:" +msgstr "Scrivi sul file:" + +#: gitk:6106 +msgid "Generate" +msgstr "Genera" + +#: gitk:6142 +msgid "Error creating patch:" +msgstr "Errore nella creazione della patch:" + +#: gitk:6164 gitk:6257 gitk:6311 +msgid "ID:" +msgstr "ID:" + +#: gitk:6173 +msgid "Tag name:" +msgstr "Nome etichetta:" + +#: gitk:6177 gitk:6320 +msgid "Create" +msgstr "Crea" + +#: gitk:6192 +msgid "No tag name specified" +msgstr "Nessuna etichetta specificata" + +#: gitk:6196 +#, tcl-format +msgid "Tag \"%s\" already exists" +msgstr "L'etichetta \"%s\" esiste già" + +#: gitk:6202 +msgid "Error creating tag:" +msgstr "Errore nella creazione dell'etichetta:" + +#: gitk:6266 +msgid "Command:" +msgstr "Comando:" + +#: gitk:6274 +msgid "Write" +msgstr "Scrivi" + +#: gitk:6290 +msgid "Error writing commit:" +msgstr "Errore nella scrittura della revisione:" + +#: gitk:6316 +msgid "Name:" +msgstr "Nome:" + +#: gitk:6335 +msgid "Please specify a name for the new branch" +msgstr "Specificare un nome per il nuovo ramo" + +#: gitk:6364 +#, 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 +msgid "Cherry-picking" +msgstr "" + +#: gitk:6381 +msgid "No changes committed" +msgstr "Nessuna modifica archiviata" + +#: gitk:6404 +msgid "Confirm reset" +msgstr "Conferma git reset" + +#: gitk:6406 +#, tcl-format +msgid "Reset branch %s to %s?" +msgstr "Aggiornare il ramo %s a %s?" + +#: gitk:6410 +msgid "Reset type:" +msgstr "Tipo di aggiornamento:" + +#: gitk:6414 +msgid "Soft: Leave working tree and index untouched" +msgstr "Soft: Lascia la direcory di lavoro e l'indice come sono" + +#: gitk:6417 +msgid "Mixed: Leave working tree untouched, reset index" +msgstr "Mixed: Lascia la directory di lavoro come è, aggiorna l'indice" + +#: gitk:6420 +msgid "" +"Hard: Reset working tree and index\n" +"(discard ALL local changes)" +msgstr "" +"Hard: Aggiorna la directory di lavoro e l'indice\n" +"(abbandona TUTTE le modifiche locali)" + +#: gitk:6436 +msgid "Resetting" +msgstr "git reset in corso" + +#: gitk:6493 +msgid "Checking out" +msgstr "Attivazione in corso" + +#: gitk:6523 +msgid "Cannot delete the currently checked-out branch" +msgstr "Impossibile cancellare il ramo attualmente attivo" + +#: gitk:6529 +#, tcl-format +msgid "" +"The commits on branch %s aren't on any other branch.\n" +"Really delete branch %s?" +msgstr "" +"Le revisioni nel ramo %s non sono presenti su altri rami.\n" +"Cancellare il ramo %s?" + +#: gitk:6560 +#, tcl-format +msgid "Tags and heads: %s" +msgstr "Etichette e rami: %s" + +#: gitk:6574 +msgid "Filter" +msgstr "Filtro" + +#: gitk:6868 +msgid "" +"Error reading commit topology information; branch and preceding/following " +"tag information will be incomplete." +msgstr "" +"Errore nella lettura della topologia delle revisioni: le informazioni sul " +"ramo e le etichette precedenti e seguenti saranno incomplete." + +#: gitk:7852 +msgid "Tag" +msgstr "Etichetta" + +#: gitk:7852 +msgid "Id" +msgstr "Id" + +#: gitk:7892 +msgid "Gitk font chooser" +msgstr "Scelta caratteri gitk" + +#: gitk:7909 +msgid "B" +msgstr "B" + +#: gitk:7912 +msgid "I" +msgstr "I" + +#: gitk:8005 +msgid "Gitk preferences" +msgstr "Preferenze gitk" + +#: gitk:8006 +msgid "Commit list display options" +msgstr "Opzioni visualizzazione dell'elenco revisioni" + +#: gitk:8009 +msgid "Maximum graph width (lines)" +msgstr "Larghezza massima del grafico (in linee)" + +#: gitk:8013 +#, tcl-format +msgid "Maximum graph width (% of pane)" +msgstr "Larghezza massima del grafico (% del pannello)" + +#: gitk:8018 +msgid "Show local changes" +msgstr "Mostra modifiche locali" + +#: gitk:8023 +msgid "Auto-select SHA1" +msgstr "Seleziona automaticamente SHA1 hash" + +#: gitk:8028 +msgid "Diff display options" +msgstr "Opzioni di visualizzazione delle differenze" + +#: gitk:8030 +msgid "Tab spacing" +msgstr "Spaziatura tabulazioni" + +#: gitk:8034 +msgid "Display nearby tags" +msgstr "Mostra etichette vicine" + +#: gitk:8039 +msgid "Limit diffs to listed paths" +msgstr "Limita le differenze ai percorsi elencati" + +#: gitk:8044 +msgid "Colors: press to choose" +msgstr "Colori: premere per scegliere" + +#: gitk:8047 +msgid "Background" +msgstr "Sfondo" + +#: gitk:8051 +msgid "Foreground" +msgstr "Primo piano" + +#: gitk:8055 +msgid "Diff: old lines" +msgstr "Diff: vecchie linee" + +#: gitk:8060 +msgid "Diff: new lines" +msgstr "Diff: nuove linee" + +#: gitk:8065 +msgid "Diff: hunk header" +msgstr "Diff: intestazione della sezione" + +#: gitk:8071 +msgid "Select bg" +msgstr "Sfondo selezione" + +#: gitk:8075 +msgid "Fonts: press to choose" +msgstr "Carattere: premere per scegliere" + +#: gitk:8077 +msgid "Main font" +msgstr "Carattere principale" + +#: gitk:8078 +msgid "Diff display font" +msgstr "Carattere per differenze" + +#: gitk:8079 +msgid "User interface font" +msgstr "Carattere per interfaccia utente" + +#: gitk:8095 +#, tcl-format +msgid "Gitk: choose color for %s" +msgstr "Gitk: scegliere un colore per %s" + +#: gitk:8476 +msgid "" +"Sorry, gitk cannot run with this version of Tcl/Tk.\n" +" Gitk requires at least Tcl/Tk 8.4." +msgstr "" +"Questa versione di Tcl/Tk non può avviare gitk.\n" +" Gitk richiede Tcl/Tk versione 8.4 o superiore." + +#: gitk:8565 +msgid "Cannot find a git repository here." +msgstr "Archivio git non trovato." + +#: gitk:8569 +#, tcl-format +msgid "Cannot find the git directory \"%s\"." +msgstr "Directory git \"%s\" non trovata." + +#: gitk:8612 +#, tcl-format +msgid "Ambiguous argument '%s': both revision and filename" +msgstr "Argomento ambiguo: '%s' è sia revisione che nome di file" + +#: gitk:8624 +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 +msgid "Command line" +msgstr "Linea di comando" From aab0abf7ef2c7636e3b37d4a939ae68784b08e06 Mon Sep 17 00:00:00 2001 From: Jeff King Date: Fri, 14 Mar 2008 20:32:33 -0400 Subject: [PATCH 56/76] t6000lib: re-fix tr portability It seems that some implementations of tr don't like a replacement string of '-----...'; they try to find the double-dash option "---...". Instead of this pipeline of tr and sed invocations, just use a single perl invocation. Signed-off-by: Jeff King --- t/t6000lib.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/t/t6000lib.sh b/t/t6000lib.sh index b69f7c4d11..c0baaa5360 100755 --- a/t/t6000lib.sh +++ b/t/t6000lib.sh @@ -97,10 +97,13 @@ check_output() # from front and back. name_from_description() { - tr "'" '-' | - tr '~`!@#$%^&*()_+={}[]|\;:"<>,/? ' \ - '------------------------------' | - tr -s '-' | tr '[A-Z]' '[a-z]' | sed "s/^-*//;s/-*\$//" + perl -pe ' + s/[^A-Za-z0-9.]/-/g; + s/-+/-/g; + s/-$//; + s/^-//; + y/A-Z/a-z/; + ' } From ed0b9d43097349f4d730472673c07f427480e14a Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 14 Mar 2008 11:01:23 -0700 Subject: [PATCH 57/76] git-svn: don't blindly append '*' to branch/tags config Previously, git-svn would blindly append '*' even if it was specified by the user during initialization (for certain SVN setups, it is necessary). Now, the following command will work correctly: git svn init -T trunk/docutils \ -t 'tags/*/docutils' \ -b 'branches/*/docutils' \ svn://svn.berlios.de/docutils Thanks to martin f krafft for the bug report: > My git-svn target configuration is > > [svn-remote "svn"] > url = svn://svn.berlios.de/docutils > fetch = trunk/docutils:refs/remotes/trunk > branches = branches/*/docutils:refs/remotes/* > tags = tags/*/docutils:refs/remotes/tags/* > > Unfortunately, when I run > > git-svn init -T trunk/docutils -t 'tags/*/docutils' > -b 'branches/*/docutils' > > then I get (note the two asterisks on the left hand side): > > branches = branches/*/docutils/*:refs/remotes/* > tags = tags/*/docutils/*:refs/remotes/tags/* > > I took a brief stab at the code but I can't even figure out where > the /* is appended, so I defer to you. > > It should be trivial to keep git-svn from appending /* if the left > side already contains an asterisk. Signed-off-by: Eric Wong Tested-by: martin f krafft Signed-off-by: Junio C Hamano --- git-svn.perl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/git-svn.perl b/git-svn.perl index 38e1d5944d..e0434099ce 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -955,9 +955,10 @@ sub complete_url_ls_init { "wanted to set to: $gs->{url}\n"; } command_oneline('config', $k, $gs->{url}) unless $orig_url; - my $remote_path = "$ra->{svn_path}/$repo_path/*"; + my $remote_path = "$ra->{svn_path}/$repo_path"; $remote_path =~ s#/+#/#g; $remote_path =~ s#^/##g; + $remote_path .= "/*" if $remote_path !~ /\*/; my ($n) = ($switch =~ /^--(\w+)/); if (length $pfx && $pfx !~ m#/$#) { die "--prefix='$pfx' must have a trailing slash '/'\n"; From 621ff6759414e2a723f61b6d8fc04b9805eb0c20 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 14 Mar 2008 11:49:40 -0700 Subject: [PATCH 58/76] rev-parse: fix meaning of rev~ vs rev~0. I think it would make more sense for rev~ to have the same guarantees that rev^ has, namely to always return a commit. I would also suggest that not giving a number would have the same effect of defaulting to 1, not 0. Right now it's a bit illogical, but at least it's an _undocumented_ illogical behaviour. This patch makes '^' and '~' act the same for the default count (i.e. both default to 1), and also have the same behaviour for a count of zero. Before (no discernible pattern): [torvalds@woody git]$ git rev-parse v1.5.1 v1.5.1^0 v1.5.1~0 v1.5.1^ v1.5.1~ 45354a57ee7e3e42c7137db6c94fa968c6babe8d 89815cab95268e8f0f58142b848ac4cd5e9cbdcb 45354a57ee7e3e42c7137db6c94fa968c6babe8d 045f5759c97746589a067461e50fad16f60711ac 45354a57ee7e3e42c7137db6c94fa968c6babe8d After (fairly logical): [torvalds@woody git]$ git rev-parse v1.5.1 v1.5.1^0 v1.5.1~0 v1.5.1^ v1.5.1~ 45354a57ee7e3e42c7137db6c94fa968c6babe8d 89815cab95268e8f0f58142b848ac4cd5e9cbdcb 89815cab95268e8f0f58142b848ac4cd5e9cbdcb 045f5759c97746589a067461e50fad16f60711ac 045f5759c97746589a067461e50fad16f60711ac Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- sha1_name.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/sha1_name.c b/sha1_name.c index 13e11645e1..6c9c1c75ad 100644 --- a/sha1_name.c +++ b/sha1_name.c @@ -408,18 +408,22 @@ static int get_nth_ancestor(const char *name, int len, unsigned char *result, int generation) { unsigned char sha1[20]; - int ret = get_sha1_1(name, len, sha1); + struct commit *commit; + int ret; + + ret = get_sha1_1(name, len, sha1); if (ret) return ret; + commit = lookup_commit_reference(sha1); + if (!commit) + return -1; while (generation--) { - struct commit *commit = lookup_commit_reference(sha1); - - if (!commit || parse_commit(commit) || !commit->parents) + if (parse_commit(commit) || !commit->parents) return -1; - hashcpy(sha1, commit->parents->item->object.sha1); + commit = commit->parents->item; } - hashcpy(result, sha1); + hashcpy(result, commit->object.sha1); return 0; } @@ -526,9 +530,8 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1) int ret, has_suffix; const char *cp; - /* "name~3" is "name^^^", - * "name~" and "name~0" are name -- not "name^0"! - * "name^" is not "name^0"; it is "name^1". + /* + * "name~3" is "name^^^", "name~" is "name~1", and "name^" is "name^1". */ has_suffix = 0; for (cp = name + len - 1; name <= cp; cp--) { @@ -546,11 +549,10 @@ static int get_sha1_1(const char *name, int len, unsigned char *sha1) cp++; while (cp < name + len) num = num * 10 + *cp++ - '0'; - if (has_suffix == '^') { - if (!num && len1 == len - 1) - num = 1; + if (!num && len1 == len - 1) + num = 1; + if (has_suffix == '^') return get_parent(name, len1, sha1, num); - } /* else if (has_suffix == '~') -- goes without saying */ return get_nth_ancestor(name, len1, sha1, num); } From 4f994937c8aa5306a6ef1c5e183dc5e958719243 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Fri, 14 Mar 2008 21:59:52 +0100 Subject: [PATCH 59/76] git-gui: remove spurious "fuzzy" attributes in po/it.po Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- po/it.po | 2 -- 1 file changed, 2 deletions(-) diff --git a/po/it.po b/po/it.po index 877e7e85af..11cc79bb5e 100644 --- a/po/it.po +++ b/po/it.po @@ -1910,7 +1910,6 @@ msgid "Spell checker silently failed on startup" msgstr "Il correttore ortografico ha riportato un errore all'avvio" #: lib/spellcheck.tcl:80 -#, fuzzy msgid "Unrecognized spell checker" msgstr "Correttore ortografico sconosciuto" @@ -1919,7 +1918,6 @@ msgid "No Suggestions" msgstr "Nessun suggerimento" #: lib/spellcheck.tcl:381 -#, fuzzy msgid "Unexpected EOF from spell checker" msgstr "Il correttore ortografico ha mandato un EOF inaspettato" From b79f5ffc9ba628220140c8e2f9daaff650d4e374 Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Fri, 14 Mar 2008 23:25:57 +0100 Subject: [PATCH 60/76] git-gui: update russian translation Signed-off-by: Alex Riesen Signed-off-by: Shawn O. Pearce --- po/ru.po | 48 +++++++++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/po/ru.po b/po/ru.po index 849dc5c343..db55b3e0a6 100644 --- a/po/ru.po +++ b/po/ru.po @@ -806,7 +806,7 @@ msgstr "Обновление рабочего каталога из '%s'..." #: lib/checkout_op.tcl:323 msgid "files checked out" -msgstr "" +msgstr "файлы извлечены" #: lib/checkout_op.tcl:353 #, tcl-format @@ -1250,7 +1250,6 @@ msgstr "" "Подготовьте хотя бы один файл до создания сохраненного состояния.\n" #: lib/commit.tcl:183 -#, fuzzy msgid "" "Please supply a commit message.\n" "\n" @@ -1275,32 +1274,31 @@ msgstr "предупреждение: Tcl не поддерживает коди #: lib/commit.tcl:221 msgid "Calling pre-commit hook..." -msgstr "" +msgstr "Вызов программы поддержки репозитория pre-commit..." #: lib/commit.tcl:236 msgid "Commit declined by pre-commit hook." -msgstr "" +msgstr "Сохранение прервано программой поддержки репозитория pre-commit" #: lib/commit.tcl:259 msgid "Calling commit-msg hook..." -msgstr "" +msgstr "Вызов программы поддержки репозитория commit-msg..." #: lib/commit.tcl:274 msgid "Commit declined by commit-msg hook." -msgstr "" +msgstr "Сохранение прервано программой поддержки репозитория commit-msg" #: lib/commit.tcl:287 msgid "Committing changes..." -msgstr "" +msgstr "Сохранение изменений..." #: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "Программа write-tree завершилась с ошибкой:" #: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 -#, fuzzy msgid "Commit failed." -msgstr "Клонирование не удалось." +msgstr "Сохранить состояние не удалось." #: lib/commit.tcl:321 #, tcl-format @@ -1506,7 +1504,6 @@ msgid "Unstaging %s from commit" msgstr "Удаление %s из подготовленного" #: lib/index.tcl:313 -#, fuzzy msgid "Ready to commit." msgstr "Подготовлено для сохранения" @@ -1602,9 +1599,8 @@ msgid "%s of %s" msgstr "%s из %s" #: lib/merge.tcl:119 -#, fuzzy, tcl-format msgid "Merging %s and %s..." -msgstr "Объединение %s и %s" +msgstr "Объединение %s и %s..." #: lib/merge.tcl:130 msgid "Merge completed successfully." @@ -1666,9 +1662,8 @@ msgid "Aborting" msgstr "Прерываю" #: lib/merge.tcl:238 -#, fuzzy msgid "files reset" -msgstr "файлов" +msgstr "изменения в файлах отменены" #: lib/merge.tcl:265 msgid "Abort failed." @@ -1701,7 +1696,7 @@ msgstr "Имя пользователя" #: lib/option.tcl:117 msgid "Email Address" -msgstr "Адес электронной почты" +msgstr "Адрес электронной почты" #: lib/option.tcl:119 msgid "Summarize Merge Commits" @@ -1732,9 +1727,8 @@ msgid "Number of Diff Context Lines" msgstr "Число строк в контексте diff" #: lib/option.tcl:127 -#, fuzzy msgid "Commit Message Text Width" -msgstr "Комментарий к состоянию:" +msgstr "Ширина комментария к состоянию:" #: lib/option.tcl:128 msgid "New Branch Name Template" @@ -1742,7 +1736,7 @@ msgstr "Шаблон для имени новой ветви" #: lib/option.tcl:192 msgid "Spelling Dictionary:" -msgstr "" +msgstr "Словарь для проверки правописания:" #: lib/option.tcl:216 msgid "Change Font" @@ -1871,40 +1865,40 @@ msgstr "Невозможно записать значок:" #: lib/spellcheck.tcl:57 msgid "Unsupported spell checker" -msgstr "" +msgstr "Неподдерживаемая программа проверки правописания" #: lib/spellcheck.tcl:65 msgid "Spell checking is unavailable" -msgstr "" +msgstr "Проверка правописания не доступна" #: lib/spellcheck.tcl:68 msgid "Invalid spell checking configuration" -msgstr "" +msgstr "Неправильная конфигурация программы проверки правописания" #: lib/spellcheck.tcl:70 #, tcl-format msgid "Reverting dictionary to %s." -msgstr "" +msgstr "Словарь вернут к %s." #: lib/spellcheck.tcl:73 msgid "Spell checker silently failed on startup" -msgstr "" +msgstr "Программа проверки правописания не смогла запустится" #: lib/spellcheck.tcl:80 msgid "Unrecognized spell checker" -msgstr "" +msgstr "Нераспознаная программа проверки правописания" #: lib/spellcheck.tcl:180 msgid "No Suggestions" -msgstr "" +msgstr "Исправлений не найдено" #: lib/spellcheck.tcl:381 msgid "Unexpected EOF from spell checker" -msgstr "" +msgstr "Программа проверки правописания прервала передачу данных" #: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" -msgstr "" +msgstr "Ошибка проверки правописания" #: lib/status_bar.tcl:83 #, tcl-format From 427f48603ef0384bbb5f0de37272ad44c38cae1d Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 14 Mar 2008 17:28:53 +0100 Subject: [PATCH 61/76] git-gui: Updated Hungarian translation (e5fba18) Signed-off-by: Miklos Vajna Signed-off-by: Shawn O. Pearce --- po/hu.po | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/po/hu.po b/po/hu.po index 89980d2067..28760ed978 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: git-gui-i 18n\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-03-14 07:18+0100\n" -"PO-Revision-Date: 2008-03-13 13:30+0100\n" +"PO-Revision-Date: 2008-03-14 17:24+0100\n" "Last-Translator: Miklos Vajna \n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -1739,9 +1739,8 @@ msgid "Number of Diff Context Lines" msgstr "A diff környezeti sorok száma" #: lib/option.tcl:127 -#, fuzzy msgid "Commit Message Text Width" -msgstr "Commit üzenet:" +msgstr "Commit üzenet szövegének szélessége" #: lib/option.tcl:128 msgid "New Branch Name Template" @@ -1878,40 +1877,36 @@ msgstr "Nem sikerült írni az ikont:" #: lib/spellcheck.tcl:57 msgid "Unsupported spell checker" -msgstr "" +msgstr "Nem támogatott helyesírás-ellenőrző" #: lib/spellcheck.tcl:65 -#, fuzzy msgid "Spell checking is unavailable" -msgstr "A helyesírás-ellenőrzés sikertelen" +msgstr "A helyesírás-ellenőrzés nem elérhető" #: lib/spellcheck.tcl:68 msgid "Invalid spell checking configuration" -msgstr "" +msgstr "Érvénytelen a helyesírás-ellenőrző beállítása" #: lib/spellcheck.tcl:70 #, tcl-format msgid "Reverting dictionary to %s." -msgstr "" +msgstr "Szótár visszaállítása a következőre: %s." #: lib/spellcheck.tcl:73 -#, fuzzy msgid "Spell checker silently failed on startup" -msgstr "A helyesírás-ellenőrzés sikertelen" +msgstr "A helyesírás-ellenőrő indítása sikertelen" #: lib/spellcheck.tcl:80 -#, fuzzy msgid "Unrecognized spell checker" -msgstr "Ismeretlen aspell verzió" +msgstr "Ismeretlen helyesírás-ellenőrző" #: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "Nincs javaslat" #: lib/spellcheck.tcl:381 -#, fuzzy msgid "Unexpected EOF from spell checker" -msgstr "Nem várt EOF az aspelltől" +msgstr "Nem várt EOF a helyesírás-ellenőrzőtől" #: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" From 442b3caaee6da96292baf1769b364498af5097fa Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 15 Mar 2008 01:11:08 -0400 Subject: [PATCH 62/76] git-gui: Don't translate the special Apple menu Peter Karlsson pointed out there is no value in translating the string "Apple", as this is used as the dummy label for the Apple menu on Mac OS X systems. The Apple menu is actually not the menu with the Apple corporate logo, but the menu next to it, which shows the name of the application and is typically called the application menu. Most users of git-gui see this menu titled as "Git Gui". The actual label of this menu comes from our Info.plist file and cannot be specified by any other means. Translating this string in the Tcl PO files is not necessary. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 2 +- lib/choose_repository.tcl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 3a58cd2c6b..5e97fbf03e 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -2089,7 +2089,7 @@ if {[is_enabled transport]} { if {[is_MacOSX]} { # -- Apple Menu (Mac OS X only) # - .mbar add cascade -label [mc Apple] -menu .mbar.apple + .mbar add cascade -label Apple -menu .mbar.apple menu .mbar.apple .mbar.apple add command -label [mc "About %s" [appname]] \ diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 0adcf9d958..ae4a4cd0a8 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -38,7 +38,7 @@ constructor pick {} { menu $m_repo if {[is_MacOSX]} { - $w.mbar add cascade -label [mc Apple] -menu .mbar.apple + $w.mbar add cascade -label Apple -menu .mbar.apple menu $w.mbar.apple $w.mbar.apple add command \ -label [mc "About %s" [appname]] \ From 45e53d17ee0a8c98aab961112f57a4ac6042d877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=97=E3=82=89=E3=81=84=E3=81=97=E3=81=AA=E3=81=AA?= =?UTF-8?q?=E3=81=93?= Date: Fri, 14 Mar 2008 22:03:21 +0900 Subject: [PATCH 63/76] git-gui: Update Japanese translation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I updated Japanese translation for the latest git-gui. Signed-off-by: しらいしななこ Signed-off-by: Shawn O. Pearce --- po/ja.po | 641 ++++++++++++++++++++++++++----------------------------- 1 file changed, 308 insertions(+), 333 deletions(-) diff --git a/po/ja.po b/po/ja.po index dd4e039124..189b7269aa 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,41 +8,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-03-14 07:18+0100\n" -"PO-Revision-Date: 2007-12-05 06:12+0900\n" +"POT-Creation-Date: 2008-02-16 21:24+0100\n" +"PO-Revision-Date: 2008-03-14 20:32+0900\n" "Last-Translator: しらいし ななこ \n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 -#: git-gui.sh:763 +#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 +#: git-gui.sh:733 msgid "git-gui: fatal error" msgstr "git-gui: 致命的なエラー" -#: git-gui.sh:593 +#: git-gui.sh:565 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s に無効なフォントが指定されています:" -#: git-gui.sh:620 +#: git-gui.sh:590 msgid "Main Font" msgstr "主フォント" -#: git-gui.sh:621 +#: git-gui.sh:591 msgid "Diff/Console Font" msgstr "diff/コンソール・フォント" -#: git-gui.sh:635 +#: git-gui.sh:605 msgid "Cannot find git in PATH." msgstr "PATH 中に git が見つかりません" -#: git-gui.sh:662 +#: git-gui.sh:632 msgid "Cannot parse Git version string:" msgstr "Git バージョン名が理解できません:" -#: git-gui.sh:680 +#: git-gui.sh:650 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +61,79 @@ msgstr "" "\n" "'%s' はバージョン 1.5.0 と思って良いですか?\n" -#: git-gui.sh:918 +#: git-gui.sh:888 msgid "Git directory not found:" msgstr "Git ディレクトリが見つかりません:" -#: git-gui.sh:925 +#: git-gui.sh:895 msgid "Cannot move to top of working directory:" msgstr "作業ディレクトリの最上位に移動できません" -#: git-gui.sh:932 +#: git-gui.sh:902 msgid "Cannot use funny .git directory:" msgstr "変な .git ディレクトリは使えません" -#: git-gui.sh:937 +#: git-gui.sh:907 msgid "No working directory" msgstr "作業ディレクトリがありません" -#: git-gui.sh:1084 lib/checkout_op.tcl:283 +#: git-gui.sh:1054 msgid "Refreshing file status..." msgstr "ファイル状態を更新しています…" -#: git-gui.sh:1149 +#: git-gui.sh:1119 msgid "Scanning for modified files ..." msgstr "変更されたファイルをスキャンしています…" -#: git-gui.sh:1324 lib/browser.tcl:246 +#: git-gui.sh:1294 lib/browser.tcl:245 msgid "Ready." msgstr "準備完了" -#: git-gui.sh:1590 +#: git-gui.sh:1560 msgid "Unmodified" msgstr "変更無し" -#: git-gui.sh:1592 +#: git-gui.sh:1562 msgid "Modified, not staged" msgstr "変更あり、コミット未予定" -#: git-gui.sh:1593 git-gui.sh:1598 +#: git-gui.sh:1563 git-gui.sh:1568 msgid "Staged for commit" msgstr "コミット予定済" -#: git-gui.sh:1594 git-gui.sh:1599 +#: git-gui.sh:1564 git-gui.sh:1569 msgid "Portions staged for commit" msgstr "部分的にコミット予定済" -#: git-gui.sh:1595 git-gui.sh:1600 +#: git-gui.sh:1565 git-gui.sh:1570 msgid "Staged for commit, missing" msgstr "コミット予定済、ファイル無し" -#: git-gui.sh:1597 +#: git-gui.sh:1567 msgid "Untracked, not staged" msgstr "管理外、コミット未予定" -#: git-gui.sh:1602 +#: git-gui.sh:1572 msgid "Missing" msgstr "ファイル無し" -#: git-gui.sh:1603 +#: git-gui.sh:1573 msgid "Staged for removal" msgstr "削除予定済" -#: git-gui.sh:1604 +#: git-gui.sh:1574 msgid "Staged for removal, still present" msgstr "削除予定済、ファイル未削除" -#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 +#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 msgid "Requires merge resolution" msgstr "要マージ解決" -#: git-gui.sh:1644 +#: git-gui.sh:1614 msgid "Starting gitk... please wait..." msgstr "gitk を起動中…お待ち下さい…" -#: git-gui.sh:1653 +#: git-gui.sh:1623 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,297 +144,297 @@ msgstr "" "\n" "%s がありません" -#: git-gui.sh:1860 lib/choose_repository.tcl:36 +#: git-gui.sh:1823 lib/choose_repository.tcl:35 msgid "Repository" msgstr "リポジトリ" -#: git-gui.sh:1861 +#: git-gui.sh:1824 msgid "Edit" msgstr "編集" -#: git-gui.sh:1863 lib/choose_rev.tcl:561 +#: git-gui.sh:1826 lib/choose_rev.tcl:560 msgid "Branch" msgstr "ブランチ" -#: git-gui.sh:1866 lib/choose_rev.tcl:548 +#: git-gui.sh:1829 lib/choose_rev.tcl:547 msgid "Commit@@noun" msgstr "コミット" -#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 +#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "マージ" -#: git-gui.sh:1870 lib/choose_rev.tcl:557 +#: git-gui.sh:1833 lib/choose_rev.tcl:556 msgid "Remote" msgstr "リモート" -#: git-gui.sh:1879 +#: git-gui.sh:1842 msgid "Browse Current Branch's Files" msgstr "現在のブランチのファイルを見る" -#: git-gui.sh:1883 +#: git-gui.sh:1846 msgid "Browse Branch Files..." msgstr "ブランチのファイルを見る…" -#: git-gui.sh:1888 +#: git-gui.sh:1851 msgid "Visualize Current Branch's History" msgstr "現在のブランチの履歴を見る" -#: git-gui.sh:1892 +#: git-gui.sh:1855 msgid "Visualize All Branch History" msgstr "全てのブランチの履歴を見る" -#: git-gui.sh:1899 +#: git-gui.sh:1862 #, tcl-format msgid "Browse %s's Files" msgstr "ブランチ %s のファイルを見る" -#: git-gui.sh:1901 +#: git-gui.sh:1864 #, tcl-format msgid "Visualize %s's History" msgstr "ブランチ %s の履歴を見る" -#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "データベース統計" -#: git-gui.sh:1909 lib/database.tcl:34 +#: git-gui.sh:1872 lib/database.tcl:34 msgid "Compress Database" msgstr "データベース圧縮" -#: git-gui.sh:1912 +#: git-gui.sh:1875 msgid "Verify Database" msgstr "データベース検証" -#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 +#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "デスクトップ・アイコンを作る" -#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 +#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 msgid "Quit" msgstr "終了" -#: git-gui.sh:1939 +#: git-gui.sh:1902 msgid "Undo" msgstr "元に戻す" -#: git-gui.sh:1942 +#: git-gui.sh:1905 msgid "Redo" msgstr "やり直し" -#: git-gui.sh:1946 git-gui.sh:2443 +#: git-gui.sh:1909 git-gui.sh:2403 msgid "Cut" msgstr "切り取り" -#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 -#: lib/console.tcl:69 +#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 +#: lib/console.tcl:67 msgid "Copy" msgstr "コピー" -#: git-gui.sh:1952 git-gui.sh:2449 +#: git-gui.sh:1915 git-gui.sh:2409 msgid "Paste" msgstr "貼り付け" -#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 +#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "削除" -#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 +#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 msgid "Select All" msgstr "全て選択" -#: git-gui.sh:1968 +#: git-gui.sh:1931 msgid "Create..." msgstr "作成…" -#: git-gui.sh:1974 +#: git-gui.sh:1937 msgid "Checkout..." msgstr "チェックアウト" -#: git-gui.sh:1980 +#: git-gui.sh:1943 msgid "Rename..." msgstr "名前変更…" -#: git-gui.sh:1985 git-gui.sh:2085 +#: git-gui.sh:1948 git-gui.sh:2048 msgid "Delete..." msgstr "削除…" -#: git-gui.sh:1990 +#: git-gui.sh:1953 msgid "Reset..." msgstr "リセット…" -#: git-gui.sh:2002 git-gui.sh:2389 +#: git-gui.sh:1965 git-gui.sh:2350 msgid "New Commit" msgstr "新規コミット" -#: git-gui.sh:2010 git-gui.sh:2396 +#: git-gui.sh:1973 git-gui.sh:2357 msgid "Amend Last Commit" msgstr "最新コミットを訂正" -#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "再スキャン" -#: git-gui.sh:2025 +#: git-gui.sh:1988 msgid "Stage To Commit" msgstr "コミット予定する" -#: git-gui.sh:2031 +#: git-gui.sh:1994 msgid "Stage Changed Files To Commit" msgstr "変更されたファイルをコミット予定" -#: git-gui.sh:2037 +#: git-gui.sh:2000 msgid "Unstage From Commit" msgstr "コミットから降ろす" -#: git-gui.sh:2042 lib/index.tcl:395 +#: git-gui.sh:2005 lib/index.tcl:393 msgid "Revert Changes" msgstr "変更を元に戻す" -#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 +#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 msgid "Sign Off" msgstr "署名" -#: git-gui.sh:2053 git-gui.sh:2372 +#: git-gui.sh:2016 git-gui.sh:2333 msgid "Commit@@verb" msgstr "コミット" -#: git-gui.sh:2064 +#: git-gui.sh:2027 msgid "Local Merge..." msgstr "ローカル・マージ…" -#: git-gui.sh:2069 +#: git-gui.sh:2032 msgid "Abort Merge..." msgstr "マージ中止…" -#: git-gui.sh:2081 +#: git-gui.sh:2044 msgid "Push..." msgstr "プッシュ…" -#: git-gui.sh:2092 lib/choose_repository.tcl:41 +#: git-gui.sh:2055 lib/choose_repository.tcl:40 msgid "Apple" msgstr "りんご" -#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 +#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 #, tcl-format msgid "About %s" msgstr "%s について" -#: git-gui.sh:2099 +#: git-gui.sh:2062 msgid "Preferences..." msgstr "設定…" -#: git-gui.sh:2107 git-gui.sh:2639 +#: git-gui.sh:2070 git-gui.sh:2595 msgid "Options..." msgstr "オプション…" -#: git-gui.sh:2113 lib/choose_repository.tcl:47 +#: git-gui.sh:2076 lib/choose_repository.tcl:46 msgid "Help" msgstr "ヘルプ" -#: git-gui.sh:2154 +#: git-gui.sh:2117 msgid "Online Documentation" msgstr "オンライン・ドキュメント" -#: git-gui.sh:2238 +#: git-gui.sh:2201 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "致命的: パス %s が stat できません。そのようなファイルやディレクトリはありま" "せん" -#: git-gui.sh:2271 +#: git-gui.sh:2234 msgid "Current Branch:" msgstr "現在のブランチ" -#: git-gui.sh:2292 +#: git-gui.sh:2255 msgid "Staged Changes (Will Commit)" msgstr "ステージングされた(コミット予定済の)変更" -#: git-gui.sh:2312 +#: git-gui.sh:2274 msgid "Unstaged Changes" msgstr "コミット予定に入っていない変更" -#: git-gui.sh:2362 +#: git-gui.sh:2323 msgid "Stage Changed" msgstr "変更をコミット予定に入れる" -#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "プッシュ" -#: git-gui.sh:2408 +#: git-gui.sh:2369 msgid "Initial Commit Message:" msgstr "最初のコミットメッセージ:" -#: git-gui.sh:2409 +#: git-gui.sh:2370 msgid "Amended Commit Message:" msgstr "訂正したコミットメッセージ:" -#: git-gui.sh:2410 +#: git-gui.sh:2371 msgid "Amended Initial Commit Message:" msgstr "訂正した最初のコミットメッセージ:" -#: git-gui.sh:2411 +#: git-gui.sh:2372 msgid "Amended Merge Commit Message:" msgstr "訂正したマージコミットメッセージ:" -#: git-gui.sh:2412 +#: git-gui.sh:2373 msgid "Merge Commit Message:" msgstr "マージコミットメッセージ:" -#: git-gui.sh:2413 +#: git-gui.sh:2374 msgid "Commit Message:" msgstr "コミットメッセージ:" -#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 +#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 msgid "Copy All" msgstr "全てコピー" -#: git-gui.sh:2483 lib/blame.tcl:107 +#: git-gui.sh:2443 lib/blame.tcl:104 msgid "File:" msgstr "ファイル:" -#: git-gui.sh:2589 +#: git-gui.sh:2573 msgid "Apply/Reverse Hunk" msgstr "パッチを適用/取り消す" -#: git-gui.sh:2595 +#: git-gui.sh:2579 msgid "Show Less Context" msgstr "文脈を少なく" -#: git-gui.sh:2602 +#: git-gui.sh:2586 msgid "Show More Context" msgstr "文脈を多く" -#: git-gui.sh:2610 +#: git-gui.sh:2594 msgid "Refresh" msgstr "再読み込み" -#: git-gui.sh:2631 +#: git-gui.sh:2615 msgid "Decrease Font Size" msgstr "フォントを小さく" -#: git-gui.sh:2635 +#: git-gui.sh:2619 msgid "Increase Font Size" msgstr "フォントを大きく" -#: git-gui.sh:2646 +#: git-gui.sh:2630 msgid "Unstage Hunk From Commit" msgstr "パッチをコミット予定から外す" -#: git-gui.sh:2648 +#: git-gui.sh:2604 msgid "Stage Hunk For Commit" msgstr "パッチをコミット予定に加える" -#: git-gui.sh:2667 +#: git-gui.sh:2623 msgid "Initializing..." msgstr "初期化しています…" -#: git-gui.sh:2762 +#: git-gui.sh:2718 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -449,7 +449,7 @@ msgstr "" "以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n" "\n" -#: git-gui.sh:2792 +#: git-gui.sh:2748 msgid "" "\n" "This is due to a known issue with the\n" @@ -459,7 +459,7 @@ msgstr "" "これは Cygwin で配布されている Tcl バイナリに\n" "関しての既知の問題によります" -#: git-gui.sh:2797 +#: git-gui.sh:2753 #, tcl-format msgid "" "\n" @@ -474,7 +474,7 @@ msgstr "" "個人的な ~/.gitconfig ファイル内で user.name と user.email の値を設定\n" "するのが、%s の良い代用となります\n" -#: lib/about.tcl:26 +#: lib/about.tcl:25 msgid "git-gui - a graphical user interface for Git." msgstr "Git のグラフィカルUI git-gui" @@ -486,56 +486,56 @@ msgstr "ファイルピューワ" msgid "Commit:" msgstr "コミット:" -#: lib/blame.tcl:264 +#: lib/blame.tcl:249 msgid "Copy Commit" msgstr "コミットをコピー" -#: lib/blame.tcl:384 +#: lib/blame.tcl:369 #, tcl-format msgid "Reading %s..." msgstr "%s を読んでいます…" -#: lib/blame.tcl:488 +#: lib/blame.tcl:473 msgid "Loading copy/move tracking annotations..." msgstr "コピー・移動追跡データを読んでいます…" -#: lib/blame.tcl:508 +#: lib/blame.tcl:493 msgid "lines annotated" msgstr "行を注釈しました" -#: lib/blame.tcl:689 +#: lib/blame.tcl:674 msgid "Loading original location annotations..." msgstr "元位置行の注釈データを読んでいます…" -#: lib/blame.tcl:692 +#: lib/blame.tcl:677 msgid "Annotation complete." msgstr "注釈完了しました" -#: lib/blame.tcl:746 +#: lib/blame.tcl:731 msgid "Loading annotation..." msgstr "注釈を読み込んでいます…" -#: lib/blame.tcl:802 +#: lib/blame.tcl:787 msgid "Author:" msgstr "作者:" -#: lib/blame.tcl:806 +#: lib/blame.tcl:791 msgid "Committer:" msgstr "コミット者:" -#: lib/blame.tcl:811 +#: lib/blame.tcl:796 msgid "Original File:" msgstr "元ファイル" -#: lib/blame.tcl:925 +#: lib/blame.tcl:910 msgid "Originally By:" msgstr "原作者:" -#: lib/blame.tcl:931 +#: lib/blame.tcl:916 msgid "In File:" msgstr "ファイル:" -#: lib/blame.tcl:936 +#: lib/blame.tcl:921 msgid "Copied Or Moved Here By:" msgstr "複写・移動者:" @@ -548,17 +548,17 @@ msgid "Checkout" msgstr "チェックアウト" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 -#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "中止" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "リビジョン" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 msgid "Options" msgstr "オプション" @@ -578,7 +578,7 @@ msgstr "ブランチを作成" msgid "Create New Branch" msgstr "ブランチを新規作成" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 msgid "Create" msgstr "作成" @@ -718,22 +718,22 @@ msgstr "起動中…" msgid "File Browser" msgstr "ファイル・ブラウザ" -#: lib/browser.tcl:126 lib/browser.tcl:143 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "%s をロード中…" -#: lib/browser.tcl:187 +#: lib/browser.tcl:186 msgid "[Up To Parent]" msgstr "[上位フォルダへ]" -#: lib/browser.tcl:267 lib/browser.tcl:273 +#: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" msgstr "現在のブランチのファイルを見る" -#: lib/browser.tcl:278 lib/choose_repository.tcl:387 -#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 -#: lib/choose_repository.tcl:987 +#: lib/browser.tcl:277 lib/choose_repository.tcl:391 +#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 +#: lib/choose_repository.tcl:989 msgid "Browse" msgstr "ブラウズ" @@ -747,7 +747,7 @@ msgstr "%s から %s をフェッチしています" msgid "fatal: Cannot resolve %s" msgstr "致命的エラー: %s を解決できません" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "閉じる" @@ -806,7 +806,7 @@ msgstr "作業ディレクトリを '%s' に更新しています…" #: lib/checkout_op.tcl:323 msgid "files checked out" -msgstr "" +msgstr "チェックアウトされたファイル" #: lib/checkout_op.tcl:353 #, tcl-format @@ -834,7 +834,7 @@ msgstr "" "ブランチ上に滞まりたいときは、この「分離されたチェックアウト」から新規ブラン" "チを開始してください。" -#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 +#: lib/checkout_op.tcl:446 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' をチェックアウトしました" @@ -853,7 +853,7 @@ msgstr "失なわれたコミットを回復するのは簡単ではありませ msgid "Reset '%s'?" msgstr "'%s' をリセットしますか?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:163 +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 msgid "Visualize" msgstr "可視化" @@ -881,15 +881,15 @@ msgstr "選択" msgid "Font Family" msgstr "フォント・ファミリー" -#: lib/choose_font.tcl:74 +#: lib/choose_font.tcl:73 msgid "Font Size" msgstr "フォントの大きさ" -#: lib/choose_font.tcl:91 +#: lib/choose_font.tcl:90 msgid "Font Example" msgstr "フォント・サンプル" -#: lib/choose_font.tcl:103 +#: lib/choose_font.tcl:101 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -897,225 +897,225 @@ msgstr "" "これはサンプル文です。\n" "このフォントが気に入ればお使いになれます。" -#: lib/choose_repository.tcl:28 +#: lib/choose_repository.tcl:27 msgid "Git Gui" msgstr "Git GUI" -#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 +#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 msgid "Create New Repository" msgstr "新しいリポジトリを作る" -#: lib/choose_repository.tcl:87 +#: lib/choose_repository.tcl:86 msgid "New..." msgstr "新規…" -#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 +#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 msgid "Clone Existing Repository" msgstr "既存リポジトリを複製する" -#: lib/choose_repository.tcl:100 +#: lib/choose_repository.tcl:99 msgid "Clone..." msgstr "複製…" -#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 +#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 msgid "Open Existing Repository" msgstr "既存リポジトリを開く" -#: lib/choose_repository.tcl:113 +#: lib/choose_repository.tcl:112 msgid "Open..." msgstr "開く…" -#: lib/choose_repository.tcl:126 +#: lib/choose_repository.tcl:125 msgid "Recent Repositories" msgstr "最近使ったリポジトリ" -#: lib/choose_repository.tcl:132 +#: lib/choose_repository.tcl:131 msgid "Open Recent Repository:" msgstr "最近使ったリポジトリを開く" -#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 -#: lib/choose_repository.tcl:310 -#, tcl-format -msgid "Failed to create repository %s:" -msgstr "リポジトリ %s を作製できません:" - -#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 -msgid "Directory:" -msgstr "ディレクトリ:" - -#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 -#: lib/choose_repository.tcl:1011 -msgid "Git Repository" -msgstr "GIT リポジトリ" - -#: lib/choose_repository.tcl:437 -#, tcl-format -msgid "Directory %s already exists." -msgstr "ディレクトリ '%s' は既に存在します。" - -#: lib/choose_repository.tcl:441 -#, tcl-format -msgid "File %s already exists." -msgstr "ファイル '%s' は既に存在します。" - -#: lib/choose_repository.tcl:455 -msgid "Clone" -msgstr "複製" - -#: lib/choose_repository.tcl:468 -msgid "URL:" -msgstr "URL:" - -#: lib/choose_repository.tcl:489 -msgid "Clone Type:" -msgstr "複製方式:" - -#: lib/choose_repository.tcl:495 -msgid "Standard (Fast, Semi-Redundant, Hardlinks)" -msgstr "標準(高速・中冗長度・ハードリンク)" - -#: lib/choose_repository.tcl:501 -msgid "Full Copy (Slower, Redundant Backup)" -msgstr "全複写(低速・冗長バックアップ)" - -#: lib/choose_repository.tcl:507 -msgid "Shared (Fastest, Not Recommended, No Backup)" -msgstr "共有(最高速・非推奨・バックアップ無し)" - -#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 -#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 -#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 -#, tcl-format -msgid "Not a Git repository: %s" -msgstr "Git リポジトリではありません: %s" - -#: lib/choose_repository.tcl:579 -msgid "Standard only available for local repository." -msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。" - -#: lib/choose_repository.tcl:583 -msgid "Shared only available for local repository." -msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。" - -#: lib/choose_repository.tcl:604 +#: lib/choose_repository.tcl:294 #, tcl-format msgid "Location %s already exists." msgstr "'%s' は既に存在します。" -#: lib/choose_repository.tcl:615 +#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 +#: lib/choose_repository.tcl:314 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "リポジトリ %s を作製できません:" + +#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +msgid "Directory:" +msgstr "ディレクトリ:" + +#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1013 +msgid "Git Repository" +msgstr "GIT リポジトリ" + +#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#, tcl-format +msgid "Directory %s already exists." +msgstr "ディレクトリ '%s' は既に存在します。" + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "File %s already exists." +msgstr "ファイル '%s' は既に存在します。" + +#: lib/choose_repository.tcl:463 +msgid "Clone" +msgstr "複製" + +#: lib/choose_repository.tcl:476 +msgid "URL:" +msgstr "URL:" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" +msgstr "複製方式:" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "標準(高速・中冗長度・ハードリンク)" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "全複写(低速・冗長バックアップ)" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "共有(最高速・非推奨・バックアップ無し)" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 +#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Git リポジトリではありません: %s" + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。" + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。" + +#: lib/choose_repository.tcl:617 msgid "Failed to configure origin" msgstr "origin を設定できませんでした" -#: lib/choose_repository.tcl:627 +#: lib/choose_repository.tcl:629 msgid "Counting objects" msgstr "オブジェクトを数えています" -#: lib/choose_repository.tcl:628 +#: lib/choose_repository.tcl:630 msgid "buckets" msgstr "バケツ" -#: lib/choose_repository.tcl:652 +#: lib/choose_repository.tcl:654 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "objects/info/alternates を複写できません: %s" -#: lib/choose_repository.tcl:688 +#: lib/choose_repository.tcl:690 #, tcl-format msgid "Nothing to clone from %s." msgstr "%s から複製する内容はありません" -#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 -#: lib/choose_repository.tcl:916 +#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 +#: lib/choose_repository.tcl:918 msgid "The 'master' branch has not been initialized." msgstr "'master' ブランチが初期化されていません" -#: lib/choose_repository.tcl:703 +#: lib/choose_repository.tcl:705 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "ハードリンクが作れないので、コピーします" -#: lib/choose_repository.tcl:715 +#: lib/choose_repository.tcl:717 #, tcl-format msgid "Cloning from %s" msgstr "%s から複製しています" -#: lib/choose_repository.tcl:746 +#: lib/choose_repository.tcl:748 msgid "Copying objects" msgstr "オブジェクトを複写しています" -#: lib/choose_repository.tcl:747 +#: lib/choose_repository.tcl:749 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:771 +#: lib/choose_repository.tcl:773 #, tcl-format msgid "Unable to copy object: %s" msgstr "オブジェクトを複写できません: %s" -#: lib/choose_repository.tcl:781 +#: lib/choose_repository.tcl:783 msgid "Linking objects" msgstr "オブジェクトを連結しています" -#: lib/choose_repository.tcl:782 +#: lib/choose_repository.tcl:784 msgid "objects" msgstr "オブジェクト" -#: lib/choose_repository.tcl:790 +#: lib/choose_repository.tcl:792 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "オブジェクトをハードリンクできません: %s" -#: lib/choose_repository.tcl:845 +#: lib/choose_repository.tcl:847 msgid "Cannot fetch branches and objects. See console output for details." msgstr "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:856 +#: lib/choose_repository.tcl:858 msgid "Cannot fetch tags. See console output for details." msgstr "タグを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:880 +#: lib/choose_repository.tcl:882 msgid "Cannot determine HEAD. See console output for details." msgstr "HEAD を確定できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:889 +#: lib/choose_repository.tcl:891 #, tcl-format msgid "Unable to cleanup %s" msgstr "%s を掃除できません" -#: lib/choose_repository.tcl:895 +#: lib/choose_repository.tcl:897 msgid "Clone failed." msgstr "複写に失敗しました。" -#: lib/choose_repository.tcl:902 +#: lib/choose_repository.tcl:904 msgid "No default branch obtained." msgstr "デフォールト・ブランチが取得されませんでした" -#: lib/choose_repository.tcl:913 +#: lib/choose_repository.tcl:915 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "%s をコミットとして解釈できません" -#: lib/choose_repository.tcl:925 +#: lib/choose_repository.tcl:927 msgid "Creating working directory" msgstr "作業ディレクトリを作成しています" -#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "ファイル" -#: lib/choose_repository.tcl:955 +#: lib/choose_repository.tcl:957 msgid "Initial file checkout failed." msgstr "初期チェックアウトに失敗しました" -#: lib/choose_repository.tcl:971 +#: lib/choose_repository.tcl:973 msgid "Open" msgstr "開く" -#: lib/choose_repository.tcl:981 +#: lib/choose_repository.tcl:983 msgid "Repository:" msgstr "リポジトリ:" -#: lib/choose_repository.tcl:1031 +#: lib/choose_repository.tcl:1033 #, tcl-format msgid "Failed to open repository %s:" msgstr "リポジトリ %s を開けません:" @@ -1136,7 +1136,7 @@ msgstr "ローカル・ブランチ" msgid "Tracking Branch" msgstr "トラッキング・ブランチ" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "タグ" @@ -1153,11 +1153,11 @@ msgstr "リビジョンが未選択です。" msgid "Revision expression is empty." msgstr "リビジョン式が空です。" -#: lib/choose_rev.tcl:531 +#: lib/choose_rev.tcl:530 msgid "Updated" msgstr "更新しました" -#: lib/choose_rev.tcl:559 +#: lib/choose_rev.tcl:558 msgid "URL" msgstr "URL" @@ -1273,39 +1273,38 @@ msgstr "警告: Tcl はエンコーディング '%s' をサポートしていま #: lib/commit.tcl:221 msgid "Calling pre-commit hook..." -msgstr "" +msgstr "コミット前フックを実行中・・・" #: lib/commit.tcl:236 msgid "Commit declined by pre-commit hook." -msgstr "" +msgstr "コミット前フックがコミットを拒否しました" #: lib/commit.tcl:259 msgid "Calling commit-msg hook..." -msgstr "" +msgstr "コミット・メッセージ・フックを実行中・・・" #: lib/commit.tcl:274 msgid "Commit declined by commit-msg hook." -msgstr "" +msgstr "コミット・メッセージ・フックがコミットを拒否しました" #: lib/commit.tcl:287 msgid "Committing changes..." -msgstr "" +msgstr "変更点をコミット中・・・" #: lib/commit.tcl:303 msgid "write-tree failed:" msgstr "write-tree が失敗しました:" #: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368 -#, fuzzy msgid "Commit failed." -msgstr "複写に失敗しました。" +msgstr "コミットに失敗しました。" #: lib/commit.tcl:321 #, tcl-format msgid "Commit %s appears to be corrupt" msgstr "コミット %s は壊れています" -#: lib/commit.tcl:326 +#: lib/commit.tcl:279 msgid "" "No changes to commit.\n" "\n" @@ -1319,7 +1318,7 @@ msgstr "" "\n" "自動的に再スキャンを開始します。\n" -#: lib/commit.tcl:333 +#: lib/commit.tcl:286 msgid "No changes to commit." msgstr "コミットする変更がありません。" @@ -1327,24 +1326,24 @@ msgstr "コミットする変更がありません。" msgid "commit-tree failed:" msgstr "commit-tree が失敗しました:" -#: lib/commit.tcl:367 +#: lib/commit.tcl:339 msgid "update-ref failed:" msgstr "update-ref が失敗しました:" -#: lib/commit.tcl:454 +#: lib/commit.tcl:430 #, tcl-format msgid "Created commit %s: %s" msgstr "コミット %s を作成しました: %s" -#: lib/console.tcl:59 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "実行中…お待ち下さい…" -#: lib/console.tcl:186 +#: lib/console.tcl:183 msgid "Success" msgstr "成功" -#: lib/console.tcl:200 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "エラー: コマンドが失敗しました" @@ -1454,23 +1453,23 @@ msgstr "* バイナリファイル(内容は表示しません)" msgid "Error loading diff:" msgstr "diff を読む際のエラーです:" -#: lib/diff.tcl:303 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "選択されたパッチをコミット予定から外せません。" -#: lib/diff.tcl:310 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." msgstr "選択されたパッチをコミット予定に加えられません。" -#: lib/error.tcl:20 lib/error.tcl:114 +#: lib/error.tcl:12 lib/error.tcl:102 msgid "error" msgstr "エラー" -#: lib/error.tcl:36 +#: lib/error.tcl:28 msgid "warning" msgstr "警告" -#: lib/error.tcl:94 +#: lib/error.tcl:81 msgid "You must correct the above errors before committing." msgstr "コミットする前に、以上のエラーを修正して下さい" @@ -1504,9 +1503,8 @@ msgid "Unstaging %s from commit" msgstr "コミットから '%s' を降ろす" #: lib/index.tcl:313 -#, fuzzy msgid "Ready to commit." -msgstr "コミット予定済" +msgstr "コミット準備完了" #: lib/index.tcl:326 #, tcl-format @@ -1523,11 +1521,11 @@ msgstr "ファイル %s にした変更を元に戻しますか?" msgid "Revert changes in these %i files?" msgstr "これら %i 個のファイルにした変更を元に戻しますか?" -#: lib/index.tcl:391 +#: lib/index.tcl:389 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" -#: lib/index.tcl:394 +#: lib/index.tcl:392 msgid "Do Nothing" msgstr "何もしない" @@ -1597,28 +1595,28 @@ msgid "%s of %s" msgstr "%s の %s ブランチ" #: lib/merge.tcl:119 -#, fuzzy, tcl-format +#, tcl-format msgid "Merging %s and %s..." -msgstr "%s と %s をマージします" +msgstr "%s と %s をマージ中・・・" #: lib/merge.tcl:130 msgid "Merge completed successfully." msgstr "マージが完了しました" -#: lib/merge.tcl:132 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." msgstr "マージが失敗しました。衝突の解決が必要です。" -#: lib/merge.tcl:157 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "%s にマージ" -#: lib/merge.tcl:176 +#: lib/merge.tcl:177 msgid "Revision To Merge" msgstr "マージするリビジョン" -#: lib/merge.tcl:211 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1628,7 +1626,7 @@ msgstr "" "\n" "まず今のコミット訂正を完了させて下さい。\n" -#: lib/merge.tcl:221 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1642,7 +1640,7 @@ msgstr "" "\n" "マージを中断してよろしいですか?" -#: lib/merge.tcl:227 +#: lib/merge.tcl:228 msgid "" "Reset changes?\n" "\n" @@ -1656,107 +1654,101 @@ msgstr "" "\n" "リセットしてよろしいですか?" -#: lib/merge.tcl:238 +#: lib/merge.tcl:239 msgid "Aborting" msgstr "中断しています" #: lib/merge.tcl:238 -#, fuzzy msgid "files reset" -msgstr "ファイル" +msgstr "リセットしたファイル" #: lib/merge.tcl:265 msgid "Abort failed." msgstr "中断に失敗しました。" -#: lib/merge.tcl:267 +#: lib/merge.tcl:268 msgid "Abort completed. Ready." msgstr "中断完了。" -#: lib/option.tcl:95 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "既定値に戻す" -#: lib/option.tcl:99 +#: lib/option.tcl:86 msgid "Save" msgstr "保存" -#: lib/option.tcl:109 +#: lib/option.tcl:96 #, tcl-format msgid "%s Repository" msgstr "%s リポジトリ" -#: lib/option.tcl:110 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "大域(全てのリポジトリ)" -#: lib/option.tcl:116 +#: lib/option.tcl:103 msgid "User Name" msgstr "ユーザ名" -#: lib/option.tcl:117 +#: lib/option.tcl:104 msgid "Email Address" msgstr "電子メールアドレス" -#: lib/option.tcl:119 +#: lib/option.tcl:106 msgid "Summarize Merge Commits" msgstr "マージコミットの要約" -#: lib/option.tcl:120 +#: lib/option.tcl:107 msgid "Merge Verbosity" msgstr "マージの冗長度" -#: lib/option.tcl:121 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" msgstr "マージ後に diffstat を表示" -#: lib/option.tcl:123 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "ファイル変更時刻を信頼する" -#: lib/option.tcl:124 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" msgstr "フェッチ中にトラッキングブランチを刈る" -#: lib/option.tcl:125 +#: lib/option.tcl:112 msgid "Match Tracking Branches" msgstr "トラッキングブランチを合わせる" -#: lib/option.tcl:126 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "diff の文脈行数" -#: lib/option.tcl:127 -#, fuzzy -msgid "Commit Message Text Width" -msgstr "コミットメッセージ:" - -#: lib/option.tcl:128 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "新しいブランチ名のテンプレート" -#: lib/option.tcl:192 +#: lib/option.tcl:191 msgid "Spelling Dictionary:" -msgstr "" +msgstr "スペルチェック辞書" -#: lib/option.tcl:216 +#: lib/option.tcl:215 msgid "Change Font" msgstr "フォントを変更" -#: lib/option.tcl:220 +#: lib/option.tcl:180 #, tcl-format msgid "Choose %s" msgstr "%s を選択" -#: lib/option.tcl:226 +#: lib/option.tcl:186 msgid "pt." msgstr "ポイント" -#: lib/option.tcl:240 +#: lib/option.tcl:200 msgid "Preferences" msgstr "設定" -#: lib/option.tcl:275 +#: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "完全にオプションを保存できません:" @@ -1864,42 +1856,25 @@ msgstr "ショートカットが書けません:" msgid "Cannot write icon:" msgstr "アイコンが書けません:" -#: lib/spellcheck.tcl:57 -msgid "Unsupported spell checker" -msgstr "" +#: lib/spellcheck.tcl:37 +msgid "Not connected to aspell" +msgstr "aspell に接続していません" -#: lib/spellcheck.tcl:65 -msgid "Spell checking is unavailable" -msgstr "" +#: lib/spellcheck.tcl:41 +msgid "Unrecognized aspell version" +msgstr "aspell バージョンが判別できません" -#: lib/spellcheck.tcl:68 -msgid "Invalid spell checking configuration" -msgstr "" - -#: lib/spellcheck.tcl:70 -#, tcl-format -msgid "Reverting dictionary to %s." -msgstr "" - -#: lib/spellcheck.tcl:73 -msgid "Spell checker silently failed on startup" -msgstr "" - -#: lib/spellcheck.tcl:80 -msgid "Unrecognized spell checker" -msgstr "" - -#: lib/spellcheck.tcl:180 +#: lib/spellcheck.tcl:135 msgid "No Suggestions" -msgstr "" +msgstr "提案なし" -#: lib/spellcheck.tcl:381 -msgid "Unexpected EOF from spell checker" -msgstr "" +#: lib/spellcheck.tcl:336 +msgid "Unexpected EOF from aspell" +msgstr "aspell が予想外の EOF を返しました" -#: lib/spellcheck.tcl:385 +#: lib/spellcheck.tcl:340 msgid "Spell Checker Failed" -msgstr "" +msgstr "スペルチェック失敗" #: lib/status_bar.tcl:83 #, tcl-format From 02a8b27645f2c93b540d553f8a8fa51079d7a3f0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 15 Mar 2008 02:22:41 -0400 Subject: [PATCH 64/76] git-gui: Adjusted Japanese translation to updated POT Signed-off-by: Shawn O. Pearce --- po/ja.po | 526 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 277 insertions(+), 249 deletions(-) diff --git a/po/ja.po b/po/ja.po index 189b7269aa..083acdfcab 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-02-16 21:24+0100\n" +"POT-Creation-Date: 2008-03-14 07:18+0100\n" "PO-Revision-Date: 2008-03-14 20:32+0900\n" "Last-Translator: しらいし ななこ \n" "Language-Team: Japanese\n" @@ -16,33 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 -#: git-gui.sh:733 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: 致命的なエラー" -#: git-gui.sh:565 +#: git-gui.sh:593 #, tcl-format msgid "Invalid font specified in %s:" msgstr "%s に無効なフォントが指定されています:" -#: git-gui.sh:590 +#: git-gui.sh:620 msgid "Main Font" msgstr "主フォント" -#: git-gui.sh:591 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "diff/コンソール・フォント" -#: git-gui.sh:605 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "PATH 中に git が見つかりません" -#: git-gui.sh:632 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Git バージョン名が理解できません:" -#: git-gui.sh:650 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -61,79 +61,79 @@ msgstr "" "\n" "'%s' はバージョン 1.5.0 と思って良いですか?\n" -#: git-gui.sh:888 +#: git-gui.sh:918 msgid "Git directory not found:" msgstr "Git ディレクトリが見つかりません:" -#: git-gui.sh:895 +#: git-gui.sh:925 msgid "Cannot move to top of working directory:" msgstr "作業ディレクトリの最上位に移動できません" -#: git-gui.sh:902 +#: git-gui.sh:932 msgid "Cannot use funny .git directory:" msgstr "変な .git ディレクトリは使えません" -#: git-gui.sh:907 +#: git-gui.sh:937 msgid "No working directory" msgstr "作業ディレクトリがありません" -#: git-gui.sh:1054 +#: git-gui.sh:1084 lib/checkout_op.tcl:283 msgid "Refreshing file status..." msgstr "ファイル状態を更新しています…" -#: git-gui.sh:1119 +#: git-gui.sh:1149 msgid "Scanning for modified files ..." msgstr "変更されたファイルをスキャンしています…" -#: git-gui.sh:1294 lib/browser.tcl:245 +#: git-gui.sh:1324 lib/browser.tcl:246 msgid "Ready." msgstr "準備完了" -#: git-gui.sh:1560 +#: git-gui.sh:1590 msgid "Unmodified" msgstr "変更無し" -#: git-gui.sh:1562 +#: git-gui.sh:1592 msgid "Modified, not staged" msgstr "変更あり、コミット未予定" -#: git-gui.sh:1563 git-gui.sh:1568 +#: git-gui.sh:1593 git-gui.sh:1598 msgid "Staged for commit" msgstr "コミット予定済" -#: git-gui.sh:1564 git-gui.sh:1569 +#: git-gui.sh:1594 git-gui.sh:1599 msgid "Portions staged for commit" msgstr "部分的にコミット予定済" -#: git-gui.sh:1565 git-gui.sh:1570 +#: git-gui.sh:1595 git-gui.sh:1600 msgid "Staged for commit, missing" msgstr "コミット予定済、ファイル無し" -#: git-gui.sh:1567 +#: git-gui.sh:1597 msgid "Untracked, not staged" msgstr "管理外、コミット未予定" -#: git-gui.sh:1572 +#: git-gui.sh:1602 msgid "Missing" msgstr "ファイル無し" -#: git-gui.sh:1573 +#: git-gui.sh:1603 msgid "Staged for removal" msgstr "削除予定済" -#: git-gui.sh:1574 +#: git-gui.sh:1604 msgid "Staged for removal, still present" msgstr "削除予定済、ファイル未削除" -#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +#: git-gui.sh:1606 git-gui.sh:1607 git-gui.sh:1608 git-gui.sh:1609 msgid "Requires merge resolution" msgstr "要マージ解決" -#: git-gui.sh:1614 +#: git-gui.sh:1644 msgid "Starting gitk... please wait..." msgstr "gitk を起動中…お待ち下さい…" -#: git-gui.sh:1623 +#: git-gui.sh:1653 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -144,297 +144,297 @@ msgstr "" "\n" "%s がありません" -#: git-gui.sh:1823 lib/choose_repository.tcl:35 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 msgid "Repository" msgstr "リポジトリ" -#: git-gui.sh:1824 +#: git-gui.sh:1861 msgid "Edit" msgstr "編集" -#: git-gui.sh:1826 lib/choose_rev.tcl:560 +#: git-gui.sh:1863 lib/choose_rev.tcl:561 msgid "Branch" msgstr "ブランチ" -#: git-gui.sh:1829 lib/choose_rev.tcl:547 +#: git-gui.sh:1866 lib/choose_rev.tcl:548 msgid "Commit@@noun" msgstr "コミット" -#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1869 lib/merge.tcl:120 lib/merge.tcl:149 lib/merge.tcl:167 msgid "Merge" msgstr "マージ" -#: git-gui.sh:1833 lib/choose_rev.tcl:556 +#: git-gui.sh:1870 lib/choose_rev.tcl:557 msgid "Remote" msgstr "リモート" -#: git-gui.sh:1842 +#: git-gui.sh:1879 msgid "Browse Current Branch's Files" msgstr "現在のブランチのファイルを見る" -#: git-gui.sh:1846 +#: git-gui.sh:1883 msgid "Browse Branch Files..." msgstr "ブランチのファイルを見る…" -#: git-gui.sh:1851 +#: git-gui.sh:1888 msgid "Visualize Current Branch's History" msgstr "現在のブランチの履歴を見る" -#: git-gui.sh:1855 +#: git-gui.sh:1892 msgid "Visualize All Branch History" msgstr "全てのブランチの履歴を見る" -#: git-gui.sh:1862 +#: git-gui.sh:1899 #, tcl-format msgid "Browse %s's Files" msgstr "ブランチ %s のファイルを見る" -#: git-gui.sh:1864 +#: git-gui.sh:1901 #, tcl-format msgid "Visualize %s's History" msgstr "ブランチ %s の履歴を見る" -#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1906 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "データベース統計" -#: git-gui.sh:1872 lib/database.tcl:34 +#: git-gui.sh:1909 lib/database.tcl:34 msgid "Compress Database" msgstr "データベース圧縮" -#: git-gui.sh:1875 +#: git-gui.sh:1912 msgid "Verify Database" msgstr "データベース検証" -#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: git-gui.sh:1919 git-gui.sh:1923 git-gui.sh:1927 lib/shortcut.tcl:7 #: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "デスクトップ・アイコンを作る" -#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +#: git-gui.sh:1932 lib/choose_repository.tcl:177 lib/choose_repository.tcl:185 msgid "Quit" msgstr "終了" -#: git-gui.sh:1902 +#: git-gui.sh:1939 msgid "Undo" msgstr "元に戻す" -#: git-gui.sh:1905 +#: git-gui.sh:1942 msgid "Redo" msgstr "やり直し" -#: git-gui.sh:1909 git-gui.sh:2403 +#: git-gui.sh:1946 git-gui.sh:2443 msgid "Cut" msgstr "切り取り" -#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 -#: lib/console.tcl:67 +#: git-gui.sh:1949 git-gui.sh:2446 git-gui.sh:2520 git-gui.sh:2614 +#: lib/console.tcl:69 msgid "Copy" msgstr "コピー" -#: git-gui.sh:1915 git-gui.sh:2409 +#: git-gui.sh:1952 git-gui.sh:2449 msgid "Paste" msgstr "貼り付け" -#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: git-gui.sh:1955 git-gui.sh:2452 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "削除" -#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +#: git-gui.sh:1959 git-gui.sh:2456 git-gui.sh:2618 lib/console.tcl:71 msgid "Select All" msgstr "全て選択" -#: git-gui.sh:1931 +#: git-gui.sh:1968 msgid "Create..." msgstr "作成…" -#: git-gui.sh:1937 +#: git-gui.sh:1974 msgid "Checkout..." msgstr "チェックアウト" -#: git-gui.sh:1943 +#: git-gui.sh:1980 msgid "Rename..." msgstr "名前変更…" -#: git-gui.sh:1948 git-gui.sh:2048 +#: git-gui.sh:1985 git-gui.sh:2085 msgid "Delete..." msgstr "削除…" -#: git-gui.sh:1953 +#: git-gui.sh:1990 msgid "Reset..." msgstr "リセット…" -#: git-gui.sh:1965 git-gui.sh:2350 +#: git-gui.sh:2002 git-gui.sh:2389 msgid "New Commit" msgstr "新規コミット" -#: git-gui.sh:1973 git-gui.sh:2357 +#: git-gui.sh:2010 git-gui.sh:2396 msgid "Amend Last Commit" msgstr "最新コミットを訂正" -#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:2019 git-gui.sh:2356 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "再スキャン" -#: git-gui.sh:1988 +#: git-gui.sh:2025 msgid "Stage To Commit" msgstr "コミット予定する" -#: git-gui.sh:1994 +#: git-gui.sh:2031 msgid "Stage Changed Files To Commit" msgstr "変更されたファイルをコミット予定" -#: git-gui.sh:2000 +#: git-gui.sh:2037 msgid "Unstage From Commit" msgstr "コミットから降ろす" -#: git-gui.sh:2005 lib/index.tcl:393 +#: git-gui.sh:2042 lib/index.tcl:395 msgid "Revert Changes" msgstr "変更を元に戻す" -#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +#: git-gui.sh:2049 git-gui.sh:2368 git-gui.sh:2467 msgid "Sign Off" msgstr "署名" -#: git-gui.sh:2016 git-gui.sh:2333 +#: git-gui.sh:2053 git-gui.sh:2372 msgid "Commit@@verb" msgstr "コミット" -#: git-gui.sh:2027 +#: git-gui.sh:2064 msgid "Local Merge..." msgstr "ローカル・マージ…" -#: git-gui.sh:2032 +#: git-gui.sh:2069 msgid "Abort Merge..." msgstr "マージ中止…" -#: git-gui.sh:2044 +#: git-gui.sh:2081 msgid "Push..." msgstr "プッシュ…" -#: git-gui.sh:2055 lib/choose_repository.tcl:40 +#: git-gui.sh:2092 lib/choose_repository.tcl:41 msgid "Apple" msgstr "りんご" -#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 -#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#: git-gui.sh:2095 git-gui.sh:2117 lib/about.tcl:14 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "%s について" -#: git-gui.sh:2062 +#: git-gui.sh:2099 msgid "Preferences..." msgstr "設定…" -#: git-gui.sh:2070 git-gui.sh:2595 +#: git-gui.sh:2107 git-gui.sh:2639 msgid "Options..." msgstr "オプション…" -#: git-gui.sh:2076 lib/choose_repository.tcl:46 +#: git-gui.sh:2113 lib/choose_repository.tcl:47 msgid "Help" msgstr "ヘルプ" -#: git-gui.sh:2117 +#: git-gui.sh:2154 msgid "Online Documentation" msgstr "オンライン・ドキュメント" -#: git-gui.sh:2201 +#: git-gui.sh:2238 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" "致命的: パス %s が stat できません。そのようなファイルやディレクトリはありま" "せん" -#: git-gui.sh:2234 +#: git-gui.sh:2271 msgid "Current Branch:" msgstr "現在のブランチ" -#: git-gui.sh:2255 +#: git-gui.sh:2292 msgid "Staged Changes (Will Commit)" msgstr "ステージングされた(コミット予定済の)変更" -#: git-gui.sh:2274 +#: git-gui.sh:2312 msgid "Unstaged Changes" msgstr "コミット予定に入っていない変更" -#: git-gui.sh:2323 +#: git-gui.sh:2362 msgid "Stage Changed" msgstr "変更をコミット予定に入れる" -#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2378 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "プッシュ" -#: git-gui.sh:2369 +#: git-gui.sh:2408 msgid "Initial Commit Message:" msgstr "最初のコミットメッセージ:" -#: git-gui.sh:2370 +#: git-gui.sh:2409 msgid "Amended Commit Message:" msgstr "訂正したコミットメッセージ:" -#: git-gui.sh:2371 +#: git-gui.sh:2410 msgid "Amended Initial Commit Message:" msgstr "訂正した最初のコミットメッセージ:" -#: git-gui.sh:2372 +#: git-gui.sh:2411 msgid "Amended Merge Commit Message:" msgstr "訂正したマージコミットメッセージ:" -#: git-gui.sh:2373 +#: git-gui.sh:2412 msgid "Merge Commit Message:" msgstr "マージコミットメッセージ:" -#: git-gui.sh:2374 +#: git-gui.sh:2413 msgid "Commit Message:" msgstr "コミットメッセージ:" -#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +#: git-gui.sh:2459 git-gui.sh:2622 lib/console.tcl:73 msgid "Copy All" msgstr "全てコピー" -#: git-gui.sh:2443 lib/blame.tcl:104 +#: git-gui.sh:2483 lib/blame.tcl:107 msgid "File:" msgstr "ファイル:" -#: git-gui.sh:2573 +#: git-gui.sh:2589 msgid "Apply/Reverse Hunk" msgstr "パッチを適用/取り消す" -#: git-gui.sh:2579 +#: git-gui.sh:2595 msgid "Show Less Context" msgstr "文脈を少なく" -#: git-gui.sh:2586 +#: git-gui.sh:2602 msgid "Show More Context" msgstr "文脈を多く" -#: git-gui.sh:2594 +#: git-gui.sh:2610 msgid "Refresh" msgstr "再読み込み" -#: git-gui.sh:2615 +#: git-gui.sh:2631 msgid "Decrease Font Size" msgstr "フォントを小さく" -#: git-gui.sh:2619 +#: git-gui.sh:2635 msgid "Increase Font Size" msgstr "フォントを大きく" -#: git-gui.sh:2630 +#: git-gui.sh:2646 msgid "Unstage Hunk From Commit" msgstr "パッチをコミット予定から外す" -#: git-gui.sh:2604 +#: git-gui.sh:2648 msgid "Stage Hunk For Commit" msgstr "パッチをコミット予定に加える" -#: git-gui.sh:2623 +#: git-gui.sh:2667 msgid "Initializing..." msgstr "初期化しています…" -#: git-gui.sh:2718 +#: git-gui.sh:2762 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -449,7 +449,7 @@ msgstr "" "以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n" "\n" -#: git-gui.sh:2748 +#: git-gui.sh:2792 msgid "" "\n" "This is due to a known issue with the\n" @@ -459,7 +459,7 @@ msgstr "" "これは Cygwin で配布されている Tcl バイナリに\n" "関しての既知の問題によります" -#: git-gui.sh:2753 +#: git-gui.sh:2797 #, tcl-format msgid "" "\n" @@ -474,7 +474,7 @@ msgstr "" "個人的な ~/.gitconfig ファイル内で user.name と user.email の値を設定\n" "するのが、%s の良い代用となります\n" -#: lib/about.tcl:25 +#: lib/about.tcl:26 msgid "git-gui - a graphical user interface for Git." msgstr "Git のグラフィカルUI git-gui" @@ -486,56 +486,56 @@ msgstr "ファイルピューワ" msgid "Commit:" msgstr "コミット:" -#: lib/blame.tcl:249 +#: lib/blame.tcl:264 msgid "Copy Commit" msgstr "コミットをコピー" -#: lib/blame.tcl:369 +#: lib/blame.tcl:384 #, tcl-format msgid "Reading %s..." msgstr "%s を読んでいます…" -#: lib/blame.tcl:473 +#: lib/blame.tcl:488 msgid "Loading copy/move tracking annotations..." msgstr "コピー・移動追跡データを読んでいます…" -#: lib/blame.tcl:493 +#: lib/blame.tcl:508 msgid "lines annotated" msgstr "行を注釈しました" -#: lib/blame.tcl:674 +#: lib/blame.tcl:689 msgid "Loading original location annotations..." msgstr "元位置行の注釈データを読んでいます…" -#: lib/blame.tcl:677 +#: lib/blame.tcl:692 msgid "Annotation complete." msgstr "注釈完了しました" -#: lib/blame.tcl:731 +#: lib/blame.tcl:746 msgid "Loading annotation..." msgstr "注釈を読み込んでいます…" -#: lib/blame.tcl:787 +#: lib/blame.tcl:802 msgid "Author:" msgstr "作者:" -#: lib/blame.tcl:791 +#: lib/blame.tcl:806 msgid "Committer:" msgstr "コミット者:" -#: lib/blame.tcl:796 +#: lib/blame.tcl:811 msgid "Original File:" msgstr "元ファイル" -#: lib/blame.tcl:910 +#: lib/blame.tcl:925 msgid "Originally By:" msgstr "原作者:" -#: lib/blame.tcl:916 +#: lib/blame.tcl:931 msgid "In File:" msgstr "ファイル:" -#: lib/blame.tcl:921 +#: lib/blame.tcl:936 msgid "Copied Or Moved Here By:" msgstr "複写・移動者:" @@ -548,17 +548,17 @@ msgid "Checkout" msgstr "チェックアウト" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 -#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:282 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:171 +#: lib/option.tcl:103 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "中止" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:287 msgid "Revision" msgstr "リビジョン" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:242 msgid "Options" msgstr "オプション" @@ -578,7 +578,7 @@ msgstr "ブランチを作成" msgid "Create New Branch" msgstr "ブランチを新規作成" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:371 msgid "Create" msgstr "作成" @@ -718,22 +718,22 @@ msgstr "起動中…" msgid "File Browser" msgstr "ファイル・ブラウザ" -#: lib/browser.tcl:125 lib/browser.tcl:142 +#: lib/browser.tcl:126 lib/browser.tcl:143 #, tcl-format msgid "Loading %s..." msgstr "%s をロード中…" -#: lib/browser.tcl:186 +#: lib/browser.tcl:187 msgid "[Up To Parent]" msgstr "[上位フォルダへ]" -#: lib/browser.tcl:266 lib/browser.tcl:272 +#: lib/browser.tcl:267 lib/browser.tcl:273 msgid "Browse Branch Files" msgstr "現在のブランチのファイルを見る" -#: lib/browser.tcl:277 lib/choose_repository.tcl:391 -#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 -#: lib/choose_repository.tcl:989 +#: lib/browser.tcl:278 lib/choose_repository.tcl:387 +#: lib/choose_repository.tcl:474 lib/choose_repository.tcl:484 +#: lib/choose_repository.tcl:987 msgid "Browse" msgstr "ブラウズ" @@ -747,7 +747,7 @@ msgstr "%s から %s をフェッチしています" msgid "fatal: Cannot resolve %s" msgstr "致命的エラー: %s を解決できません" -#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 msgid "Close" msgstr "閉じる" @@ -834,7 +834,7 @@ msgstr "" "ブランチ上に滞まりたいときは、この「分離されたチェックアウト」から新規ブラン" "チを開始してください。" -#: lib/checkout_op.tcl:446 +#: lib/checkout_op.tcl:446 lib/checkout_op.tcl:450 #, tcl-format msgid "Checked out '%s'." msgstr "'%s' をチェックアウトしました" @@ -853,7 +853,7 @@ msgstr "失なわれたコミットを回復するのは簡単ではありませ msgid "Reset '%s'?" msgstr "'%s' をリセットしますか?" -#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +#: lib/checkout_op.tcl:510 lib/merge.tcl:163 msgid "Visualize" msgstr "可視化" @@ -881,15 +881,15 @@ msgstr "選択" msgid "Font Family" msgstr "フォント・ファミリー" -#: lib/choose_font.tcl:73 +#: lib/choose_font.tcl:74 msgid "Font Size" msgstr "フォントの大きさ" -#: lib/choose_font.tcl:90 +#: lib/choose_font.tcl:91 msgid "Font Example" msgstr "フォント・サンプル" -#: lib/choose_font.tcl:101 +#: lib/choose_font.tcl:103 msgid "" "This is example text.\n" "If you like this text, it can be your font." @@ -897,225 +897,225 @@ msgstr "" "これはサンプル文です。\n" "このフォントが気に入ればお使いになれます。" -#: lib/choose_repository.tcl:27 +#: lib/choose_repository.tcl:28 msgid "Git Gui" msgstr "Git GUI" -#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +#: lib/choose_repository.tcl:81 lib/choose_repository.tcl:376 msgid "Create New Repository" msgstr "新しいリポジトリを作る" -#: lib/choose_repository.tcl:86 +#: lib/choose_repository.tcl:87 msgid "New..." msgstr "新規…" -#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +#: lib/choose_repository.tcl:94 lib/choose_repository.tcl:460 msgid "Clone Existing Repository" msgstr "既存リポジトリを複製する" -#: lib/choose_repository.tcl:99 +#: lib/choose_repository.tcl:100 msgid "Clone..." msgstr "複製…" -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +#: lib/choose_repository.tcl:107 lib/choose_repository.tcl:976 msgid "Open Existing Repository" msgstr "既存リポジトリを開く" -#: lib/choose_repository.tcl:112 +#: lib/choose_repository.tcl:113 msgid "Open..." msgstr "開く…" -#: lib/choose_repository.tcl:125 +#: lib/choose_repository.tcl:126 msgid "Recent Repositories" msgstr "最近使ったリポジトリ" -#: lib/choose_repository.tcl:131 +#: lib/choose_repository.tcl:132 msgid "Open Recent Repository:" msgstr "最近使ったリポジトリを開く" -#: lib/choose_repository.tcl:294 -#, tcl-format -msgid "Location %s already exists." -msgstr "'%s' は既に存在します。" - -#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 -#: lib/choose_repository.tcl:314 +#: lib/choose_repository.tcl:296 lib/choose_repository.tcl:303 +#: lib/choose_repository.tcl:310 #, tcl-format msgid "Failed to create repository %s:" msgstr "リポジトリ %s を作製できません:" -#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +#: lib/choose_repository.tcl:381 lib/choose_repository.tcl:478 msgid "Directory:" msgstr "ディレクトリ:" -#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 -#: lib/choose_repository.tcl:1013 +#: lib/choose_repository.tcl:412 lib/choose_repository.tcl:537 +#: lib/choose_repository.tcl:1011 msgid "Git Repository" msgstr "GIT リポジトリ" -#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#: lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "ディレクトリ '%s' は既に存在します。" -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:441 #, tcl-format msgid "File %s already exists." msgstr "ファイル '%s' は既に存在します。" -#: lib/choose_repository.tcl:463 +#: lib/choose_repository.tcl:455 msgid "Clone" msgstr "複製" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:468 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:496 +#: lib/choose_repository.tcl:489 msgid "Clone Type:" msgstr "複製方式:" -#: lib/choose_repository.tcl:502 +#: lib/choose_repository.tcl:495 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "標準(高速・中冗長度・ハードリンク)" -#: lib/choose_repository.tcl:508 +#: lib/choose_repository.tcl:501 msgid "Full Copy (Slower, Redundant Backup)" msgstr "全複写(低速・冗長バックアップ)" -#: lib/choose_repository.tcl:514 +#: lib/choose_repository.tcl:507 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "共有(最高速・非推奨・バックアップ無し)" -#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 -#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 -#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#: lib/choose_repository.tcl:543 lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:736 lib/choose_repository.tcl:806 +#: lib/choose_repository.tcl:1017 lib/choose_repository.tcl:1025 #, tcl-format msgid "Not a Git repository: %s" msgstr "Git リポジトリではありません: %s" -#: lib/choose_repository.tcl:586 +#: lib/choose_repository.tcl:579 msgid "Standard only available for local repository." msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:590 +#: lib/choose_repository.tcl:583 msgid "Shared only available for local repository." msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。" -#: lib/choose_repository.tcl:617 +#: lib/choose_repository.tcl:604 +#, tcl-format +msgid "Location %s already exists." +msgstr "'%s' は既に存在します。" + +#: lib/choose_repository.tcl:615 msgid "Failed to configure origin" msgstr "origin を設定できませんでした" -#: lib/choose_repository.tcl:629 +#: lib/choose_repository.tcl:627 msgid "Counting objects" msgstr "オブジェクトを数えています" -#: lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:628 msgid "buckets" msgstr "バケツ" -#: lib/choose_repository.tcl:654 +#: lib/choose_repository.tcl:652 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "objects/info/alternates を複写できません: %s" -#: lib/choose_repository.tcl:690 +#: lib/choose_repository.tcl:688 #, tcl-format msgid "Nothing to clone from %s." msgstr "%s から複製する内容はありません" -#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 -#: lib/choose_repository.tcl:918 +#: lib/choose_repository.tcl:690 lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:916 msgid "The 'master' branch has not been initialized." msgstr "'master' ブランチが初期化されていません" -#: lib/choose_repository.tcl:705 +#: lib/choose_repository.tcl:703 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "ハードリンクが作れないので、コピーします" -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:715 #, tcl-format msgid "Cloning from %s" msgstr "%s から複製しています" -#: lib/choose_repository.tcl:748 +#: lib/choose_repository.tcl:746 msgid "Copying objects" msgstr "オブジェクトを複写しています" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:747 msgid "KiB" msgstr "KiB" -#: lib/choose_repository.tcl:773 +#: lib/choose_repository.tcl:771 #, tcl-format msgid "Unable to copy object: %s" msgstr "オブジェクトを複写できません: %s" -#: lib/choose_repository.tcl:783 +#: lib/choose_repository.tcl:781 msgid "Linking objects" msgstr "オブジェクトを連結しています" -#: lib/choose_repository.tcl:784 +#: lib/choose_repository.tcl:782 msgid "objects" msgstr "オブジェクト" -#: lib/choose_repository.tcl:792 +#: lib/choose_repository.tcl:790 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "オブジェクトをハードリンクできません: %s" -#: lib/choose_repository.tcl:847 +#: lib/choose_repository.tcl:845 msgid "Cannot fetch branches and objects. See console output for details." msgstr "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:858 +#: lib/choose_repository.tcl:856 msgid "Cannot fetch tags. See console output for details." msgstr "タグを取得できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:882 +#: lib/choose_repository.tcl:880 msgid "Cannot determine HEAD. See console output for details." msgstr "HEAD を確定できません。コンソール出力を見て下さい" -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:889 #, tcl-format msgid "Unable to cleanup %s" msgstr "%s を掃除できません" -#: lib/choose_repository.tcl:897 +#: lib/choose_repository.tcl:895 msgid "Clone failed." msgstr "複写に失敗しました。" -#: lib/choose_repository.tcl:904 +#: lib/choose_repository.tcl:902 msgid "No default branch obtained." msgstr "デフォールト・ブランチが取得されませんでした" -#: lib/choose_repository.tcl:915 +#: lib/choose_repository.tcl:913 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "%s をコミットとして解釈できません" -#: lib/choose_repository.tcl:927 +#: lib/choose_repository.tcl:925 msgid "Creating working directory" msgstr "作業ディレクトリを作成しています" -#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/choose_repository.tcl:926 lib/index.tcl:65 lib/index.tcl:127 #: lib/index.tcl:193 msgid "files" msgstr "ファイル" -#: lib/choose_repository.tcl:957 +#: lib/choose_repository.tcl:955 msgid "Initial file checkout failed." msgstr "初期チェックアウトに失敗しました" -#: lib/choose_repository.tcl:973 +#: lib/choose_repository.tcl:971 msgid "Open" msgstr "開く" -#: lib/choose_repository.tcl:983 +#: lib/choose_repository.tcl:981 msgid "Repository:" msgstr "リポジトリ:" -#: lib/choose_repository.tcl:1033 +#: lib/choose_repository.tcl:1031 #, tcl-format msgid "Failed to open repository %s:" msgstr "リポジトリ %s を開けません:" @@ -1136,7 +1136,7 @@ msgstr "ローカル・ブランチ" msgid "Tracking Branch" msgstr "トラッキング・ブランチ" -#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:538 msgid "Tag" msgstr "タグ" @@ -1153,11 +1153,11 @@ msgstr "リビジョンが未選択です。" msgid "Revision expression is empty." msgstr "リビジョン式が空です。" -#: lib/choose_rev.tcl:530 +#: lib/choose_rev.tcl:531 msgid "Updated" msgstr "更新しました" -#: lib/choose_rev.tcl:558 +#: lib/choose_rev.tcl:559 msgid "URL" msgstr "URL" @@ -1304,7 +1304,7 @@ msgstr "コミットに失敗しました。" msgid "Commit %s appears to be corrupt" msgstr "コミット %s は壊れています" -#: lib/commit.tcl:279 +#: lib/commit.tcl:326 msgid "" "No changes to commit.\n" "\n" @@ -1318,7 +1318,7 @@ msgstr "" "\n" "自動的に再スキャンを開始します。\n" -#: lib/commit.tcl:286 +#: lib/commit.tcl:333 msgid "No changes to commit." msgstr "コミットする変更がありません。" @@ -1326,24 +1326,24 @@ msgstr "コミットする変更がありません。" msgid "commit-tree failed:" msgstr "commit-tree が失敗しました:" -#: lib/commit.tcl:339 +#: lib/commit.tcl:367 msgid "update-ref failed:" msgstr "update-ref が失敗しました:" -#: lib/commit.tcl:430 +#: lib/commit.tcl:454 #, tcl-format msgid "Created commit %s: %s" msgstr "コミット %s を作成しました: %s" -#: lib/console.tcl:57 +#: lib/console.tcl:59 msgid "Working... please wait..." msgstr "実行中…お待ち下さい…" -#: lib/console.tcl:183 +#: lib/console.tcl:186 msgid "Success" msgstr "成功" -#: lib/console.tcl:196 +#: lib/console.tcl:200 msgid "Error: Command Failed" msgstr "エラー: コマンドが失敗しました" @@ -1453,23 +1453,23 @@ msgstr "* バイナリファイル(内容は表示しません)" msgid "Error loading diff:" msgstr "diff を読む際のエラーです:" -#: lib/diff.tcl:302 +#: lib/diff.tcl:303 msgid "Failed to unstage selected hunk." msgstr "選択されたパッチをコミット予定から外せません。" -#: lib/diff.tcl:309 +#: lib/diff.tcl:310 msgid "Failed to stage selected hunk." msgstr "選択されたパッチをコミット予定に加えられません。" -#: lib/error.tcl:12 lib/error.tcl:102 +#: lib/error.tcl:20 lib/error.tcl:114 msgid "error" msgstr "エラー" -#: lib/error.tcl:28 +#: lib/error.tcl:36 msgid "warning" msgstr "警告" -#: lib/error.tcl:81 +#: lib/error.tcl:94 msgid "You must correct the above errors before committing." msgstr "コミットする前に、以上のエラーを修正して下さい" @@ -1521,11 +1521,11 @@ msgstr "ファイル %s にした変更を元に戻しますか?" msgid "Revert changes in these %i files?" msgstr "これら %i 個のファイルにした変更を元に戻しますか?" -#: lib/index.tcl:389 +#: lib/index.tcl:391 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" -#: lib/index.tcl:392 +#: lib/index.tcl:394 msgid "Do Nothing" msgstr "何もしない" @@ -1603,20 +1603,20 @@ msgstr "%s と %s をマージ中・・・" msgid "Merge completed successfully." msgstr "マージが完了しました" -#: lib/merge.tcl:133 +#: lib/merge.tcl:132 msgid "Merge failed. Conflict resolution is required." msgstr "マージが失敗しました。衝突の解決が必要です。" -#: lib/merge.tcl:158 +#: lib/merge.tcl:157 #, tcl-format msgid "Merge Into %s" msgstr "%s にマージ" -#: lib/merge.tcl:177 +#: lib/merge.tcl:176 msgid "Revision To Merge" msgstr "マージするリビジョン" -#: lib/merge.tcl:212 +#: lib/merge.tcl:211 msgid "" "Cannot abort while amending.\n" "\n" @@ -1626,7 +1626,7 @@ msgstr "" "\n" "まず今のコミット訂正を完了させて下さい。\n" -#: lib/merge.tcl:222 +#: lib/merge.tcl:221 msgid "" "Abort merge?\n" "\n" @@ -1640,7 +1640,7 @@ msgstr "" "\n" "マージを中断してよろしいですか?" -#: lib/merge.tcl:228 +#: lib/merge.tcl:227 msgid "" "Reset changes?\n" "\n" @@ -1654,7 +1654,7 @@ msgstr "" "\n" "リセットしてよろしいですか?" -#: lib/merge.tcl:239 +#: lib/merge.tcl:238 msgid "Aborting" msgstr "中断しています" @@ -1666,89 +1666,94 @@ msgstr "リセットしたファイル" msgid "Abort failed." msgstr "中断に失敗しました。" -#: lib/merge.tcl:268 +#: lib/merge.tcl:267 msgid "Abort completed. Ready." msgstr "中断完了。" -#: lib/option.tcl:82 +#: lib/option.tcl:95 msgid "Restore Defaults" msgstr "既定値に戻す" -#: lib/option.tcl:86 +#: lib/option.tcl:99 msgid "Save" msgstr "保存" -#: lib/option.tcl:96 +#: lib/option.tcl:109 #, tcl-format msgid "%s Repository" msgstr "%s リポジトリ" -#: lib/option.tcl:97 +#: lib/option.tcl:110 msgid "Global (All Repositories)" msgstr "大域(全てのリポジトリ)" -#: lib/option.tcl:103 +#: lib/option.tcl:116 msgid "User Name" msgstr "ユーザ名" -#: lib/option.tcl:104 +#: lib/option.tcl:117 msgid "Email Address" msgstr "電子メールアドレス" -#: lib/option.tcl:106 +#: lib/option.tcl:119 msgid "Summarize Merge Commits" msgstr "マージコミットの要約" -#: lib/option.tcl:107 +#: lib/option.tcl:120 msgid "Merge Verbosity" msgstr "マージの冗長度" -#: lib/option.tcl:108 +#: lib/option.tcl:121 msgid "Show Diffstat After Merge" msgstr "マージ後に diffstat を表示" -#: lib/option.tcl:110 +#: lib/option.tcl:123 msgid "Trust File Modification Timestamps" msgstr "ファイル変更時刻を信頼する" -#: lib/option.tcl:111 +#: lib/option.tcl:124 msgid "Prune Tracking Branches During Fetch" msgstr "フェッチ中にトラッキングブランチを刈る" -#: lib/option.tcl:112 +#: lib/option.tcl:125 msgid "Match Tracking Branches" msgstr "トラッキングブランチを合わせる" -#: lib/option.tcl:113 +#: lib/option.tcl:126 msgid "Number of Diff Context Lines" msgstr "diff の文脈行数" -#: lib/option.tcl:114 +#: lib/option.tcl:127 +#, fuzzy +msgid "Commit Message Text Width" +msgstr "コミットメッセージ:" + +#: lib/option.tcl:128 msgid "New Branch Name Template" msgstr "新しいブランチ名のテンプレート" -#: lib/option.tcl:191 +#: lib/option.tcl:192 msgid "Spelling Dictionary:" msgstr "スペルチェック辞書" -#: lib/option.tcl:215 +#: lib/option.tcl:216 msgid "Change Font" msgstr "フォントを変更" -#: lib/option.tcl:180 +#: lib/option.tcl:220 #, tcl-format msgid "Choose %s" msgstr "%s を選択" -#: lib/option.tcl:186 +#: lib/option.tcl:226 msgid "pt." msgstr "ポイント" -#: lib/option.tcl:200 +#: lib/option.tcl:240 msgid "Preferences" msgstr "設定" -#: lib/option.tcl:235 +#: lib/option.tcl:275 msgid "Failed to completely save options:" msgstr "完全にオプションを保存できません:" @@ -1856,23 +1861,43 @@ msgstr "ショートカットが書けません:" msgid "Cannot write icon:" msgstr "アイコンが書けません:" -#: lib/spellcheck.tcl:37 -msgid "Not connected to aspell" -msgstr "aspell に接続していません" +#: lib/spellcheck.tcl:57 +msgid "Unsupported spell checker" +msgstr "" -#: lib/spellcheck.tcl:41 -msgid "Unrecognized aspell version" +#: lib/spellcheck.tcl:65 +#, fuzzy +msgid "Spell checking is unavailable" +msgstr "スペルチェック失敗" + +#: lib/spellcheck.tcl:68 +msgid "Invalid spell checking configuration" +msgstr "" + +#: lib/spellcheck.tcl:70 +#, tcl-format +msgid "Reverting dictionary to %s." +msgstr "" + +#: lib/spellcheck.tcl:73 +msgid "Spell checker silently failed on startup" +msgstr "" + +#: lib/spellcheck.tcl:80 +#, fuzzy +msgid "Unrecognized spell checker" msgstr "aspell バージョンが判別できません" -#: lib/spellcheck.tcl:135 +#: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "提案なし" -#: lib/spellcheck.tcl:336 -msgid "Unexpected EOF from aspell" +#: lib/spellcheck.tcl:381 +#, fuzzy +msgid "Unexpected EOF from spell checker" msgstr "aspell が予想外の EOF を返しました" -#: lib/spellcheck.tcl:340 +#: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" msgstr "スペルチェック失敗" @@ -1943,3 +1968,6 @@ msgstr "Thin Pack を使う(遅いネットワーク接続)" #: lib/transport.tcl:168 msgid "Include tags" msgstr "タグを含める" + +#~ msgid "Not connected to aspell" +#~ msgstr "aspell に接続していません" From fac4b328874ccf515a42e30173d0e008382ac276 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 14 Mar 2008 21:20:41 -0700 Subject: [PATCH 65/76] Fix recent 'unpack_trees()'-related changes breaking 'git stash' On Sat, 15 Mar 2008, SZEDER G?bor wrote: > > The testcase usually fails during the first 25 run, but sometimes it > runs more than 100 times before failing. Damn, this series has had more subtle issues than I ever expected. 'git stash' creates its saved working tree object with: # state of the working tree w_tree=$( ( rm -f "$TMP-index" && cp -p ${GIT_INDEX_FILE-"$GIT_DIR/index"} "$TMP-index" && GIT_INDEX_FILE="$TMP-index" && export GIT_INDEX_FILE && git read-tree -m $i_tree && git add -u && git write-tree && rm -f "$TMP-index" ) ) || die "Cannot save the current worktree state" which creates a new index file with the updates, and writes the tree from that. We have this logic where we compare the timestamp of the index with the timestamp of the files and we then write them out "smudged" if they are the same, and it basically depends on the fact that the date on the index file is compared with the date encoded in the stat information itself. And what is going on is: - we create a new index file with that "cp". We are careful to preserve the timestamps by using "-p", so this one should be all ok. - then we *update* that index by resetting it to the tree with git read-tree, but now we do *not* preserve the timestamp on this new copy any more, even though we copy over all the timestamps on the files that are indexed from the stat information! Now, we always had that problem when re-writing the index, but we had this clever workaround in the writing part: if the source had racily clean entries, then when we wrote those out (and thus can't depend on the index fiel timestamp showing that they are racily clean any more!), we would smudge them when writing. IOW, we handle this issue by having write_index() do this: for (i = 0; i < entries; i++) { ... if (is_racy_timestamp(istate, ce)) ce_smudge_racily_clean_entry(ce); .. when writing out entries. And that all took care of it, because now when we wrote the new index, we'd change the timestamp on the index, yes, but we'd smudge the entries we wrote out, so now the resulting index would still show that file as not-up-to-date any more. But with commit 34110cd4e394e3f92c01a4709689b384c34645d8 ("Make 'unpack_trees()' have a separate source and destination index"), this logic no longer triggers, because we now write out the "result" index, and that one never got its timestamp updated from the source index, so it had lost all that "is_racy_timestamp()" information! This trivial patch fixes it. It looks trivial, and it's a simple fix, but boy did it take me way too much thinking and explaining to myself to explain why there was a problem in the first place! The trivial fix is to just copy the index timestamp from the source index into the result index. But we only do this if we *have* a source index, of course, and if we will even bother to use the result. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- unpack-trees.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unpack-trees.c b/unpack-trees.c index 91649f31d6..93019abdc1 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -336,6 +336,8 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options state.refresh_cache = 1; memset(&o->result, 0, sizeof(o->result)); + if (o->src_index) + o->result.timestamp = o->src_index->timestamp; o->merge_size = len; if (!dfc) From ac378633f3cae46d2c88255e53ee38a6206d3777 Mon Sep 17 00:00:00 2001 From: Bernt Hansen Date: Fri, 14 Mar 2008 22:44:13 -0400 Subject: [PATCH 66/76] git-new-workdir: Share SVN meta data between work dirs and the repository Multiple work dirs with git svn caused each work dir to have its own stale copy of the SVN meta data in .git/svn git svn rebase updates commits with git-svn-id: in the repository and stores the SVN meta data information only in that work dir. Attempting to git svn rebase in other work dirs for the same branch would fail because the last revision fetched according to the git-svn-id is greater than the revision in the SVN meta data for that work directory. Signed-off-by: Bernt Hansen Acked-by: Eric Wong Signed-off-by: Junio C Hamano --- contrib/workdir/git-new-workdir | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/workdir/git-new-workdir b/contrib/workdir/git-new-workdir index 2838546d16..7959eab902 100755 --- a/contrib/workdir/git-new-workdir +++ b/contrib/workdir/git-new-workdir @@ -63,7 +63,7 @@ mkdir -p "$new_workdir/.git" || die "unable to create \"$new_workdir\"!" # create the links to the original repo. explictly exclude index, HEAD and # logs/HEAD from the list since they are purely related to the current working # directory, and should not be shared. -for x in config refs logs/refs objects info hooks packed-refs remotes rr-cache +for x in config refs logs/refs objects info hooks packed-refs remotes rr-cache svn do case $x in */*) From a0b54e7b73415f92225ddf29fe655399bafd4938 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Fri, 14 Mar 2008 22:38:18 +0100 Subject: [PATCH 67/76] Make man page building quiet when DOCBOOK_XSL_172 is defined Tell xmlto to repress printing of the lines: Note: meta date : No date. Using generated date git-xyx Note: Writing git-xyz.1 Signed-off-by: Jonas Fonseca Signed-off-by: Junio C Hamano --- Documentation/manpage-1.72.xsl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Documentation/manpage-1.72.xsl b/Documentation/manpage-1.72.xsl index fe3cd72d6f..4065a3a27a 100644 --- a/Documentation/manpage-1.72.xsl +++ b/Documentation/manpage-1.72.xsl @@ -1,5 +1,9 @@ - + + + + + From 6bf4f1b4c9d78b2061bd5f3bf77bb21112b755be Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 14 Mar 2008 17:10:09 -0700 Subject: [PATCH 68/76] format-patch: generate MIME header as needed even when there is format.header Earlier, the callchain from pretty_print_commit() down to pp_title_line() had an unwarranted assumption that the presense of "after_subject" parameter, means the caller has already output MIME headers for attachments. The parameter's primary purpose is to give extra header lines the caller wants to place after pp_title_line() generates the "Subject: " line. This assumption does not hold when the user used the format.header configuration variable to pass extra headers, and caused a message with non-ASCII character to lack proper MIME headers (e.g. 8-bit CTE header). The earlier logic also failed to suppress duplicated MIME headers when "format-patch -s --attach" is asked for and the signer's name demanded 8-bit clean transport. This patch fixes the logic by introducing a separate need_8bit_cte parameter passed down the callchain. This can have one of these values: -1 : we've already done MIME crap and we do not want to add extra header to say this is 8bit in pp_title_line(); 0 : we haven't done MIME and we have not seen anything that is 8bit yet; 1 : we haven't done MIME and we have seen something that is 8bit; pp_title_line() must add MIME header. It adds two tests by Jeff King who independently diagnosed this issue. Signed-off-by: Junio C Hamano --- commit.h | 2 +- log-tree.c | 7 ++++++- pretty.c | 24 ++++++++++------------ t/t4021-format-patch-signer-mime.sh | 10 +++++++++- t/t4028-format-patch-mime-headers.sh | 30 ++++++++++++++++++++++++++++ 5 files changed, 57 insertions(+), 16 deletions(-) create mode 100755 t/t4028-format-patch-mime-headers.sh diff --git a/commit.h b/commit.h index 10e2b5d4cf..000528a67b 100644 --- a/commit.h +++ b/commit.h @@ -70,7 +70,7 @@ extern void pretty_print_commit(enum cmit_fmt fmt, const struct commit*, struct strbuf *, int abbrev, const char *subject, const char *after_subject, enum date_mode, - int non_ascii_present); + int need_8bit_cte); /** Removes the first commit from a list sorted by date, and adds all * of its parents. diff --git a/log-tree.c b/log-tree.c index 1f3fcf16ad..dd94f393a0 100644 --- a/log-tree.c +++ b/log-tree.c @@ -146,6 +146,7 @@ void show_log(struct rev_info *opt, const char *sep) int abbrev_commit = opt->abbrev_commit ? opt->abbrev : 40; const char *extra; const char *subject = NULL, *extra_headers = opt->extra_headers; + int need_8bit_cte = 0; opt->loginfo = NULL; if (!opt->verbose_header) { @@ -214,6 +215,8 @@ void show_log(struct rev_info *opt, const char *sep) if (opt->mime_boundary) { static char subject_buffer[1024]; static char buffer[1024]; + + need_8bit_cte = -1; /* never */ snprintf(subject_buffer, sizeof(subject_buffer) - 1, "%s" "MIME-Version: 1.0\n" @@ -282,9 +285,11 @@ void show_log(struct rev_info *opt, const char *sep) * And then the pretty-printed message itself */ strbuf_init(&msgbuf, 0); + if (need_8bit_cte >= 0) + need_8bit_cte = has_non_ascii(opt->add_signoff); pretty_print_commit(opt->commit_format, commit, &msgbuf, abbrev, subject, extra_headers, opt->date_mode, - has_non_ascii(opt->add_signoff)); + need_8bit_cte); if (opt->add_signoff) append_signoff(&msgbuf, opt->add_signoff); diff --git a/pretty.c b/pretty.c index b987ff245b..0963bb08c1 100644 --- a/pretty.c +++ b/pretty.c @@ -659,7 +659,7 @@ static void pp_title_line(enum cmit_fmt fmt, const char *subject, const char *after_subject, const char *encoding, - int plain_non_ascii) + int need_8bit_cte) { struct strbuf title; @@ -692,7 +692,7 @@ static void pp_title_line(enum cmit_fmt fmt, } strbuf_addch(sb, '\n'); - if (plain_non_ascii) { + if (need_8bit_cte > 0) { const char *header_fmt = "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=%s\n" @@ -741,9 +741,9 @@ static void pp_remainder(enum cmit_fmt fmt, } void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, - struct strbuf *sb, int abbrev, - const char *subject, const char *after_subject, - enum date_mode dmode, int plain_non_ascii) + struct strbuf *sb, int abbrev, + const char *subject, const char *after_subject, + enum date_mode dmode, int need_8bit_cte) { unsigned long beginning_of_body; int indent = 4; @@ -769,13 +769,11 @@ void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, if (fmt == CMIT_FMT_ONELINE || fmt == CMIT_FMT_EMAIL) indent = 0; - /* After-subject is used to pass in Content-Type: multipart - * MIME header; in that case we do not have to do the - * plaintext content type even if the commit message has - * non 7-bit ASCII character. Otherwise, check if we need - * to say this is not a 7-bit ASCII. + /* + * We need to check and emit Content-type: to mark it + * as 8-bit if we haven't done so. */ - if (fmt == CMIT_FMT_EMAIL && !after_subject) { + if (fmt == CMIT_FMT_EMAIL && need_8bit_cte == 0) { int i, ch, in_body; for (in_body = i = 0; (ch = msg[i]); i++) { @@ -788,7 +786,7 @@ void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, in_body = 1; } else if (non_ascii(ch)) { - plain_non_ascii = 1; + need_8bit_cte = 1; break; } } @@ -813,7 +811,7 @@ void pretty_print_commit(enum cmit_fmt fmt, const struct commit *commit, /* These formats treat the title line specially. */ if (fmt == CMIT_FMT_ONELINE || fmt == CMIT_FMT_EMAIL) pp_title_line(fmt, &msg, sb, subject, - after_subject, encoding, plain_non_ascii); + after_subject, encoding, need_8bit_cte); beginning_of_body = sb->len; if (fmt != CMIT_FMT_ONELINE) diff --git a/t/t4021-format-patch-signer-mime.sh b/t/t4021-format-patch-signer-mime.sh index 67a70fadab..ba43f18549 100755 --- a/t/t4021-format-patch-signer-mime.sh +++ b/t/t4021-format-patch-signer-mime.sh @@ -32,11 +32,19 @@ test_expect_success 'format with signoff without funny signer name' ' test_expect_success 'format with non ASCII signer name' ' - GIT_COMMITTER_NAME="$B$O$^$N(B $B$U$K$*$&(B" \ + GIT_COMMITTER_NAME="はまの ふにおう" \ git format-patch -s --stdout -1 >output && grep Content-Type output ' +test_expect_success 'attach and signoff do not duplicate mime headers' ' + + GIT_COMMITTER_NAME="はまの ふにおう" \ + git format-patch -s --stdout -1 --attach >output && + test `grep -ci ^MIME-Version: output` = 1 + +' + test_done diff --git a/t/t4028-format-patch-mime-headers.sh b/t/t4028-format-patch-mime-headers.sh new file mode 100755 index 0000000000..204ba673cb --- /dev/null +++ b/t/t4028-format-patch-mime-headers.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +test_description='format-patch mime headers and extra headers do not conflict' +. ./test-lib.sh + +test_expect_success 'create commit with utf-8 body' ' + echo content >file && + git add file && + git commit -m one && + echo more >>file && + git commit -a -m "two + + utf-8 body: ñ" +' + +test_expect_success 'patch has mime headers' ' + rm -f 0001-two.patch && + git format-patch HEAD^ && + grep -i "content-type: text/plain; charset=utf-8" 0001-two.patch +' + +test_expect_success 'patch has mime and extra headers' ' + rm -f 0001-two.patch && + git config format.headers "x-foo: bar" && + git format-patch HEAD^ && + grep -i "x-foo: bar" 0001-two.patch && + grep -i "content-type: text/plain; charset=utf-8" 0001-two.patch +' + +test_done From abe549e1791822b3105648452b1f8907f8fdb26a Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Fri, 14 Mar 2008 22:35:24 +0100 Subject: [PATCH 69/76] shortlog: do not require to run from inside a git repository Once upon a time shortlog could be run from a non-git directory and still do its job. Fix this regression and add a small test for it. Signed-off-by: Jonas Fonseca Signed-off-by: Junio C Hamano --- builtin-shortlog.c | 4 +++- git.c | 2 +- t/t4201-shortlog.sh | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/builtin-shortlog.c b/builtin-shortlog.c index b22b0edd65..bd795b1db7 100644 --- a/builtin-shortlog.c +++ b/builtin-shortlog.c @@ -229,7 +229,9 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix) { struct shortlog log; struct rev_info rev; + int nongit; + prefix = setup_git_directory_gently(&nongit); shortlog_init(&log); /* since -n is a shadowed rev argument, parse our args first */ @@ -259,7 +261,7 @@ int cmd_shortlog(int argc, const char **argv, const char *prefix) die ("unrecognized argument: %s", argv[1]); /* assume HEAD if from a tty */ - if (!rev.pending.nr && isatty(0)) + if (!nongit && !rev.pending.nr && isatty(0)) add_head_to_pending(&rev); if (rev.pending.nr == 0) { read_from_stdin(&log); diff --git a/git.c b/git.c index 1e3eb1065f..13de8018f0 100644 --- a/git.c +++ b/git.c @@ -343,7 +343,7 @@ static void handle_internal_command(int argc, const char **argv) { "revert", cmd_revert, RUN_SETUP | NEED_WORK_TREE }, { "rm", cmd_rm, RUN_SETUP }, { "send-pack", cmd_send_pack, RUN_SETUP }, - { "shortlog", cmd_shortlog, RUN_SETUP | USE_PAGER }, + { "shortlog", cmd_shortlog, USE_PAGER }, { "show-branch", cmd_show_branch, RUN_SETUP }, { "show", cmd_show, RUN_SETUP | USE_PAGER }, { "status", cmd_status, RUN_SETUP | NEED_WORK_TREE }, diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh index 6d12efb74d..eef4cafda9 100755 --- a/t/t4201-shortlog.sh +++ b/t/t4201-shortlog.sh @@ -47,4 +47,9 @@ EOF test_expect_success 'shortlog wrapping' 'diff -u expect out' +git log HEAD > log +GIT_DIR=non-existing git shortlog -w < log > out + +test_expect_success 'shortlog from non-git directory' 'diff -u expect out' + test_done From 1f9ff0de82f0f2990f3d6f06dad1d381158c2a75 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 15 Mar 2008 01:23:26 -0700 Subject: [PATCH 70/76] Redo "add test_cmp function for test scripts" We had a handful test updates since we accepted 82ebb0b (add test_cmp function for test scripts). This fixes them up. Signed-off-by: Junio C Hamano --- t/t4201-shortlog.sh | 2 +- t/t6031-merge-recursive.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh index 672b28859f..405b971191 100755 --- a/t/t4201-shortlog.sh +++ b/t/t4201-shortlog.sh @@ -50,6 +50,6 @@ test_expect_success 'shortlog wrapping' 'test_cmp expect out' git log HEAD > log GIT_DIR=non-existing git shortlog -w < log > out -test_expect_success 'shortlog from non-git directory' 'diff -u expect out' +test_expect_success 'shortlog from non-git directory' 'test_cmp expect out' test_done diff --git a/t/t6031-merge-recursive.sh b/t/t6031-merge-recursive.sh index 5bb6b93780..c8310aee4f 100755 --- a/t/t6031-merge-recursive.sh +++ b/t/t6031-merge-recursive.sh @@ -42,7 +42,7 @@ test_expect_success 'mode change in both branches: expect conflict' ' echo "100755 $H 2 file2" echo "100644 $H 3 file2" ) >expect && - diff -u actual expect && + test_cmp actual expect && test -x file2 ' From 477ef326a3d554c0ad0e4a6d828354c5faafe178 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=97=E3=82=89=E3=81=84=E3=81=97=E3=81=AA=E3=81=AA?= =?UTF-8?q?=E3=81=93?= Date: Sat, 15 Mar 2008 20:12:00 +0900 Subject: [PATCH 71/76] git-gui: Update Japanese translation Signed-off-by: Shawn O. Pearce --- po/ja.po | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/po/ja.po b/po/ja.po index 083acdfcab..28e6d6246b 100644 --- a/po/ja.po +++ b/po/ja.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-03-14 07:18+0100\n" -"PO-Revision-Date: 2008-03-14 20:32+0900\n" +"PO-Revision-Date: 2008-03-15 20:12+0900\n" "Last-Translator: しらいし ななこ \n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" @@ -1724,9 +1724,8 @@ msgid "Number of Diff Context Lines" msgstr "diff の文脈行数" #: lib/option.tcl:127 -#, fuzzy msgid "Commit Message Text Width" -msgstr "コミットメッセージ:" +msgstr "コミットメッセージのテキスト幅" #: lib/option.tcl:128 msgid "New Branch Name Template" @@ -1863,39 +1862,36 @@ msgstr "アイコンが書けません:" #: lib/spellcheck.tcl:57 msgid "Unsupported spell checker" -msgstr "" +msgstr "サポートされていないスペルチェッカーです" #: lib/spellcheck.tcl:65 -#, fuzzy msgid "Spell checking is unavailable" -msgstr "スペルチェック失敗" +msgstr "スペルチェック機能は使えません" #: lib/spellcheck.tcl:68 msgid "Invalid spell checking configuration" -msgstr "" +msgstr "スペルチェックの設定が不正です" #: lib/spellcheck.tcl:70 #, tcl-format msgid "Reverting dictionary to %s." -msgstr "" +msgstr "辞書を %s に巻き戻します" #: lib/spellcheck.tcl:73 msgid "Spell checker silently failed on startup" -msgstr "" +msgstr "スペルチェッカーの起動に失敗しました" #: lib/spellcheck.tcl:80 -#, fuzzy msgid "Unrecognized spell checker" -msgstr "aspell バージョンが判別できません" +msgstr "スペルチェッカーが判別できません" #: lib/spellcheck.tcl:180 msgid "No Suggestions" msgstr "提案なし" #: lib/spellcheck.tcl:381 -#, fuzzy msgid "Unexpected EOF from spell checker" -msgstr "aspell が予想外の EOF を返しました" +msgstr "スペルチェッカーが予想外の EOF を返しました" #: lib/spellcheck.tcl:385 msgid "Spell Checker Failed" From 739a6d4970836463f5ffc9f56381e4efc9e61914 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 15 Mar 2008 00:43:34 -0700 Subject: [PATCH 72/76] git-gui: Improve directions regarding POT update in po/README Keeping POT up to date relative to the software is absolutely necessary. What is unwarranted is updating language files at the same time by running msgmerge without checking if there is any outstanding translation work first. If we assume that the translators do not have access to msgmerge, that is a good service to them (the less they have to do, the better), but otherwise, it is better to be leave po/${language}.po files alone. Signed-off-by: Junio C Hamano Signed-off-by: Shawn O. Pearce --- po/README | 62 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/po/README b/po/README index 9d8b7364fd..5e77a7d7d2 100644 --- a/po/README +++ b/po/README @@ -178,18 +178,6 @@ step. $ msgmerge -U po/af.po po/git-gui.pot -[NEEDSWORK: who is responsible for updating po/git-gui.pot file by -running xgettext? IIRC, Christian recommended against running it -nilly-willy because it can become a source of unnecessary merge -conflicts. Perhaps we should mention something like " - -The po/git-gui.pot file is updated by the internationalization -coordinator from time to time. You _could_ update it yourself, but -translators are discouraged from doing so because we would want all -language teams to be working off of the same version of git-gui.pot. - -" here?] - This updates po/af.po (again, replace "af" with your language code) so that it contains msgid lines (i.e. the original) that your translation did not have before. There are a few things to @@ -207,3 +195,53 @@ watch out for: - New messages added to the software will have msgstr lines with empty strings. You would need to translate them. + +The po/git-gui.pot file is updated by the internationalization +coordinator from time to time. You _could_ update it yourself, but +translators are discouraged from doing so because we would want all +language teams to be working off of the same version of git-gui.pot. + +**************************************************************** + +This section is a note to the internationalization coordinator, and +translators do not have to worry about it too much. + +The message template file po/git-gui.pot needs to be kept up to date +relative to the software the translations apply to, and it is the +responsibility of the internationalization coordinator. + +When updating po/git-gui.pot file, however, _never_ run "msgmerge -U +po/xx.po" for individual language translations, unless you are absolutely +sure that there is no outstanding work on translation for language xx. +Doing so will create unnecessary merge conflicts and force needless +re-translation on translators. The translator however may not have access +to the msgmerge tool, in which case the coordinator may run it for the +translator as a service. + +But mistakes do happen. Suppose a translation was based on an older +version X, the POT file was updated at version Y and then msgmerge was run +at version Z for the language, and the translator sent in a patch based on +version X: + + ? translated + / + ---X---Y---Z (master) + +The coordinator could recover from such a mistake by first applying the +patch to X, replace the translated file in Z, and then running msgmerge +again based on the updated POT file and commit the result. The sequence +would look like this: + + $ git checkout X + $ git am -s xx.patch + $ git checkout master + $ git checkout HEAD@{1} po/xx.po + $ msgmerge -U po/xx.po po/git-gui.pot + $ git commit -c HEAD@{1} po/xx.po + +State in the message that the translated messages are based on a slightly +older version, and msgmerge was run to incorporate changes to message +templates from the updated POT file. The result needs to be further +translated, but at least the messages that were updated by the patch that +were not changed by the POT update will survive the process and do not +need to be re-translated. From e637122ef2d3911568d7d016f723cdad61730069 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 16 Mar 2008 00:50:22 -0700 Subject: [PATCH 73/76] rebase -m: do not trigger pre-commit verification When rebasing changes that contain issues that the pre-commit hook flags as problematic, the rebase cannot be continued. However, rebase is about transplanting commits that are already made with as little distortion as possible, and pre-commit check should not interfere. Earlier, c5b09fe (Avoid update hook during git-rebase --interactive, 2007-12-19) fixed "rebase -i", but "rebase -m" shared the same issue. Signed-off-by: Junio C Hamano --- git-rebase.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-rebase.sh b/git-rebase.sh index 6b9af962a9..bc0c1c4abc 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -63,7 +63,7 @@ continue_merge () { cmt=`cat "$dotest/current"` if ! git diff-index --quiet HEAD -- then - if ! git-commit -C "$cmt" + if ! git commit --no-verify -C "$cmt" then echo "Commit failed, please do not call \"git commit\"" echo "directly, but instead do one of the following: " From 81d66500c1e47d19c18d643ef074e0475dc90eb1 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 15 Mar 2008 23:29:28 -0700 Subject: [PATCH 74/76] Start draft ReleaseNotes for 1.5.4.5 Signed-off-by: Junio C Hamano --- Documentation/RelNotes-1.5.4.5.txt | 53 ++++++++++++++++++++++++++++++ RelNotes | 2 +- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 Documentation/RelNotes-1.5.4.5.txt diff --git a/Documentation/RelNotes-1.5.4.5.txt b/Documentation/RelNotes-1.5.4.5.txt new file mode 100644 index 0000000000..fe768d497f --- /dev/null +++ b/Documentation/RelNotes-1.5.4.5.txt @@ -0,0 +1,53 @@ +GIT v1.5.4.5 Release Notes +========================== + +Fixes since v1.5.4.4 +-------------------- + + * You couldn't specify a custom editor whose path contains a whitespace + via GIT_EDITOR (and core.editor). + + * The subdirectory filter to "git filter-branch" mishandled a history + where the subdirectory becomes empty and then later becomes non-empty. + + * "git shortlog" gave an empty line if the original commit message was + malformed (e.g. a botched import from foreign SCM). Now it finds the + first non-empty line and uses it for better information. + + * When the user fails to give a revision parameter to "git svn", an error + from the Perl interpreter was issued because the script lacked proper + error checking. + + * After "git rebase" stopped due to conflicts, if the user played with + "git reset" and friends, "git rebase --abort" failed to go back to the + correct commit. + + * Additional work trees prepared with git-new-workdir (in contrib/) did + not share git-svn metadata directory .git/svn with the original. + + * "git-merge-recursive" did not mark addition of the same path with + different filemodes correctly as a conflict. + + * "gitweb" gave malformed URL when pathinfo stype paths are in use. + + * "-n" stands for "--no-tags" again for "git fetch". + + * "git format-patch" did not detect the need to add 8-bit MIME header + when the user used format.header configuration. + + * "rev~" revision specifier used to mean "rev", which was inconsistent + with how "rev^" worked. Now "rev~" is the same as "rev~1" (hence it + also is the same as "rev^1"), and "rev~0" is the same as "rev^0" + (i.e. it has to be a commit). + + * "git quiltimport" did not grok empty lines, lines in "file -pNNN" + format to specify the prefix levels and lines with trailing comments. + + * "git rebase -m" triggered pre-commit verification, which made + "rebase --continue" impossible. + +-- +exec >/var/tmp/1 +echo O=$(git describe maint) +O=v1.5.4.4-25-ga6f7728 +git shortlog --no-merges $O..maint diff --git a/RelNotes b/RelNotes index f84c4c7f11..e13dbd4f9f 120000 --- a/RelNotes +++ b/RelNotes @@ -1 +1 @@ -Documentation/RelNotes-1.5.4.4.txt \ No newline at end of file +Documentation/RelNotes-1.5.4.5.txt \ No newline at end of file From c817faabd7b0d7c0779ad5b34a4411ba3cdccf2d Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 15 Mar 2008 23:58:10 -0700 Subject: [PATCH 75/76] Resurrect git-rerere to contrib/examples It is handy to have a copy readily available for checking regressions. Signed-off-by: Junio C Hamano --- contrib/examples/git-rerere.perl | 284 +++++++++++++++++++++++++++++++ 1 file changed, 284 insertions(+) create mode 100755 contrib/examples/git-rerere.perl diff --git a/contrib/examples/git-rerere.perl b/contrib/examples/git-rerere.perl new file mode 100755 index 0000000000..4f692091e7 --- /dev/null +++ b/contrib/examples/git-rerere.perl @@ -0,0 +1,284 @@ +#!/usr/bin/perl +# +# REuse REcorded REsolve. This tool records a conflicted automerge +# result and its hand resolution, and helps to resolve future +# automerge that results in the same conflict. +# +# To enable this feature, create a directory 'rr-cache' under your +# .git/ directory. + +use Digest; +use File::Path; +use File::Copy; + +my $git_dir = $::ENV{GIT_DIR} || ".git"; +my $rr_dir = "$git_dir/rr-cache"; +my $merge_rr = "$git_dir/rr-cache/MERGE_RR"; + +my %merge_rr = (); + +sub read_rr { + if (!-f $merge_rr) { + %merge_rr = (); + return; + } + my $in; + local $/ = "\0"; + open $in, "<$merge_rr" or die "$!: $merge_rr"; + while (<$in>) { + chomp; + my ($name, $path) = /^([0-9a-f]{40})\t(.*)$/s; + $merge_rr{$path} = $name; + } + close $in; +} + +sub write_rr { + my $out; + open $out, ">$merge_rr" or die "$!: $merge_rr"; + for my $path (sort keys %merge_rr) { + my $name = $merge_rr{$path}; + print $out "$name\t$path\0"; + } + close $out; +} + +sub compute_conflict_name { + my ($path) = @_; + my @side = (); + my $in; + open $in, "<$path" or die "$!: $path"; + + my $sha1 = Digest->new("SHA-1"); + my $hunk = 0; + while (<$in>) { + if (/^<<<<<<< .*/) { + $hunk++; + @side = ([], undef); + } + elsif (/^=======$/) { + $side[1] = []; + } + elsif (/^>>>>>>> .*/) { + my ($one, $two); + $one = join('', @{$side[0]}); + $two = join('', @{$side[1]}); + if ($two le $one) { + ($one, $two) = ($two, $one); + } + $sha1->add($one); + $sha1->add("\0"); + $sha1->add($two); + $sha1->add("\0"); + @side = (); + } + elsif (@side == 0) { + next; + } + elsif (defined $side[1]) { + push @{$side[1]}, $_; + } + else { + push @{$side[0]}, $_; + } + } + close $in; + return ($sha1->hexdigest, $hunk); +} + +sub record_preimage { + my ($path, $name) = @_; + my @side = (); + my ($in, $out); + open $in, "<$path" or die "$!: $path"; + open $out, ">$name" or die "$!: $name"; + + while (<$in>) { + if (/^<<<<<<< .*/) { + @side = ([], undef); + } + elsif (/^=======$/) { + $side[1] = []; + } + elsif (/^>>>>>>> .*/) { + my ($one, $two); + $one = join('', @{$side[0]}); + $two = join('', @{$side[1]}); + if ($two le $one) { + ($one, $two) = ($two, $one); + } + print $out "<<<<<<<\n"; + print $out $one; + print $out "=======\n"; + print $out $two; + print $out ">>>>>>>\n"; + @side = (); + } + elsif (@side == 0) { + print $out $_; + } + elsif (defined $side[1]) { + push @{$side[1]}, $_; + } + else { + push @{$side[0]}, $_; + } + } + close $out; + close $in; +} + +sub find_conflict { + my $in; + local $/ = "\0"; + my $pid = open($in, '-|'); + die "$!" unless defined $pid; + if (!$pid) { + exec(qw(git ls-files -z -u)) or die "$!: ls-files"; + } + my %path = (); + my @path = (); + while (<$in>) { + chomp; + my ($mode, $sha1, $stage, $path) = + /^([0-7]+) ([0-9a-f]{40}) ([123])\t(.*)$/s; + $path{$path} |= (1 << $stage); + } + close $in; + while (my ($path, $status) = each %path) { + if ($status == 14) { push @path, $path; } + } + return @path; +} + +sub merge { + my ($name, $path) = @_; + record_preimage($path, "$rr_dir/$name/thisimage"); + unless (system('git', 'merge-file', map { "$rr_dir/$name/${_}image" } + qw(this pre post))) { + my $in; + open $in, "<$rr_dir/$name/thisimage" or + die "$!: $name/thisimage"; + my $out; + open $out, ">$path" or die "$!: $path"; + while (<$in>) { print $out $_; } + close $in; + close $out; + return 1; + } + return 0; +} + +sub garbage_collect_rerere { + # We should allow specifying these from the command line and + # that is why the caller gives @ARGV to us, but I am lazy. + + my $cutoff_noresolve = 15; # two weeks + my $cutoff_resolve = 60; # two months + my @to_remove; + while (<$rr_dir/*/preimage>) { + my ($dir) = /^(.*)\/preimage$/; + my $cutoff = ((-f "$dir/postimage") + ? $cutoff_resolve + : $cutoff_noresolve); + my $age = -M "$_"; + if ($cutoff <= $age) { + push @to_remove, $dir; + } + } + if (@to_remove) { + rmtree(\@to_remove); + } +} + +-d "$rr_dir" || exit(0); + +read_rr(); + +if (@ARGV) { + my $arg = shift @ARGV; + if ($arg eq 'clear') { + for my $path (keys %merge_rr) { + my $name = $merge_rr{$path}; + if (-d "$rr_dir/$name" && + ! -f "$rr_dir/$name/postimage") { + rmtree(["$rr_dir/$name"]); + } + } + unlink $merge_rr; + } + elsif ($arg eq 'status') { + for my $path (keys %merge_rr) { + print $path, "\n"; + } + } + elsif ($arg eq 'diff') { + for my $path (keys %merge_rr) { + my $name = $merge_rr{$path}; + system('diff', ((@ARGV == 0) ? ('-u') : @ARGV), + '-L', "a/$path", '-L', "b/$path", + "$rr_dir/$name/preimage", $path); + } + } + elsif ($arg eq 'gc') { + garbage_collect_rerere(@ARGV); + } + else { + die "$0 unknown command: $arg\n"; + } + exit 0; +} + +my %conflict = map { $_ => 1 } find_conflict(); + +# MERGE_RR records paths with conflicts immediately after merge +# failed. Some of the conflicted paths might have been hand resolved +# in the working tree since then, but the initial run would catch all +# and register their preimages. + +for my $path (keys %conflict) { + # This path has conflict. If it is not recorded yet, + # record the pre-image. + if (!exists $merge_rr{$path}) { + my ($name, $hunk) = compute_conflict_name($path); + next unless ($hunk); + $merge_rr{$path} = $name; + if (! -d "$rr_dir/$name") { + mkpath("$rr_dir/$name", 0, 0777); + print STDERR "Recorded preimage for '$path'\n"; + record_preimage($path, "$rr_dir/$name/preimage"); + } + } +} + +# Now some of the paths that had conflicts earlier might have been +# hand resolved. Others may be similar to a conflict already that +# was resolved before. + +for my $path (keys %merge_rr) { + my $name = $merge_rr{$path}; + + # We could resolve this automatically if we have images. + if (-f "$rr_dir/$name/preimage" && + -f "$rr_dir/$name/postimage") { + if (merge($name, $path)) { + print STDERR "Resolved '$path' using previous resolution.\n"; + # Then we do not have to worry about this path + # anymore. + delete $merge_rr{$path}; + next; + } + } + + # Let's see if we have resolved it. + (undef, my $hunk) = compute_conflict_name($path); + next if ($hunk); + + print STDERR "Recorded resolution for '$path'.\n"; + copy($path, "$rr_dir/$name/postimage"); + # And we do not have to worry about this path anymore. + delete $merge_rr{$path}; +} + +# Write out the rest. +write_rr(); From 7092882c84269af287646294a151551c59170a64 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sat, 15 Mar 2008 23:59:29 -0700 Subject: [PATCH 76/76] Update draft release notes for 1.5.5 Signed-off-by: Junio C Hamano --- Documentation/RelNotes-1.5.5.txt | 51 ++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/Documentation/RelNotes-1.5.5.txt b/Documentation/RelNotes-1.5.5.txt index 874dad9a4f..e31ae6a293 100644 --- a/Documentation/RelNotes-1.5.5.txt +++ b/Documentation/RelNotes-1.5.5.txt @@ -6,7 +6,16 @@ Updates since v1.5.4 (subsystems) - * Comes with git-gui 0.9.3 + * Comes with git-gui 0.9.3. + +(portability) + + * We shouldn't ask for BSD group ownership semantics by setting g+s bit + on directories on older BSD systems that refuses chmod() by non root + users. BSD semantics is the default there anyway. + + * Bunch of portability improvement patches coming from an effort to port + to Solaris has been applied. (performance) @@ -27,6 +36,9 @@ Updates since v1.5.4 (usability, bells and whistles) + * Bash completion script (in contrib) are aware of more commands and + options. + * You can be warned when core.autocrlf conversion is applied in such a way that results in an irreversible conversion. @@ -54,11 +66,6 @@ Updates since v1.5.4 used to tell "git-fetch" and "git-push" to use different URL than what is given from the command line. - * "git push HEAD" and "git push +HEAD" works as - expected; they push the current branch (and only the current branch). - In addition, HEAD can be written as the value of "remote..push" - configuration variable. - * "git add -i" behaves better even before you make an initial commit. * "git am" refused to run from a subdirectory without a good reason. @@ -114,24 +121,46 @@ Updates since v1.5.4 * "git gc" learned --quiet option. + * "git gc" now automatically prunes unreachable objects that are two + weeks old or older. + * "git grep" now knows "--name-only" is a synonym for the "-l" option. * "git help " now reports "'git ' is alias to ", instead of saying "No manual entry for git-". + * "git help" can use different backends to show manual pages and this can + be configured using "man.viewer" configuration. + + * "gitk" does not restore window position from $HOME/.gitk anymore (it + still restores the size). + * "git log --grep=" learned "--fixed-strings" option to look for without treating it as a regular expression. * "git gui" learned an auto-spell checking. + * "git push HEAD" and "git push +HEAD" works as + expected; they push the current branch (and only the current branch). + In addition, HEAD can be written as the value of "remote..push" + configuration variable. + + * When the configuration variable "pack.threads" is set to 0, "git + repack" auto detects the number of CPUs and uses that many threads. + * "git send-email" learned to prompt for passwords interactively. * "git send-email" learned an easier way to suppress CC recipients. - * When the configuration variable "pack.threads" is set to 0, "git - repack" auto detects the number of CPUs and uses that many threads. + * "git stash" learned "pop" command, that applies the latest stash and + removes it from the stash, and "drop" command to discard the named + stash entry. + + * "git submodule" learned a new subcommand "summary" to show the + symmetric difference between the HEAD version and the work tree version + of the submodule commits. * Various "git cvsimport", "git cvsexportcommit", "git svn" and "git p4" improvements. @@ -146,6 +175,8 @@ Updates since v1.5.4 * "git checkout" is rewritten in C. + * "git remote" is rewritten in C. + * Two conflict hunks that are separated by a very short span of common lines are now coalesced into one larger hunk, to make the result easier to read. @@ -153,6 +184,8 @@ Updates since v1.5.4 * Run-command API's use of file descriptors is documented clearer and is more consistent now. + * diff output can be sent to FILE * that is different from stdout. This + will help reimplementing more things in C. Fixes since v1.5.4 ------------------ @@ -168,6 +201,6 @@ this release, unless otherwise noted. --- exec >/var/tmp/1 -O=v1.5.4.3-428-g6b48990 +O=v1.5.4.4-620-gc817faa echo O=`git describe refs/heads/master` git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint