summaryrefslogtreecommitdiff
path: root/gitk-git
diff options
context:
space:
mode:
Diffstat (limited to 'gitk-git')
-rw-r--r--gitk-git/.gitignore2
-rw-r--r--gitk-git/Makefile16
-rwxr-xr-xgitk-git/gitk869
-rw-r--r--gitk-git/po/sv.po720
4 files changed, 1053 insertions, 554 deletions
diff --git a/gitk-git/.gitignore b/gitk-git/.gitignore
new file mode 100644
index 0000000000..d7ebcaf366
--- /dev/null
+++ b/gitk-git/.gitignore
@@ -0,0 +1,2 @@
+/GIT-TCLTK-VARS
+/gitk-wish
diff --git a/gitk-git/Makefile b/gitk-git/Makefile
index e1b6045605..5acdc900ab 100644
--- a/gitk-git/Makefile
+++ b/gitk-git/Makefile
@@ -17,6 +17,16 @@ DESTDIR_SQ = $(subst ','\'',$(DESTDIR))
bindir_SQ = $(subst ','\'',$(bindir))
TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH))
+### Detect Tck/Tk interpreter path changes
+TRACK_TCLTK = $(subst ','\'',-DTCLTK_PATH='$(TCLTK_PATH_SQ)')
+
+GIT-TCLTK-VARS: FORCE
+ @VARS='$(TRACK_TCLTK)'; \
+ if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \
+ echo 1>&2 " * new Tcl/Tk interpreter location"; \
+ echo "$$VARS" >$@; \
+ fi
+
## po-file creation rules
XGETTEXT ?= xgettext
ifdef NO_MSGFMT
@@ -49,9 +59,9 @@ uninstall::
$(RM) '$(DESTDIR_SQ)$(bindir_SQ)'/gitk
clean::
- $(RM) gitk-wish po/*.msg
+ $(RM) gitk-wish po/*.msg GIT-TCLTK-VARS
-gitk-wish: gitk
+gitk-wish: gitk GIT-TCLTK-VARS
$(QUIET_GEN)$(RM) $@ $@+ && \
sed -e '1,3s|^exec .* "$$0"|exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' <gitk >$@+ && \
chmod +x $@+ && \
@@ -65,3 +75,5 @@ $(ALL_MSGFILES): %.msg : %.po
@echo Generating catalog $@
$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@)
+.PHONY: all install uninstall clean update-po
+.PHONY: FORCE
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 64ef3c4013..5cd00d80fe 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -14,6 +14,35 @@ proc hasworktree {} {
[exec git rev-parse --is-inside-git-dir] == "false"}]
}
+proc reponame {} {
+ global gitdir
+ set n [file normalize $gitdir]
+ if {[string match "*/.git" $n]} {
+ set n [string range $n 0 end-5]
+ }
+ return [file tail $n]
+}
+
+proc gitworktree {} {
+ variable _gitworktree
+ if {[info exists _gitworktree]} {
+ return $_gitworktree
+ }
+ # v1.7.0 introduced --show-toplevel to return the canonical work-tree
+ if {[catch {set _gitworktree [exec git rev-parse --show-toplevel]}]} {
+ # try to set work tree from environment, core.worktree or use
+ # cdup to obtain a relative path to the top of the worktree. If
+ # run from the top, the ./ prefix ensures normalize expands pwd.
+ if {[catch { set _gitworktree $env(GIT_WORK_TREE) }]} {
+ catch {set _gitworktree [exec git config --get core.worktree]}
+ if {$_gitworktree eq ""} {
+ set _gitworktree [file normalize ./[exec git rev-parse --show-cdup]]
+ }
+ }
+ }
+ return $_gitworktree
+}
+
# A simple scheduler for compute-intensive stuff.
# The aim is to make sure that event handlers for GUI actions can
# run at least every 50-100 ms. Unfortunately fileevent handlers are
@@ -612,12 +641,16 @@ proc varcinit {view} {
proc resetvarcs {view} {
global varcid varccommits parents children vseedcount ordertok
+ global vshortids
foreach vid [array names varcid $view,*] {
unset varcid($vid)
unset children($vid)
unset parents($vid)
}
+ foreach vid [array names vshortids $view,*] {
+ unset vshortids($vid)
+ }
# some commits might have children but haven't been seen yet
foreach vid [array names children $view,*] {
unset children($vid)
@@ -904,7 +937,7 @@ proc fix_reversal {p a v} {
proc insertrow {id p v} {
global cmitlisted children parents varcid varctok vtokmod
global varccommits ordertok commitidx numcommits curview
- global targetid targetrow
+ global targetid targetrow vshortids
readcommit $id
set vid $v,$id
@@ -913,6 +946,7 @@ proc insertrow {id p v} {
set parents($vid) [list $p]
set a [newvarc $v $id]
set varcid($vid) $a
+ lappend vshortids($v,[string range $id 0 3]) $id
if {[string compare [lindex $varctok($v) $a] $vtokmod($v)] < 0} {
modify_arc $v $a
}
@@ -1368,7 +1402,7 @@ proc getcommitlines {fd inst view updating} {
global commitidx commitdata vdatemode
global parents children curview hlview
global idpending ordertok
- global varccommits varcid varctok vtokmod vfilelimit
+ global varccommits varcid varctok vtokmod vfilelimit vshortids
set stuff [read $fd 500000]
# git log doesn't terminate the last commit with a null...
@@ -1468,6 +1502,8 @@ proc getcommitlines {fd inst view updating} {
set id [lindex $ids 0]
set vid $view,$id
+ lappend vshortids($view,[string range $id 0 3]) $id
+
if {!$listed && $updating && ![info exists varcid($vid)] &&
$vfilelimit($view) ne {}} {
# git log doesn't rewrite parents for unlisted commits
@@ -1690,11 +1726,26 @@ proc getcommit {id} {
# and are present in the current view.
# This is fairly slow...
proc longid {prefix} {
- global varcid curview
+ global varcid curview vshortids
set ids {}
- foreach match [array names varcid "$curview,$prefix*"] {
- lappend ids [lindex [split $match ","] 1]
+ if {[string length $prefix] >= 4} {
+ set vshortid $curview,[string range $prefix 0 3]
+ if {[info exists vshortids($vshortid)]} {
+ foreach id $vshortids($vshortid) {
+ if {[string match "$prefix*" $id]} {
+ if {[lsearch -exact $ids $id] < 0} {
+ lappend ids $id
+ if {[llength $ids] >= 2} break
+ }
+ }
+ }
+ }
+ } else {
+ foreach match [array names varcid "$curview,$prefix*"] {
+ lappend ids [lindex [split $match ","] 1]
+ if {[llength $ids] >= 2} break
+ }
}
return $ids
}
@@ -1947,6 +1998,9 @@ proc mca {str} {
return [string map {&& & & {}} [mc $str]]
}
+proc cleardropsel {w} {
+ $w selection clear
+}
proc makedroplist {w varname args} {
global use_ttk
if {$use_ttk} {
@@ -1956,7 +2010,9 @@ proc makedroplist {w varname args} {
if {$cx > $width} {set width $cx}
}
set gm [ttk::combobox $w -width $width -state readonly\
- -textvariable $varname -values $args]
+ -textvariable $varname -values $args \
+ -exportselection false]
+ bind $gm <<ComboboxSelected>> [list $gm selection clear]
} else {
set gm [eval [linsert $args 0 tk_optionMenu $w $varname]]
}
@@ -1975,6 +2031,9 @@ proc makewindow {} {
global highlight_files gdttype
global searchstring sstring
global bgcolor fgcolor bglist fglist diffcolors selectbgcolor
+ global uifgcolor uifgdisabledcolor
+ global filesepbgcolor filesepfgcolor
+ global mergecolors foundbgcolor currentsearchhitbgcolor
global headctxmenu progresscanv progressitem progresscoords statusw
global fprogitem fprogcoord lastprogupdate progupdatepending
global rprogitem rprogcoord rownumsel numcommits
@@ -1987,7 +2046,7 @@ proc makewindow {} {
set file {
mc "File" cascade {
{mc "Update" command updatecommits -accelerator F5}
- {mc "Reload" command reloadcommits -accelerator Meta1-F5}
+ {mc "Reload" command reloadcommits -accelerator Shift-F5}
{mc "Reread references" command rereadrefs}
{mc "List references" command showrefs -accelerator F2}
{xx "" separator}
@@ -2110,7 +2169,7 @@ proc makewindow {} {
trace add variable sha1string write sha1change
pack $sha1entry -side left -pady 2
- image create bitmap bm-left -data {
+ set bm_left_data {
#define left_width 16
#define left_height 16
static unsigned char left_bits[] = {
@@ -2118,7 +2177,7 @@ proc makewindow {} {
0x0e, 0x00, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x0e, 0x00, 0x1c, 0x00,
0x38, 0x00, 0x70, 0x00, 0xe0, 0x00, 0xc0, 0x01};
}
- image create bitmap bm-right -data {
+ set bm_right_data {
#define right_width 16
#define right_height 16
static unsigned char right_bits[] = {
@@ -2126,11 +2185,24 @@ proc makewindow {} {
0x00, 0x38, 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0x00, 0x38, 0x00, 0x1c,
0x00, 0x0e, 0x00, 0x07, 0x80, 0x03, 0xc0, 0x01};
}
- ${NS}::button .tf.bar.leftbut -image bm-left -command goback \
- -state disabled -width 26
+ image create bitmap bm-left -data $bm_left_data -foreground $uifgcolor
+ image create bitmap bm-left-gray -data $bm_left_data -foreground $uifgdisabledcolor
+ image create bitmap bm-right -data $bm_right_data -foreground $uifgcolor
+ image create bitmap bm-right-gray -data $bm_right_data -foreground $uifgdisabledcolor
+
+ ${NS}::button .tf.bar.leftbut -command goback -state disabled -width 26
+ if {$use_ttk} {
+ .tf.bar.leftbut configure -image [list bm-left disabled bm-left-gray]
+ } else {
+ .tf.bar.leftbut configure -image bm-left
+ }
pack .tf.bar.leftbut -side left -fill y
- ${NS}::button .tf.bar.rightbut -image bm-right -command goforw \
- -state disabled -width 26
+ ${NS}::button .tf.bar.rightbut -command goforw -state disabled -width 26
+ if {$use_ttk} {
+ .tf.bar.rightbut configure -image [list bm-right disabled bm-right-gray]
+ } else {
+ .tf.bar.rightbut configure -image bm-right
+ }
pack .tf.bar.rightbut -side left -fill y
${NS}::label .tf.bar.rowlabel -text [mc "Row"]
@@ -2181,7 +2253,8 @@ proc makewindow {} {
set gm [makedroplist .tf.lbar.gdttype gdttype \
[mc "containing:"] \
[mc "touching paths:"] \
- [mc "adding/removing string:"]]
+ [mc "adding/removing string:"] \
+ [mc "changing lines matching:"]]
trace add variable gdttype write gdttype_change
pack .tf.lbar.gdttype -side left -fill y
@@ -2285,31 +2358,33 @@ proc makewindow {} {
lappend fglist $ctext
$ctext tag conf comment -wrap $wrapcomment
- $ctext tag conf filesep -font textfontbold -back "#aaaaaa"
+ $ctext tag conf filesep -font textfontbold -fore $filesepfgcolor -back $filesepbgcolor
$ctext tag conf hunksep -fore [lindex $diffcolors 2]
$ctext tag conf d0 -fore [lindex $diffcolors 0]
$ctext tag conf dresult -fore [lindex $diffcolors 1]
- $ctext tag conf m0 -fore red
- $ctext tag conf m1 -fore blue
- $ctext tag conf m2 -fore green
- $ctext tag conf m3 -fore purple
- $ctext tag conf m4 -fore brown
- $ctext tag conf m5 -fore "#009090"
- $ctext tag conf m6 -fore magenta
- $ctext tag conf m7 -fore "#808000"
- $ctext tag conf m8 -fore "#009000"
- $ctext tag conf m9 -fore "#ff0080"
- $ctext tag conf m10 -fore cyan
- $ctext tag conf m11 -fore "#b07070"
- $ctext tag conf m12 -fore "#70b0f0"
- $ctext tag conf m13 -fore "#70f0b0"
- $ctext tag conf m14 -fore "#f0b070"
- $ctext tag conf m15 -fore "#ff70b0"
+ $ctext tag conf m0 -fore [lindex $mergecolors 0]
+ $ctext tag conf m1 -fore [lindex $mergecolors 1]
+ $ctext tag conf m2 -fore [lindex $mergecolors 2]
+ $ctext tag conf m3 -fore [lindex $mergecolors 3]
+ $ctext tag conf m4 -fore [lindex $mergecolors 4]
+ $ctext tag conf m5 -fore [lindex $mergecolors 5]
+ $ctext tag conf m6 -fore [lindex $mergecolors 6]
+ $ctext tag conf m7 -fore [lindex $mergecolors 7]
+ $ctext tag conf m8 -fore [lindex $mergecolors 8]
+ $ctext tag conf m9 -fore [lindex $mergecolors 9]
+ $ctext tag conf m10 -fore [lindex $mergecolors 10]
+ $ctext tag conf m11 -fore [lindex $mergecolors 11]
+ $ctext tag conf m12 -fore [lindex $mergecolors 12]
+ $ctext tag conf m13 -fore [lindex $mergecolors 13]
+ $ctext tag conf m14 -fore [lindex $mergecolors 14]
+ $ctext tag conf m15 -fore [lindex $mergecolors 15]
$ctext tag conf mmax -fore darkgrey
set mergemax 16
$ctext tag conf mresult -font textfontbold
$ctext tag conf msep -font textfontbold
- $ctext tag conf found -back yellow
+ $ctext tag conf found -back $foundbgcolor
+ $ctext tag conf currentsearchhit -back $currentsearchhitbgcolor
+ $ctext tag conf wwrap -wrap word
.pwbottom add .bleft
if {!$use_ttk} {
@@ -2444,10 +2519,9 @@ proc makewindow {} {
bindkey ? {dofind -1 1}
bindkey f nextfile
bind . <F5> updatecommits
- bind . <$M1B-F5> reloadcommits
+ bindmodfunctionkey Shift 5 reloadcommits
bind . <F2> showrefs
- bind . <Shift-F4> {newview 0}
- catch { bind . <Shift-Key-XF86_Switch_VT_4> {newview 0} }
+ bindmodfunctionkey Shift 4 {newview 0}
bind . <F4> edit_or_newview
bind . <$M1B-q> doquit
bind . <$M1B-f> {dofind 1 1}
@@ -2472,6 +2546,7 @@ proc makewindow {} {
bind $cflist $ctxbut {pop_flist_menu %W %X %Y %x %y}
bind $ctext $ctxbut {pop_diff_menu %W %X %Y %x %y}
bind $ctext <Button-1> {focus %W}
+ bind $ctext <<Selection>> rehighlight_search_results
set maincursor [. cget -cursor]
set textcursor [$ctext cget -cursor]
@@ -2491,6 +2566,9 @@ proc makewindow {} {
{mc "Return to mark" command gotomark}
{mc "Find descendant of this and mark" command find_common_desc}
{mc "Compare with marked commit" command compare_commits}
+ {mc "Diff this -> marked commit" command {diffvsmark 0}}
+ {mc "Diff marked commit -> this" command {diffvsmark 1}}
+ {mc "Revert this commit" command revert}
}
$rowctxmenu configure -tearoff 0
@@ -2499,6 +2577,8 @@ proc makewindow {} {
{mc "Diff this -> selected" command {diffvssel 0}}
{mc "Diff selected -> this" command {diffvssel 1}}
{mc "Make patch" command mkpatch}
+ {mc "Diff this -> marked commit" command {diffvsmark 0}}
+ {mc "Diff marked commit -> this" command {diffvsmark 1}}
}
$fakerowmenu configure -tearoff 0
@@ -2591,6 +2671,11 @@ proc bindkey {ev script} {
}
}
+proc bindmodfunctionkey {mod n script} {
+ bind . <$mod-F$n> $script
+ catch { bind . <$mod-XF86_Switch_VT_$n> $script }
+}
+
# set the focus back to the toplevel for any click outside
# the entry widgets
proc click {w} {
@@ -2646,8 +2731,16 @@ proc savestuff {w} {
global viewname viewfiles viewargs viewargscmd viewperm nextviewnum
global cmitmode wrapcomment datetimeformat limitdiffs
global colors uicolor bgcolor fgcolor diffcolors diffcontext selectbgcolor
+ global uifgcolor uifgdisabledcolor
+ global headbgcolor headfgcolor headoutlinecolor remotebgcolor
+ global tagbgcolor tagfgcolor tagoutlinecolor
+ global reflinecolor filesepbgcolor filesepfgcolor
+ global mergecolors foundbgcolor currentsearchhitbgcolor
+ global linehoverbgcolor linehoverfgcolor linehoveroutlinecolor circlecolors
+ global mainheadcirclecolor workingfilescirclecolor indexcirclecolor
+ global linkfgcolor circleoutlinecolor
global autoselect autosellen extdifftool perfile_attrs markbgcolor use_ttk
- global hideremotes want_ttk
+ global hideremotes want_ttk maxrefs
if {$stuffsaved} return
if {![winfo viewable .]} return
@@ -2669,6 +2762,7 @@ proc savestuff {w} {
puts $f [list set autoselect $autoselect]
puts $f [list set autosellen $autosellen]
puts $f [list set showneartags $showneartags]
+ puts $f [list set maxrefs $maxrefs]
puts $f [list set hideremotes $hideremotes]
puts $f [list set showlocalchanges $showlocalchanges]
puts $f [list set datetimeformat $datetimeformat]
@@ -2677,13 +2771,37 @@ proc savestuff {w} {
puts $f [list set want_ttk $want_ttk]
puts $f [list set bgcolor $bgcolor]
puts $f [list set fgcolor $fgcolor]
+ puts $f [list set uifgcolor $uifgcolor]
+ puts $f [list set uifgdisabledcolor $uifgdisabledcolor]
puts $f [list set colors $colors]
puts $f [list set diffcolors $diffcolors]
+ puts $f [list set mergecolors $mergecolors]
puts $f [list set markbgcolor $markbgcolor]
puts $f [list set diffcontext $diffcontext]
puts $f [list set selectbgcolor $selectbgcolor]
+ puts $f [list set foundbgcolor $foundbgcolor]
+ puts $f [list set currentsearchhitbgcolor $currentsearchhitbgcolor]
puts $f [list set extdifftool $extdifftool]
puts $f [list set perfile_attrs $perfile_attrs]
+ puts $f [list set headbgcolor $headbgcolor]
+ puts $f [list set headfgcolor $headfgcolor]
+ puts $f [list set headoutlinecolor $headoutlinecolor]
+ puts $f [list set remotebgcolor $remotebgcolor]
+ puts $f [list set tagbgcolor $tagbgcolor]
+ puts $f [list set tagfgcolor $tagfgcolor]
+ puts $f [list set tagoutlinecolor $tagoutlinecolor]
+ puts $f [list set reflinecolor $reflinecolor]
+ puts $f [list set filesepbgcolor $filesepbgcolor]
+ puts $f [list set filesepfgcolor $filesepfgcolor]
+ puts $f [list set linehoverbgcolor $linehoverbgcolor]
+ puts $f [list set linehoverfgcolor $linehoverfgcolor]
+ puts $f [list set linehoveroutlinecolor $linehoveroutlinecolor]
+ puts $f [list set mainheadcirclecolor $mainheadcirclecolor]
+ puts $f [list set workingfilescirclecolor $workingfilescirclecolor]
+ puts $f [list set indexcirclecolor $indexcirclecolor]
+ puts $f [list set circlecolors $circlecolors]
+ puts $f [list set linkfgcolor $linkfgcolor]
+ puts $f [list set circleoutlinecolor $circleoutlinecolor]
puts $f "set geometry(main) [wm geometry .]"
puts $f "set geometry(state) [wm state .]"
@@ -3254,6 +3372,7 @@ proc sel_flist {w x y} {
} else {
catch {$ctext yview [lindex $difffilestart [expr {$l - 2}]]}
}
+ suppress_highlighting_file_for_current_scrollpos
}
proc pop_flist_menu {w X Y x y} {
@@ -4540,6 +4659,8 @@ proc do_file_hl {serial} {
set gdtargs [concat -- $relative_paths]
} elseif {$gdttype eq [mc "adding/removing string:"]} {
set gdtargs [list "-S$highlight_files"]
+ } elseif {$gdttype eq [mc "changing lines matching:"]} {
+ set gdtargs [list "-G$highlight_files"]
} else {
# must be "containing:", i.e. we're searching commit info
return
@@ -4630,8 +4751,9 @@ proc askfindhighlight {row id} {
}
set info $commitinfo($id)
set isbold 0
- set fldtypes [list [mc Headline] [mc Author] [mc Date] [mc Committer] [mc CDate] [mc Comments]]
+ set fldtypes [list [mc Headline] [mc Author] "" [mc Committer] "" [mc Comments]]
foreach f $info ty $fldtypes {
+ if {$ty eq ""} continue
if {($findloc eq [mc "All fields"] || $findloc eq $ty) &&
[doesmatch $f]} {
if {$ty eq [mc "Author"]} {
@@ -5847,15 +5969,17 @@ proc drawcmittext {id row col} {
global linehtag linentag linedtag selectedline
global canvxmax boldids boldnameids fgcolor markedid
global mainheadid nullid nullid2 circleitem circlecolors ctxbut
+ global mainheadcirclecolor workingfilescirclecolor indexcirclecolor
+ global circleoutlinecolor
# listed is 0 for boundary, 1 for normal, 2 for negative, 3 for left, 4 for right
set listed $cmitlisted($curview,$id)
if {$id eq $nullid} {
- set ofill red
+ set ofill $workingfilescirclecolor
} elseif {$id eq $nullid2} {
- set ofill green
+ set ofill $indexcirclecolor
} elseif {$id eq $mainheadid} {
- set ofill yellow
+ set ofill $mainheadcirclecolor
} else {
set ofill [lindex $circlecolors $listed]
}
@@ -5865,21 +5989,21 @@ proc drawcmittext {id row col} {
if {$listed <= 2} {
set t [$canv create oval [expr {$x - $orad}] [expr {$y - $orad}] \
[expr {$x + $orad - 1}] [expr {$y + $orad - 1}] \
- -fill $ofill -outline $fgcolor -width 1 -tags circle]
+ -fill $ofill -outline $circleoutlinecolor -width 1 -tags circle]
} elseif {$listed == 3} {
# triangle pointing left for left-side commits
set t [$canv create polygon \
[expr {$x - $orad}] $y \
[expr {$x + $orad - 1}] [expr {$y - $orad}] \
[expr {$x + $orad - 1}] [expr {$y + $orad - 1}] \
- -fill $ofill -outline $fgcolor -width 1 -tags circle]
+ -fill $ofill -outline $circleoutlinecolor -width 1 -tags circle]
} else {
# triangle pointing right for right-side commits
set t [$canv create polygon \
[expr {$x + $orad - 1}] $y \
[expr {$x - $orad}] [expr {$y - $orad}] \
[expr {$x - $orad}] [expr {$y + $orad - 1}] \
- -fill $ofill -outline $fgcolor -width 1 -tags circle]
+ -fill $ofill -outline $circleoutlinecolor -width 1 -tags circle]
}
set circleitem($row) $t
$canv raise $t
@@ -6267,6 +6391,9 @@ proc drawtags {id x xt y1} {
global idtags idheads idotherrefs mainhead
global linespc lthickness
global canv rowtextx curview fgcolor bgcolor ctxbut
+ global headbgcolor headfgcolor headoutlinecolor remotebgcolor
+ global tagbgcolor tagfgcolor tagoutlinecolor
+ global reflinecolor
set marks {}
set ntags 0
@@ -6304,7 +6431,7 @@ proc drawtags {id x xt y1} {
set xt [expr {$xt + $delta + $wid + $lthickness + $linespc}]
}
set t [$canv create line $x $y1 [lindex $xvals end] $y1 \
- -width $lthickness -fill black -tags tag.$id]
+ -width $lthickness -fill $reflinecolor -tags tag.$id]
$canv lower $t
foreach tag $marks x $xvals wid $wvals {
set tag_quoted [string map {% %%} $tag]
@@ -6315,13 +6442,14 @@ proc drawtags {id x xt y1} {
# draw a tag
set t [$canv create polygon $x [expr {$yt + $delta}] $xl $yt \
$xr $yt $xr $yb $xl $yb $x [expr {$yb - $delta}] \
- -width 1 -outline black -fill yellow -tags tag.$id]
+ -width 1 -outline $tagoutlinecolor -fill $tagbgcolor \
+ -tags tag.$id]
$canv bind $t <1> [list showtag $tag_quoted 1]
set rowtextx([rowofcommit $id]) [expr {$xr + $linespc}]
} else {
# draw a head or other ref
if {[incr nheads -1] >= 0} {
- set col green
+ set col $headbgcolor
if {$tag eq $mainhead} {
set font mainfontbold
}
@@ -6337,10 +6465,10 @@ proc drawtags {id x xt y1} {
set yti [expr {$yt + 1}]
set xri [expr {$x + $rwid}]
$canv create polygon $xi $yti $xri $yti $xri $yb $xi $yb \
- -width 0 -fill "#ffddaa" -tags tag.$id
+ -width 0 -fill $remotebgcolor -tags tag.$id
}
}
- set t [$canv create text $xl $y1 -anchor w -text $tag -fill $fgcolor \
+ set t [$canv create text $xl $y1 -anchor w -text $tag -fill $headfgcolor \
-font $font -tags [list tag.$id text]]
if {$ntags >= 0} {
$canv bind $t <1> [list showtag $tag_quoted 1]
@@ -6492,7 +6620,7 @@ proc findmore {} {
if {![info exists find_dirn]} {
return 0
}
- set fldtypes [list [mc "Headline"] [mc "Author"] [mc "Date"] [mc "Committer"] [mc "CDate"] [mc "Comments"]]
+ set fldtypes [list [mc "Headline"] [mc "Author"] "" [mc "Committer"] "" [mc "Comments"]]
set l $findcurline
set moretodo 0
if {$find_dirn > 0} {
@@ -6553,6 +6681,7 @@ proc findmore {} {
}
set info $commitinfo($id)
foreach f $info ty $fldtypes {
+ if {$ty eq ""} continue
if {($findloc eq [mc "All fields"] || $findloc eq $ty) &&
[doesmatch $f]} {
set found 1
@@ -6705,7 +6834,7 @@ proc appendwithlinks {text tags} {
set start [$ctext index "end - 1c"]
$ctext insert end $text $tags
- set links [regexp -indices -all -inline {\m[0-9a-f]{6,40}\M} $text]
+ set links [regexp -indices -all -inline {(?:\m|-g)[0-9a-f]{6,40}\M} $text]
foreach l $links {
set s [lindex $l 0]
set e [lindex $l 1]
@@ -6720,6 +6849,11 @@ proc appendwithlinks {text tags} {
proc setlink {id lk} {
global curview ctext pendinglinks
+ global linkfgcolor
+
+ if {[string range $id 0 1] eq "-g"} {
+ set id [string range $id 2 end]
+ }
set known 0
if {[string length $id] < 40} {
@@ -6733,7 +6867,7 @@ proc setlink {id lk} {
set known [commitinview $id $curview]
}
if {$known} {
- $ctext tag conf $lk -foreground blue -underline 1
+ $ctext tag conf $lk -foreground $linkfgcolor -underline 1
$ctext tag bind $lk <1> [list selbyid $id]
$ctext tag bind $lk <Enter> {linkcursor %W 1}
$ctext tag bind $lk <Leave> {linkcursor %W -1}
@@ -6796,7 +6930,7 @@ proc viewnextline {dir} {
# add a list of tag or branch names at position pos
# returns the number of names inserted
proc appendrefs {pos ids var} {
- global ctext linknum curview $var maxrefs
+ global ctext linknum curview $var maxrefs mainheadid
if {[catch {$ctext index $pos}]} {
return 0
@@ -6809,24 +6943,54 @@ proc appendrefs {pos ids var} {
lappend tags [list $tag $id]
}
}
+
+ set sep {}
+ set tags [lsort -index 0 -decreasing $tags]
+ set nutags 0
+
if {[llength $tags] > $maxrefs} {
- $ctext insert $pos "[mc "many"] ([llength $tags])"
- } else {
- set tags [lsort -index 0 -decreasing $tags]
- set sep {}
- foreach ti $tags {
- set id [lindex $ti 1]
- set lk link$linknum
- incr linknum
- $ctext tag delete $lk
- $ctext insert $pos $sep
- $ctext insert $pos [lindex $ti 0] $lk
- setlink $id $lk
- set sep ", "
+ # If we are displaying heads, and there are too many,
+ # see if there are some important heads to display.
+ # Currently this means "master" and the current head.
+ set itags {}
+ if {$var eq "idheads"} {
+ set utags {}
+ foreach ti $tags {
+ set hname [lindex $ti 0]
+ set id [lindex $ti 1]
+ if {($hname eq "master" || $id eq $mainheadid) &&
+ [llength $itags] < $maxrefs} {
+ lappend itags $ti
+ } else {
+ lappend utags $ti
+ }
+ }
+ set tags $utags
}
+ if {$itags ne {}} {
+ set str [mc "and many more"]
+ set sep " "
+ } else {
+ set str [mc "many"]
+ }
+ $ctext insert $pos "$str ([llength $tags])"
+ set nutags [llength $tags]
+ set tags $itags
+ }
+
+ foreach ti $tags {
+ set id [lindex $ti 1]
+ set lk link$linknum
+ incr linknum
+ $ctext tag delete $lk
+ $ctext insert $pos $sep
+ $ctext insert $pos [lindex $ti 0] $lk
+ setlink $id $lk
+ set sep ", "
}
+ $ctext tag add wwrap "$pos linestart" "$pos lineend"
$ctext conf -state disabled
- return [llength $tags]
+ return [expr {[llength $tags] + $nutags}]
}
# called when we have finished computing the nearby tags
@@ -7393,19 +7557,15 @@ proc startdiff {ids} {
}
}
+# If the filename (name) is under any of the passed filter paths
+# then return true to include the file in the listing.
proc path_filter {filter name} {
+ set worktree [gitworktree]
foreach p $filter {
- set l [string length $p]
- if {[string index $p end] eq "/"} {
- if {[string compare -length $l $p $name] == 0} {
- return 1
- }
- } else {
- if {[string compare -length $l $p $name] == 0 &&
- ([string length $name] == $l ||
- [string index $name $l] eq "/")} {
- return 1
- }
+ set fq_p [file normalize $p]
+ set fq_n [file normalize [file join $worktree $name]]
+ if {[string match [file normalize $fq_p]* $fq_n]} {
+ return 1
}
}
return 0
@@ -7419,7 +7579,7 @@ proc addtocflist {ids} {
}
proc diffcmd {ids flags} {
- global nullid nullid2
+ global log_showroot nullid nullid2
set i [lsearch -exact $ids $nullid]
set j [lsearch -exact $ids $nullid2]
@@ -7453,15 +7613,22 @@ proc diffcmd {ids flags} {
lappend cmd HEAD
}
} else {
+ if {$log_showroot} {
+ lappend flags --root
+ }
set cmd [concat | git diff-tree -r $flags $ids]
}
return $cmd
}
proc gettreediffs {ids} {
- global treediff treepending
+ global treediff treepending limitdiffs vfilelimit curview
- if {[catch {set gdtf [open [diffcmd $ids {--no-commit-id}] r]}]} return
+ set cmd [diffcmd $ids {--no-commit-id}]
+ if {$limitdiffs && $vfilelimit($curview) ne {}} {
+ set cmd [concat $cmd -- $vfilelimit($curview)]
+ }
+ if {[catch {set gdtf [open $cmd r]}]} return
set treepending $ids
set treediff {}
@@ -7505,17 +7672,7 @@ proc gettreediffline {gdtf ids} {
return [expr {$nr >= $max? 2: 1}]
}
close $gdtf
- if {$limitdiffs && $vfilelimit($curview) ne {}} {
- set flist {}
- foreach f $treediff {
- if {[path_filter $vfilelimit($curview) $f]} {
- lappend flist $f
- }
- }
- set treediffs($ids) $flist
- } else {
- set treediffs($ids) $treediff
- }
+ set treediffs($ids) $treediff
unset treepending
if {$cmitmode eq "tree" && [llength $diffids] == 1} {
gettree $diffids
@@ -7887,32 +8044,45 @@ proc changediffdisp {} {
$ctext tag conf dresult -elide [lindex $diffelide 1]
}
-proc highlightfile {loc cline} {
- global ctext cflist cflist_top
+proc highlightfile {cline} {
+ global cflist cflist_top
+
+ if {![info exists cflist_top]} return
- $ctext yview $loc
$cflist tag remove highlight $cflist_top.0 "$cflist_top.0 lineend"
$cflist tag add highlight $cline.0 "$cline.0 lineend"
$cflist see $cline.0
set cflist_top $cline
}
+proc highlightfile_for_scrollpos {topidx} {
+ global cmitmode difffilestart
+
+ if {$cmitmode eq "tree"} return
+ if {![info exists difffilestart]} return
+
+ set top [lindex [split $topidx .] 0]
+ if {$difffilestart eq {} || $top < [lindex $difffilestart 0]} {
+ highlightfile 0
+ } else {
+ highlightfile [expr {[bsearch $difffilestart $top] + 2}]
+ }
+}
+
proc prevfile {} {
global difffilestart ctext cmitmode
if {$cmitmode eq "tree"} return
set prev 0.0
- set prevline 1
set here [$ctext index @0,0]
foreach loc $difffilestart {
if {[$ctext compare $loc >= $here]} {
- highlightfile $prev $prevline
+ $ctext yview $prev
return
}
set prev $loc
- incr prevline
}
- highlightfile $prev $prevline
+ $ctext yview $prev
}
proc nextfile {} {
@@ -7920,11 +8090,9 @@ proc nextfile {} {
if {$cmitmode eq "tree"} return
set here [$ctext index @0,0]
- set line 1
foreach loc $difffilestart {
- incr line
if {[$ctext compare $loc > $here]} {
- highlightfile $loc $line
+ $ctext yview $loc
return
}
}
@@ -7970,7 +8138,6 @@ proc settabs {{firstab {}}} {
proc incrsearch {name ix op} {
global ctext searchstring searchdirn
- $ctext tag remove found 1.0 end
if {[catch {$ctext index anchor}]} {
# no anchor set, use start of selection, or of visible area
set sel [$ctext tag ranges sel]
@@ -7983,12 +8150,17 @@ proc incrsearch {name ix op} {
}
}
if {$searchstring ne {}} {
- set here [$ctext search $searchdirn -- $searchstring anchor]
+ set here [$ctext search -count mlen $searchdirn -- $searchstring anchor]
if {$here ne {}} {
$ctext see $here
+ set mend "$here + $mlen c"
+ $ctext tag remove sel 1.0 end
+ $ctext tag add sel $here $mend
+ suppress_highlighting_file_for_current_scrollpos
+ highlightfile_for_scrollpos $here
}
- searchmarkvisible 1
}
+ rehighlight_search_results
}
proc dosearch {} {
@@ -8011,9 +8183,12 @@ proc dosearch {} {
return
}
$ctext see $match
+ suppress_highlighting_file_for_current_scrollpos
+ highlightfile_for_scrollpos $match
set mend "$match + $mlen c"
$ctext tag add sel $match $mend
$ctext mark unset anchor
+ rehighlight_search_results
}
}
@@ -8037,21 +8212,41 @@ proc dosearchback {} {
return
}
$ctext see $match
+ suppress_highlighting_file_for_current_scrollpos
+ highlightfile_for_scrollpos $match
set mend "$match + $ml c"
$ctext tag add sel $match $mend
$ctext mark unset anchor
+ rehighlight_search_results
+ }
+}
+
+proc rehighlight_search_results {} {
+ global ctext searchstring
+
+ $ctext tag remove found 1.0 end
+ $ctext tag remove currentsearchhit 1.0 end
+
+ if {$searchstring ne {}} {
+ searchmarkvisible 1
}
}
proc searchmark {first last} {
global ctext searchstring
+ set sel [$ctext tag ranges sel]
+
set mend $first.0
while {1} {
set match [$ctext search -count mlen -- $searchstring $mend $last.end]
if {$match eq {}} break
set mend "$match + $mlen c"
- $ctext tag add found $match $mend
+ if {$sel ne {} && [$ctext compare $match == [lindex $sel 0]]} {
+ $ctext tag add currentsearchhit $match $mend
+ } else {
+ $ctext tag add found $match $mend
+ }
}
}
@@ -8077,8 +8272,23 @@ proc searchmarkvisible {doall} {
}
}
+proc suppress_highlighting_file_for_current_scrollpos {} {
+ global ctext suppress_highlighting_file_for_this_scrollpos
+
+ set suppress_highlighting_file_for_this_scrollpos [$ctext index @0,0]
+}
+
proc scrolltext {f0 f1} {
- global searchstring
+ global searchstring cmitmode ctext
+ global suppress_highlighting_file_for_this_scrollpos
+
+ set topidx [$ctext index @0,0]
+ if {![info exists suppress_highlighting_file_for_this_scrollpos]
+ || $topidx ne $suppress_highlighting_file_for_this_scrollpos} {
+ highlightfile_for_scrollpos $topidx
+ }
+
+ catch {unset suppress_highlighting_file_for_this_scrollpos}
.bleft.bottom.sb set $f0 $f1
if {$searchstring ne {}} {
@@ -8294,6 +8504,8 @@ proc lineleave {id} {
proc linehover {} {
global hoverx hovery hoverid hovertimer
global canv linespc lthickness
+ global linehoverbgcolor linehoverfgcolor linehoveroutlinecolor
+
global commitinfo
set text [lindex $commitinfo($hoverid) 0]
@@ -8307,10 +8519,11 @@ proc linehover {} {
set x1 [expr {$x + [font measure mainfont $text] + 2 * $lthickness}]
set y1 [expr {$y + $linespc + 2 * $lthickness}]
set t [$canv create rectangle $x0 $y0 $x1 $y1 \
- -fill \#ffff80 -outline black -width 1 -tags hover]
+ -fill $linehoverbgcolor -outline $linehoveroutlinecolor \
+ -width 1 -tags hover]
$canv raise $t
set t [$canv create text $x $y -anchor nw -text $text -tags hover \
- -font mainfont]
+ -font mainfont -fill $linehoverfgcolor]
$canv raise $t
}
@@ -8442,6 +8655,11 @@ proc rowmenu {x y id} {
} else {
set state normal
}
+ if {[info exists markedid] && $markedid ne $id} {
+ set mstate normal
+ } else {
+ set mstate disabled
+ }
if {$id ne $nullid && $id ne $nullid2} {
set menu $rowctxmenu
if {$mainhead ne {}} {
@@ -8449,21 +8667,17 @@ proc rowmenu {x y id} {
} else {
$menu entryconfigure 7 -label [mc "Detached head: can't reset" $mainhead] -state disabled
}
- if {[info exists markedid] && $markedid ne $id} {
- $menu entryconfigure 9 -state normal
- $menu entryconfigure 10 -state normal
- $menu entryconfigure 11 -state normal
- } else {
- $menu entryconfigure 9 -state disabled
- $menu entryconfigure 10 -state disabled
- $menu entryconfigure 11 -state disabled
- }
+ $menu entryconfigure 9 -state $mstate
+ $menu entryconfigure 10 -state $mstate
+ $menu entryconfigure 11 -state $mstate
} else {
set menu $fakerowmenu
}
$menu entryconfigure [mca "Diff this -> selected"] -state $state
$menu entryconfigure [mca "Diff selected -> this"] -state $state
$menu entryconfigure [mca "Make patch"] -state $state
+ $menu entryconfigure [mca "Diff this -> marked commit"] -state $mstate
+ $menu entryconfigure [mca "Diff marked commit -> this"] -state $mstate
tk_popup $menu $x $y
}
@@ -8667,6 +8881,21 @@ proc diffvssel {dirn} {
doseldiff $oldid $newid
}
+proc diffvsmark {dirn} {
+ global rowmenuid markedid
+
+ if {![info exists markedid]} return
+ if {$dirn} {
+ set oldid $markedid
+ set newid $rowmenuid
+ } else {
+ set oldid $rowmenuid
+ set newid $markedid
+ }
+ addtohistory [list doseldiff $oldid $newid] savectextpos
+ doseldiff $oldid $newid
+}
+
proc doseldiff {oldid newid} {
global ctext
global commitinfo
@@ -8858,12 +9087,13 @@ proc domktag {} {
proc redrawtags {id} {
global canv linehtag idpos currentid curview cmitlisted markedid
global canvxmax iddrawn circleitem mainheadid circlecolors
+ global mainheadcirclecolor
if {![commitinview $id $curview]} return
if {![info exists iddrawn($id)]} return
set row [rowofcommit $id]
if {$id eq $mainheadid} {
- set ofill yellow
+ set ofill $mainheadcirclecolor
} else {
set ofill [lindex $circlecolors $cmitlisted($curview,$id)]
}
@@ -9120,6 +9350,67 @@ proc cherrypick {} {
notbusy cherrypick
}
+proc revert {} {
+ global rowmenuid curview
+ global mainhead mainheadid
+ global gitdir
+
+ set oldhead [exec git rev-parse HEAD]
+ set dheads [descheads $rowmenuid]
+ if { $dheads eq {} || [lsearch -exact $dheads $oldhead] == -1 } {
+ set ok [confirm_popup [mc "Commit %s is not\
+ included in branch %s -- really revert it?" \
+ [string range $rowmenuid 0 7] $mainhead]]
+ if {!$ok} return
+ }
+ nowbusy revert [mc "Reverting"]
+ update
+
+ if [catch {exec git revert --no-edit $rowmenuid} err] {
+ notbusy revert
+ if [regexp {files would be overwritten by merge:(\n(( |\t)+[^\n]+\n)+)}\
+ $err match files] {
+ regsub {\n( |\t)+} $files "\n" files
+ error_popup [mc "Revert failed because of local changes to\
+ the following files:%s Please commit, reset or stash \
+ your changes and try again." $files]
+ } elseif [regexp {error: could not revert} $err] {
+ if [confirm_popup [mc "Revert failed because of merge conflict.\n\
+ Do you wish to run git citool to resolve it?"]] {
+ # Force citool to read MERGE_MSG
+ file delete [file join $gitdir "GITGUI_MSG"]
+ exec_citool {} $rowmenuid
+ }
+ } else { error_popup $err }
+ run updatecommits
+ return
+ }
+
+ set newhead [exec git rev-parse HEAD]
+ if { $newhead eq $oldhead } {
+ notbusy revert
+ error_popup [mc "No changes committed"]
+ return
+ }
+
+ addnewchild $newhead $oldhead
+
+ if [commitinview $oldhead $curview] {
+ # XXX this isn't right if we have a path limit...
+ insertrow $newhead $oldhead $curview
+ if {$mainhead ne {}} {
+ movehead $newhead $mainhead
+ movedhead $newhead $mainhead
+ }
+ set mainheadid $newhead
+ redrawtags $oldhead
+ redrawtags $newhead
+ selbyid $newhead
+ }
+
+ notbusy revert
+}
+
proc resethead {} {
global mainhead rowmenuid confirm_ok resettype NS
@@ -10433,13 +10724,13 @@ proc anctags {id} {
# including id itself if it has a head.
proc descheads {id} {
global arcnos arcstart arcids archeads idheads cached_dheads
- global allparents
+ global allparents arcout
if {![info exists allparents($id)]} {
return {}
}
set aret {}
- if {[llength $arcnos($id)] == 1 && [llength $allparents($id)] == 1} {
+ if {![info exists arcout($id)]} {
# part-way along an arc; check it first
set a [lindex $arcnos($id) 0]
if {$archeads($a) ne {}} {
@@ -10523,7 +10814,7 @@ proc movedhead {hid head} {
}
proc changedrefs {} {
- global cached_dheads cached_dtags cached_atags
+ global cached_dheads cached_dtags cached_atags cached_tagcontent
global arctags archeads arcnos arcout idheads idtags
foreach id [concat [array names idheads] [array names idtags]] {
@@ -10535,6 +10826,7 @@ proc changedrefs {} {
}
}
}
+ catch {unset cached_tagcontent}
catch {unset cached_dtags}
catch {unset cached_atags}
catch {unset cached_dheads}
@@ -10587,7 +10879,7 @@ proc listrefs {id} {
}
proc showtag {tag isnew} {
- global ctext tagcontents tagids linknum tagobjid
+ global ctext cached_tagcontent tagids linknum tagobjid
if {$isnew} {
addtohistory [list showtag $tag 0] savectextpos
@@ -10596,13 +10888,13 @@ proc showtag {tag isnew} {
clear_ctext
settabs 0
set linknum 0
- if {![info exists tagcontents($tag)]} {
+ if {![info exists cached_tagcontent($tag)]} {
catch {
- set tagcontents($tag) [exec git cat-file tag $tag]
+ set cached_tagcontent($tag) [exec git cat-file -p $tag]
}
}
- if {[info exists tagcontents($tag)]} {
- set text $tagcontents($tag)
+ if {[info exists cached_tagcontent($tag)]} {
+ set text $cached_tagcontent($tag)
} else {
set text "[mc "Tag"]: $tag\n[mc "Id"]: $tagids($tag)"
}
@@ -10719,7 +11011,7 @@ proc fontok {} {
if {$fontparam(slant) eq "italic"} {
lappend fontpref($f) "italic"
}
- set w $prefstop.$f
+ set w $prefstop.notebook.fonts.$f
$w conf -text $fontparam(family) -font $fontpref($f)
fontcan
@@ -10773,6 +11065,142 @@ proc chg_fontparam {v sub op} {
font config sample -$sub $fontparam($sub)
}
+# Create a property sheet tab page
+proc create_prefs_page {w} {
+ global NS
+ set parent [join [lrange [split $w .] 0 end-1] .]
+ if {[winfo class $parent] eq "TNotebook"} {
+ ${NS}::frame $w
+ } else {
+ ${NS}::labelframe $w
+ }
+}
+
+proc prefspage_general {notebook} {
+ global NS maxwidth maxgraphpct showneartags showlocalchanges
+ global tabstop limitdiffs autoselect autosellen extdifftool perfile_attrs
+ global hideremotes want_ttk have_ttk maxrefs
+
+ set page [create_prefs_page $notebook.general]
+
+ ${NS}::label $page.ldisp -text [mc "Commit list display options"]
+ grid $page.ldisp - -sticky w -pady 10
+ ${NS}::label $page.spacer -text " "
+ ${NS}::label $page.maxwidthl -text [mc "Maximum graph width (lines)"]
+ spinbox $page.maxwidth -from 0 -to 100 -width 4 -textvariable maxwidth
+ grid $page.spacer $page.maxwidthl $page.maxwidth -sticky w
+ ${NS}::label $page.maxpctl -text [mc "Maximum graph width (% of pane)"]
+ spinbox $page.maxpct -from 1 -to 100 -width 4 -textvariable maxgraphpct
+ grid x $page.maxpctl $page.maxpct -sticky w
+ ${NS}::checkbutton $page.showlocal -text [mc "Show local changes"] \
+ -variable showlocalchanges
+ grid x $page.showlocal -sticky w
+ ${NS}::checkbutton $page.autoselect -text [mc "Auto-select SHA1 (length)"] \
+ -variable autoselect
+ spinbox $page.autosellen -from 1 -to 40 -width 4 -textvariable autosellen
+ grid x $page.autoselect $page.autosellen -sticky w
+ ${NS}::checkbutton $page.hideremotes -text [mc "Hide remote refs"] \
+ -variable hideremotes
+ grid x $page.hideremotes -sticky w
+
+ ${NS}::label $page.ddisp -text [mc "Diff display options"]
+ grid $page.ddisp - -sticky w -pady 10
+ ${NS}::label $page.tabstopl -text [mc "Tab spacing"]
+ spinbox $page.tabstop -from 1 -to 20 -width 4 -textvariable tabstop
+ grid x $page.tabstopl $page.tabstop -sticky w
+ ${NS}::checkbutton $page.ntag -text [mc "Display nearby tags/heads"] \
+ -variable showneartags
+ grid x $page.ntag -sticky w
+ ${NS}::label $page.maxrefsl -text [mc "Maximum # tags/heads to show"]
+ spinbox $page.maxrefs -from 1 -to 1000 -width 4 -textvariable maxrefs
+ grid x $page.maxrefsl $page.maxrefs -sticky w
+ ${NS}::checkbutton $page.ldiff -text [mc "Limit diffs to listed paths"] \
+ -variable limitdiffs
+ grid x $page.ldiff -sticky w
+ ${NS}::checkbutton $page.lattr -text [mc "Support per-file encodings"] \
+ -variable perfile_attrs
+ grid x $page.lattr -sticky w
+
+ ${NS}::entry $page.extdifft -textvariable extdifftool
+ ${NS}::frame $page.extdifff
+ ${NS}::label $page.extdifff.l -text [mc "External diff tool" ]
+ ${NS}::button $page.extdifff.b -text [mc "Choose..."] -command choose_extdiff
+ pack $page.extdifff.l $page.extdifff.b -side left
+ pack configure $page.extdifff.l -padx 10
+ grid x $page.extdifff $page.extdifft -sticky ew
+
+ ${NS}::label $page.lgen -text [mc "General options"]
+ grid $page.lgen - -sticky w -pady 10
+ ${NS}::checkbutton $page.want_ttk -variable want_ttk \
+ -text [mc "Use themed widgets"]
+ if {$have_ttk} {
+ ${NS}::label $page.ttk_note -text [mc "(change requires restart)"]
+ } else {
+ ${NS}::label $page.ttk_note -text [mc "(currently unavailable)"]
+ }
+ grid x $page.want_ttk $page.ttk_note -sticky w
+ return $page
+}
+
+proc prefspage_colors {notebook} {
+ global NS uicolor bgcolor fgcolor ctext diffcolors selectbgcolor markbgcolor
+
+ set page [create_prefs_page $notebook.colors]
+
+ ${NS}::label $page.cdisp -text [mc "Colors: press to choose"]
+ grid $page.cdisp - -sticky w -pady 10
+ label $page.ui -padx 40 -relief sunk -background $uicolor
+ ${NS}::button $page.uibut -text [mc "Interface"] \
+ -command [list choosecolor uicolor {} $page.ui [mc "interface"] setui]
+ grid x $page.uibut $page.ui -sticky w
+ label $page.bg -padx 40 -relief sunk -background $bgcolor
+ ${NS}::button $page.bgbut -text [mc "Background"] \
+ -command [list choosecolor bgcolor {} $page.bg [mc "background"] setbg]
+ grid x $page.bgbut $page.bg -sticky w
+ label $page.fg -padx 40 -relief sunk -background $fgcolor
+ ${NS}::button $page.fgbut -text [mc "Foreground"] \
+ -command [list choosecolor fgcolor {} $page.fg [mc "foreground"] setfg]
+ grid x $page.fgbut $page.fg -sticky w
+ label $page.diffold -padx 40 -relief sunk -background [lindex $diffcolors 0]
+ ${NS}::button $page.diffoldbut -text [mc "Diff: old lines"] \
+ -command [list choosecolor diffcolors 0 $page.diffold [mc "diff old lines"] \
+ [list $ctext tag conf d0 -foreground]]
+ grid x $page.diffoldbut $page.diffold -sticky w
+ label $page.diffnew -padx 40 -relief sunk -background [lindex $diffcolors 1]
+ ${NS}::button $page.diffnewbut -text [mc "Diff: new lines"] \
+ -command [list choosecolor diffcolors 1 $page.diffnew [mc "diff new lines"] \
+ [list $ctext tag conf dresult -foreground]]
+ grid x $page.diffnewbut $page.diffnew -sticky w
+ label $page.hunksep -padx 40 -relief sunk -background [lindex $diffcolors 2]
+ ${NS}::button $page.hunksepbut -text [mc "Diff: hunk header"] \
+ -command [list choosecolor diffcolors 2 $page.hunksep \
+ [mc "diff hunk header"] \
+ [list $ctext tag conf hunksep -foreground]]
+ grid x $page.hunksepbut $page.hunksep -sticky w
+ label $page.markbgsep -padx 40 -relief sunk -background $markbgcolor
+ ${NS}::button $page.markbgbut -text [mc "Marked line bg"] \
+ -command [list choosecolor markbgcolor {} $page.markbgsep \
+ [mc "marked line background"] \
+ [list $ctext tag conf omark -background]]
+ grid x $page.markbgbut $page.markbgsep -sticky w
+ label $page.selbgsep -padx 40 -relief sunk -background $selectbgcolor
+ ${NS}::button $page.selbgbut -text [mc "Select bg"] \
+ -command [list choosecolor selectbgcolor {} $page.selbgsep [mc "background"] setselbg]
+ grid x $page.selbgbut $page.selbgsep -sticky w
+ return $page
+}
+
+proc prefspage_fonts {notebook} {
+ global NS
+ set page [create_prefs_page $notebook.fonts]
+ ${NS}::label $page.cfont -text [mc "Fonts: press to choose"]
+ grid $page.cfont - -sticky w -pady 10
+ mkfontdisp mainfont $page [mc "Main font"]
+ mkfontdisp textfont $page [mc "Diff display font"]
+ mkfontdisp uifont $page [mc "User interface font"]
+ return $page
+}
+
proc doprefs {} {
global maxwidth maxgraphpct use_ttk NS
global oldprefs prefstop showneartags showlocalchanges
@@ -10793,106 +11221,38 @@ proc doprefs {} {
ttk_toplevel $top
wm title $top [mc "Gitk preferences"]
make_transient $top .
- ${NS}::label $top.ldisp -text [mc "Commit list display options"]
- grid $top.ldisp - -sticky w -pady 10
- ${NS}::label $top.spacer -text " "
- ${NS}::label $top.maxwidthl -text [mc "Maximum graph width (lines)"]
- spinbox $top.maxwidth -from 0 -to 100 -width 4 -textvariable maxwidth
- grid $top.spacer $top.maxwidthl $top.maxwidth -sticky w
- ${NS}::label $top.maxpctl -text [mc "Maximum graph width (% of pane)"]
- spinbox $top.maxpct -from 1 -to 100 -width 4 -textvariable maxgraphpct
- grid x $top.maxpctl $top.maxpct -sticky w
- ${NS}::checkbutton $top.showlocal -text [mc "Show local changes"] \
- -variable showlocalchanges
- grid x $top.showlocal -sticky w
- ${NS}::checkbutton $top.autoselect -text [mc "Auto-select SHA1 (length)"] \
- -variable autoselect
- spinbox $top.autosellen -from 1 -to 40 -width 4 -textvariable autosellen
- grid x $top.autoselect $top.autosellen -sticky w
- ${NS}::checkbutton $top.hideremotes -text [mc "Hide remote refs"] \
- -variable hideremotes
- grid x $top.hideremotes -sticky w
-
- ${NS}::label $top.ddisp -text [mc "Diff display options"]
- grid $top.ddisp - -sticky w -pady 10
- ${NS}::label $top.tabstopl -text [mc "Tab spacing"]
- spinbox $top.tabstop -from 1 -to 20 -width 4 -textvariable tabstop
- grid x $top.tabstopl $top.tabstop -sticky w
- ${NS}::checkbutton $top.ntag -text [mc "Display nearby tags"] \
- -variable showneartags
- grid x $top.ntag -sticky w
- ${NS}::checkbutton $top.ldiff -text [mc "Limit diffs to listed paths"] \
- -variable limitdiffs
- grid x $top.ldiff -sticky w
- ${NS}::checkbutton $top.lattr -text [mc "Support per-file encodings"] \
- -variable perfile_attrs
- grid x $top.lattr -sticky w
-
- ${NS}::entry $top.extdifft -textvariable extdifftool
- ${NS}::frame $top.extdifff
- ${NS}::label $top.extdifff.l -text [mc "External diff tool" ]
- ${NS}::button $top.extdifff.b -text [mc "Choose..."] -command choose_extdiff
- pack $top.extdifff.l $top.extdifff.b -side left
- pack configure $top.extdifff.l -padx 10
- grid x $top.extdifff $top.extdifft -sticky ew
-
- ${NS}::label $top.lgen -text [mc "General options"]
- grid $top.lgen - -sticky w -pady 10
- ${NS}::checkbutton $top.want_ttk -variable want_ttk \
- -text [mc "Use themed widgets"]
- if {$have_ttk} {
- ${NS}::label $top.ttk_note -text [mc "(change requires restart)"]
+
+ if {[set use_notebook [expr {$use_ttk && [info command ::ttk::notebook] ne ""}]]} {
+ set notebook [ttk::notebook $top.notebook]
} else {
- ${NS}::label $top.ttk_note -text [mc "(currently unavailable)"]
- }
- grid x $top.want_ttk $top.ttk_note -sticky w
-
- ${NS}::label $top.cdisp -text [mc "Colors: press to choose"]
- grid $top.cdisp - -sticky w -pady 10
- label $top.ui -padx 40 -relief sunk -background $uicolor
- ${NS}::button $top.uibut -text [mc "Interface"] \
- -command [list choosecolor uicolor {} $top.ui [mc "interface"] setui]
- grid x $top.uibut $top.ui -sticky w
- label $top.bg -padx 40 -relief sunk -background $bgcolor
- ${NS}::button $top.bgbut -text [mc "Background"] \
- -command [list choosecolor bgcolor {} $top.bg [mc "background"] setbg]
- grid x $top.bgbut $top.bg -sticky w
- label $top.fg -padx 40 -relief sunk -background $fgcolor
- ${NS}::button $top.fgbut -text [mc "Foreground"] \
- -command [list choosecolor fgcolor {} $top.fg [mc "foreground"] setfg]
- grid x $top.fgbut $top.fg -sticky w
- label $top.diffold -padx 40 -relief sunk -background [lindex $diffcolors 0]
- ${NS}::button $top.diffoldbut -text [mc "Diff: old lines"] \
- -command [list choosecolor diffcolors 0 $top.diffold [mc "diff old lines"] \
- [list $ctext tag conf d0 -foreground]]
- grid x $top.diffoldbut $top.diffold -sticky w
- label $top.diffnew -padx 40 -relief sunk -background [lindex $diffcolors 1]
- ${NS}::button $top.diffnewbut -text [mc "Diff: new lines"] \
- -command [list choosecolor diffcolors 1 $top.diffnew [mc "diff new lines"] \
- [list $ctext tag conf dresult -foreground]]
- grid x $top.diffnewbut $top.diffnew -sticky w
- label $top.hunksep -padx 40 -relief sunk -background [lindex $diffcolors 2]
- ${NS}::button $top.hunksepbut -text [mc "Diff: hunk header"] \
- -command [list choosecolor diffcolors 2 $top.hunksep \
- [mc "diff hunk header"] \
- [list $ctext tag conf hunksep -foreground]]
- grid x $top.hunksepbut $top.hunksep -sticky w
- label $top.markbgsep -padx 40 -relief sunk -background $markbgcolor
- ${NS}::button $top.markbgbut -text [mc "Marked line bg"] \
- -command [list choosecolor markbgcolor {} $top.markbgsep \
- [mc "marked line background"] \
- [list $ctext tag conf omark -background]]
- grid x $top.markbgbut $top.markbgsep -sticky w
- label $top.selbgsep -padx 40 -relief sunk -background $selectbgcolor
- ${NS}::button $top.selbgbut -text [mc "Select bg"] \
- -command [list choosecolor selectbgcolor {} $top.selbgsep [mc "background"] setselbg]
- grid x $top.selbgbut $top.selbgsep -sticky w
-
- ${NS}::label $top.cfont -text [mc "Fonts: press to choose"]
- grid $top.cfont - -sticky w -pady 10
- mkfontdisp mainfont $top [mc "Main font"]
- mkfontdisp textfont $top [mc "Diff display font"]
- mkfontdisp uifont $top [mc "User interface font"]
+ set notebook [${NS}::frame $top.notebook -borderwidth 0 -relief flat]
+ }
+
+ lappend pages [prefspage_general $notebook] [mc "General"]
+ lappend pages [prefspage_colors $notebook] [mc "Colors"]
+ lappend pages [prefspage_fonts $notebook] [mc "Fonts"]
+ set col 0
+ foreach {page title} $pages {
+ if {$use_notebook} {
+ $notebook add $page -text $title
+ } else {
+ set btn [${NS}::button $notebook.b_[string map {. X} $page] \
+ -text $title -command [list raise $page]]
+ $page configure -text $title
+ grid $btn -row 0 -column [incr col] -sticky w
+ grid $page -row 1 -column 0 -sticky news -columnspan 100
+ }
+ }
+
+ if {!$use_notebook} {
+ grid columnconfigure $notebook 0 -weight 1
+ grid rowconfigure $notebook 1 -weight 1
+ raise [lindex $pages 0]
+ }
+
+ grid $notebook -sticky news -padx 2 -pady 2
+ grid rowconfigure $top 0 -weight 1
+ grid columnconfigure $top 0 -weight 1
${NS}::frame $top.buts
${NS}::button $top.buts.ok -text [mc "OK"] -command prefsok -default active
@@ -10904,7 +11264,7 @@ proc doprefs {} {
grid columnconfigure $top.buts 1 -weight 1 -uniform a
grid $top.buts - - -pady 10 -sticky ew
grid columnconfigure $top 2 -weight 1
- bind $top <Visibility> "focus $top.buts.ok"
+ bind $top <Visibility> [list focus $top.buts.ok]
}
proc choose_extdiff {} {
@@ -11391,6 +11751,20 @@ if {[catch {package require Tk 8.4} err]} {
exit 1
}
+# on OSX bring the current Wish process window to front
+if {[tk windowingsystem] eq "aqua"} {
+ exec osascript -e [format {
+ tell application "System Events"
+ set frontmost of processes whose unix id is %d to true
+ end tell
+ } [pid] ]
+}
+
+# Unset GIT_TRACE var if set
+if { [info exists ::env(GIT_TRACE)] } {
+ unset ::env(GIT_TRACE)
+}
+
# defaults...
set wrcomcmd "git diff-tree --stdin -p --pretty"
@@ -11422,10 +11796,20 @@ catch {
}
}
+set log_showroot true
+catch {
+ set log_showroot [exec git config --bool --get log.showroot]
+}
+
if {[tk windowingsystem] eq "aqua"} {
set mainfont {{Lucida Grande} 9}
set textfont {Monaco 9}
set uifont {{Lucida Grande} 9 bold}
+} elseif {![catch {::tk::pkgconfig get fontsystem} xft] && $xft eq "xft"} {
+ # fontconfig!
+ set mainfont {sans 9}
+ set textfont {monospace 9}
+ set uifont {sans 9 bold}
} else {
set mainfont {Helvetica 9}
set textfont {Courier 9}
@@ -11463,22 +11847,47 @@ if {[tk windowingsystem] eq "aqua"} {
set colors {green red blue magenta darkgrey brown orange}
if {[tk windowingsystem] eq "win32"} {
set uicolor SystemButtonFace
+ set uifgcolor SystemButtonText
+ set uifgdisabledcolor SystemDisabledText
set bgcolor SystemWindow
- set fgcolor SystemButtonText
+ set fgcolor SystemWindowText
set selectbgcolor SystemHighlight
} else {
set uicolor grey85
+ set uifgcolor black
+ set uifgdisabledcolor "#999"
set bgcolor white
set fgcolor black
set selectbgcolor gray85
}
set diffcolors {red "#00a000" blue}
set diffcontext 3
+set mergecolors {red blue green purple brown "#009090" magenta "#808000" "#009000" "#ff0080" cyan "#b07070" "#70b0f0" "#70f0b0" "#f0b070" "#ff70b0"}
set ignorespace 0
set worddiff ""
set markbgcolor "#e0e0ff"
+set headbgcolor green
+set headfgcolor black
+set headoutlinecolor black
+set remotebgcolor #ffddaa
+set tagbgcolor yellow
+set tagfgcolor black
+set tagoutlinecolor black
+set reflinecolor black
+set filesepbgcolor #aaaaaa
+set filesepfgcolor black
+set linehoverbgcolor #ffff80
+set linehoverfgcolor black
+set linehoveroutlinecolor black
+set mainheadcirclecolor yellow
+set workingfilescirclecolor red
+set indexcirclecolor green
set circlecolors {white blue gray blue blue}
+set linkfgcolor blue
+set circleoutlinecolor $fgcolor
+set foundbgcolor yellow
+set currentsearchhitbgcolor orange
# button for popping up context menus
if {[tk windowingsystem] eq "aqua"} {
@@ -11607,6 +12016,8 @@ if {[package vcompare $git_version "1.6.6.2"] >= 0} {
set show_notes "--show-notes"
}
+set appname "gitk"
+
set runq {}
set history {}
set historyindex 0
@@ -11676,7 +12087,7 @@ catch {
}
# wait for the window to become visible
tkwait visibility .
-wm title . "[file tail $argv0]: [file tail [pwd]]"
+wm title . "$appname: [reponame]"
update
readrefs
diff --git a/gitk-git/po/sv.po b/gitk-git/po/sv.po
index 2f07a2e2d9..df95e01b90 100644
--- a/gitk-git/po/sv.po
+++ b/gitk-git/po/sv.po
@@ -1,40 +1,50 @@
# Swedish translation for gitk
-# Copyright (C) 2005-2010 Paul Mackerras
+# Copyright (C) 2005-2013 Paul Mackerras
# This file is distributed under the same license as the gitk package.
#
-# Peter Krefting <peter@softwolves.pp.se>, 2008-2010.
# Mikael Magnusson <mikachu@gmail.com>, 2008.
+# Peter Krefting <peter@softwolves.pp.se>, 2008, 2009, 2010, 2012, 2013.
+#
msgid ""
msgstr ""
"Project-Id-Version: sv\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-09-12 21:14+0100\n"
-"PO-Revision-Date: 2010-09-12 21:16+0100\n"
+"POT-Creation-Date: 2013-05-16 08:06+0100\n"
+"PO-Revision-Date: 2013-05-16 08:12+0100\n"
"Last-Translator: Peter Krefting <peter@softwolves.pp.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit"
+"Content-Transfer-Encoding: 8bit\n"
-#: gitk:115
+#: gitk:140
msgid "Couldn't get list of unmerged files:"
msgstr "Kunde inte hämta lista över ej sammanslagna filer:"
-#: gitk:274
+#: gitk:210 gitk:2334
+msgid "Color words"
+msgstr "Färga ord"
+
+#: gitk:215 gitk:2334 gitk:7977 gitk:8010
+msgid "Markup words"
+msgstr "Märk upp ord"
+
+#: gitk:312
msgid "Error parsing revisions:"
msgstr "Fel vid tolkning av revisioner:"
-#: gitk:330
+#: gitk:368
msgid "Error executing --argscmd command:"
msgstr "Fel vid körning av --argscmd-kommando:"
-#: gitk:343
+#: gitk:381
msgid "No files selected: --merge specified but no files are unmerged."
msgstr ""
"Inga filer valdes: --merge angavs men det finns inga filer som inte har "
"slagits samman."
-#: gitk:346
+#: gitk:384
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
@@ -42,605 +52,625 @@ msgstr ""
"Inga filer valdes: --merge angavs men det finns inga filer inom "
"filbegränsningen."
-#: gitk:368 gitk:516
+#: gitk:406 gitk:554
msgid "Error executing git log:"
msgstr "Fel vid körning av git log:"
-#: gitk:386 gitk:532
+#: gitk:424 gitk:570
msgid "Reading"
msgstr "Läser"
-#: gitk:446 gitk:4271
+#: gitk:484 gitk:4409
msgid "Reading commits..."
msgstr "Läser incheckningar..."
-#: gitk:449 gitk:1580 gitk:4274
+#: gitk:487 gitk:1625 gitk:4412
msgid "No commits selected"
msgstr "Inga incheckningar markerade"
-#: gitk:1456
+#: gitk:1499
msgid "Can't parse git log output:"
msgstr "Kan inte tolka utdata från git log:"
-#: gitk:1676
+#: gitk:1719
msgid "No commit information available"
msgstr "Ingen incheckningsinformation är tillgänglig"
-#: gitk:1818
+#: gitk:1876
msgid "mc"
msgstr "mc"
-#: gitk:1853 gitk:4064 gitk:9067 gitk:10607 gitk:10817
+#: gitk:1911 gitk:4202 gitk:9437 gitk:10979 gitk:11258
msgid "OK"
msgstr "OK"
-#: gitk:1855 gitk:4066 gitk:8657 gitk:8736 gitk:8851 gitk:8900 gitk:9069
-#: gitk:10608 gitk:10818
+#: gitk:1913 gitk:4204 gitk:8964 gitk:9043 gitk:9159 gitk:9208 gitk:9439
+#: gitk:10980 gitk:11259
msgid "Cancel"
msgstr "Avbryt"
-#: gitk:1980
+#: gitk:2048
msgid "Update"
msgstr "Uppdatera"
-#: gitk:1981
+#: gitk:2049
msgid "Reload"
msgstr "Ladda om"
-#: gitk:1982
+#: gitk:2050
msgid "Reread references"
msgstr "Läs om referenser"
-#: gitk:1983
+#: gitk:2051
msgid "List references"
msgstr "Visa referenser"
-#: gitk:1985
+#: gitk:2053
msgid "Start git gui"
msgstr "Starta git gui"
-#: gitk:1987
+#: gitk:2055
msgid "Quit"
msgstr "Avsluta"
-#: gitk:1979
+#: gitk:2047
msgid "File"
msgstr "Arkiv"
-#: gitk:1991
+#: gitk:2059
msgid "Preferences"
msgstr "Inställningar"
-#: gitk:1990
+#: gitk:2058
msgid "Edit"
msgstr "Redigera"
-#: gitk:1995
+#: gitk:2063
msgid "New view..."
msgstr "Ny vy..."
-#: gitk:1996
+#: gitk:2064
msgid "Edit view..."
msgstr "Ändra vy..."
-#: gitk:1997
+#: gitk:2065
msgid "Delete view"
msgstr "Ta bort vy"
-#: gitk:1999
+#: gitk:2067
msgid "All files"
msgstr "Alla filer"
-#: gitk:1994 gitk:3817
+#: gitk:2062 gitk:3955
msgid "View"
msgstr "Visa"
-#: gitk:2004 gitk:2014 gitk:2787
+#: gitk:2072 gitk:2082 gitk:2925
msgid "About gitk"
msgstr "Om gitk"
-#: gitk:2005 gitk:2019
+#: gitk:2073 gitk:2087
msgid "Key bindings"
msgstr "Tangentbordsbindningar"
-#: gitk:2003 gitk:2018
+#: gitk:2071 gitk:2086
msgid "Help"
msgstr "Hjälp"
-#: gitk:2096 gitk:8132
+#: gitk:2164 gitk:8420
msgid "SHA1 ID:"
msgstr "SHA1-id:"
-#: gitk:2127
+#: gitk:2208
msgid "Row"
msgstr "Rad"
-#: gitk:2165
+#: gitk:2246
msgid "Find"
msgstr "Sök"
-#: gitk:2166
+#: gitk:2247
msgid "next"
msgstr "nästa"
-#: gitk:2167
+#: gitk:2248
msgid "prev"
msgstr "föreg"
-#: gitk:2168
+#: gitk:2249
msgid "commit"
msgstr "incheckning"
-#: gitk:2171 gitk:2173 gitk:4432 gitk:4455 gitk:4479 gitk:6420 gitk:6492
-#: gitk:6576
+#: gitk:2252 gitk:2254 gitk:4570 gitk:4593 gitk:4617 gitk:6592 gitk:6664
+#: gitk:6749
msgid "containing:"
msgstr "som innehåller:"
-#: gitk:2174 gitk:3298 gitk:3303 gitk:4507
+#: gitk:2255 gitk:3437 gitk:3442 gitk:4646
msgid "touching paths:"
msgstr "som rör sökväg:"
-#: gitk:2175 gitk:4512
+#: gitk:2256 gitk:4660
msgid "adding/removing string:"
msgstr "som lägger/till tar bort sträng:"
-#: gitk:2184 gitk:2186
+#: gitk:2257 gitk:4662
+msgid "changing lines matching:"
+msgstr "ändrar rader som matchar:"
+
+#: gitk:2266 gitk:2268 gitk:4649
msgid "Exact"
msgstr "Exakt"
-#: gitk:2186 gitk:4587 gitk:6388
+#: gitk:2268 gitk:4737 gitk:6560
msgid "IgnCase"
msgstr "IgnVersaler"
-#: gitk:2186 gitk:4481 gitk:4585 gitk:6384
+#: gitk:2268 gitk:4619 gitk:4735 gitk:6556
msgid "Regexp"
msgstr "Reg.uttr."
-#: gitk:2188 gitk:2189 gitk:4606 gitk:4636 gitk:4643 gitk:6512 gitk:6580
+#: gitk:2270 gitk:2271 gitk:4757 gitk:4787 gitk:4794 gitk:6685 gitk:6753
msgid "All fields"
msgstr "Alla fält"
-#: gitk:2189 gitk:4604 gitk:4636 gitk:6451
+#: gitk:2271 gitk:4754 gitk:4787 gitk:6623
msgid "Headline"
msgstr "Rubrik"
-#: gitk:2190 gitk:4604 gitk:6451 gitk:6580 gitk:7013
+#: gitk:2272 gitk:4754 gitk:6623 gitk:6753 gitk:7221
msgid "Comments"
msgstr "Kommentarer"
-#: gitk:2190 gitk:4604 gitk:4608 gitk:4643 gitk:6451 gitk:6948 gitk:8307
-#: gitk:8322
+#: gitk:2272 gitk:4754 gitk:4759 gitk:4794 gitk:6623 gitk:7156 gitk:8598
+#: gitk:8613
msgid "Author"
msgstr "Författare"
-#: gitk:2190 gitk:4604 gitk:6451 gitk:6950
+#: gitk:2272 gitk:4754 gitk:6623 gitk:7158
msgid "Committer"
msgstr "Incheckare"
-#: gitk:2221
+#: gitk:2303
msgid "Search"
msgstr "Sök"
-#: gitk:2229
+#: gitk:2311
msgid "Diff"
msgstr "Diff"
-#: gitk:2231
+#: gitk:2313
msgid "Old version"
msgstr "Gammal version"
-#: gitk:2233
+#: gitk:2315
msgid "New version"
msgstr "Ny version"
-#: gitk:2235
+#: gitk:2317
msgid "Lines of context"
msgstr "Rader sammanhang"
-#: gitk:2245
+#: gitk:2327
msgid "Ignore space change"
msgstr "Ignorera ändringar i blanksteg"
-#: gitk:2304
+#: gitk:2331 gitk:2333 gitk:7735 gitk:7963
+msgid "Line diff"
+msgstr "Rad-diff"
+
+#: gitk:2397
msgid "Patch"
msgstr "Patch"
-#: gitk:2306
+#: gitk:2399
msgid "Tree"
msgstr "Träd"
-#: gitk:2463 gitk:2480
+#: gitk:2557 gitk:2577
msgid "Diff this -> selected"
msgstr "Diff denna -> markerad"
-#: gitk:2464 gitk:2481
+#: gitk:2558 gitk:2578
msgid "Diff selected -> this"
msgstr "Diff markerad -> denna"
-#: gitk:2465 gitk:2482
+#: gitk:2559 gitk:2579
msgid "Make patch"
msgstr "Skapa patch"
-#: gitk:2466 gitk:8715
+#: gitk:2560 gitk:9022
msgid "Create tag"
msgstr "Skapa tagg"
-#: gitk:2467 gitk:8831
+#: gitk:2561 gitk:9139
msgid "Write commit to file"
msgstr "Skriv incheckning till fil"
-#: gitk:2468 gitk:8888
+#: gitk:2562 gitk:9196
msgid "Create new branch"
msgstr "Skapa ny gren"
-#: gitk:2469
+#: gitk:2563
msgid "Cherry-pick this commit"
msgstr "Plocka denna incheckning"
-#: gitk:2470
+#: gitk:2564
msgid "Reset HEAD branch to here"
msgstr "Återställ HEAD-grenen hit"
-#: gitk:2471
+#: gitk:2565
msgid "Mark this commit"
msgstr "Markera denna incheckning"
-#: gitk:2472
+#: gitk:2566
msgid "Return to mark"
msgstr "Återgå till markering"
-#: gitk:2473
+#: gitk:2567
msgid "Find descendant of this and mark"
msgstr "Hitta efterföljare till denna och markera"
-#: gitk:2474
+#: gitk:2568
msgid "Compare with marked commit"
msgstr "Jämför med markerad incheckning"
-#: gitk:2488
+#: gitk:2569 gitk:2580
+msgid "Diff this -> marked commit"
+msgstr "Diff denna -> markerad incheckning"
+
+#: gitk:2570 gitk:2581
+msgid "Diff marked commit -> this"
+msgstr "Diff markerad incheckning -> denna"
+
+#: gitk:2571
+msgid "Revert this commit"
+msgstr "Ångra denna incheckning"
+
+#: gitk:2587
msgid "Check out this branch"
msgstr "Checka ut denna gren"
-#: gitk:2489
+#: gitk:2588
msgid "Remove this branch"
msgstr "Ta bort denna gren"
-#: gitk:2496
+#: gitk:2595
msgid "Highlight this too"
msgstr "Markera även detta"
-#: gitk:2497
+#: gitk:2596
msgid "Highlight this only"
msgstr "Markera bara detta"
-#: gitk:2498
+#: gitk:2597
msgid "External diff"
msgstr "Extern diff"
-#: gitk:2499
+#: gitk:2598
msgid "Blame parent commit"
msgstr "Klandra föräldraincheckning"
-#: gitk:2506
+#: gitk:2605
msgid "Show origin of this line"
msgstr "Visa ursprunget för den här raden"
-#: gitk:2507
+#: gitk:2606
msgid "Run git gui blame on this line"
msgstr "Kör git gui blame på den här raden"
-#: gitk:2789
+#: gitk:2927
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright ©9 2005-2010 Paul Mackerras\n"
+"Copyright ©9 2005-2011 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
"\n"
"Gitk - en incheckningsvisare för git\n"
"\n"
-"Copyright ©9 2005-2010 Paul Mackerras\n"
+"Copyright ©9 2005-2011 Paul Mackerras\n"
"\n"
"Använd och vidareförmedla enligt villkoren i GNU General Public License"
-#: gitk:2797 gitk:2862 gitk:9253
+#: gitk:2935 gitk:3000 gitk:9623
msgid "Close"
msgstr "Stäng"
-#: gitk:2818
+#: gitk:2956
msgid "Gitk key bindings"
msgstr "Tangentbordsbindningar för Gitk"
-#: gitk:2821
+#: gitk:2959
msgid "Gitk key bindings:"
msgstr "Tangentbordsbindningar för Gitk:"
-#: gitk:2823
+#: gitk:2961
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tAvsluta"
-#: gitk:2824
+#: gitk:2962
#, tcl-format
msgid "<%s-W>\t\tClose window"
msgstr "<%s-W>\t\tStäng fönster"
-#: gitk:2825
+#: gitk:2963
msgid "<Home>\t\tMove to first commit"
msgstr "<Home>\t\tGå till första incheckning"
-#: gitk:2826
+#: gitk:2964
msgid "<End>\t\tMove to last commit"
msgstr "<End>\t\tGå till sista incheckning"
-#: gitk:2827
-msgid "<Up>, p, i\tMove up one commit"
-msgstr "<Upp>, p, i\tGå en incheckning upp"
+#: gitk:2965
+msgid "<Up>, p, k\tMove up one commit"
+msgstr "<Upp>, p, k\tGå en incheckning upp"
-#: gitk:2828
-msgid "<Down>, n, k\tMove down one commit"
-msgstr "<Ned>, n, k\tGå en incheckning ned"
+#: gitk:2966
+msgid "<Down>, n, j\tMove down one commit"
+msgstr "<Ned>, n, j\tGå en incheckning ned"
-#: gitk:2829
-msgid "<Left>, z, j\tGo back in history list"
-msgstr "<Vänster>, z, j\tGå bakåt i historiken"
+#: gitk:2967
+msgid "<Left>, z, h\tGo back in history list"
+msgstr "<Vänster>, z, h\tGå bakåt i historiken"
-#: gitk:2830
+#: gitk:2968
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Höger>, x, l\tGå framåt i historiken"
-#: gitk:2831
+#: gitk:2969
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<PageUp>\tGå upp en sida i incheckningslistan"
-#: gitk:2832
+#: gitk:2970
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<PageDown>\tGå ned en sida i incheckningslistan"
-#: gitk:2833
+#: gitk:2971
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Home>\tRulla till början av incheckningslistan"
-#: gitk:2834
+#: gitk:2972
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-End>\tRulla till slutet av incheckningslistan"
-#: gitk:2835
+#: gitk:2973
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Upp>\tRulla incheckningslistan upp ett steg"
-#: gitk:2836
+#: gitk:2974
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Ned>\tRulla incheckningslistan ned ett steg"
-#: gitk:2837
+#: gitk:2975
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-PageUp>\tRulla incheckningslistan upp en sida"
-#: gitk:2838
+#: gitk:2976
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-PageDown>\tRulla incheckningslistan ned en sida"
-#: gitk:2839
+#: gitk:2977
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Skift-Upp>\tSök bakåt (uppåt, senare incheckningar)"
-#: gitk:2840
+#: gitk:2978
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Skift-Ned>\tSök framåt (nedåt, tidigare incheckningar)"
-#: gitk:2841
+#: gitk:2979
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Delete>, b\tRulla diffvisningen upp en sida"
-#: gitk:2842
+#: gitk:2980
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Baksteg>\tRulla diffvisningen upp en sida"
-#: gitk:2843
+#: gitk:2981
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Blanksteg>\tRulla diffvisningen ned en sida"
-#: gitk:2844
+#: gitk:2982
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\tRulla diffvisningen upp 18 rader"
-#: gitk:2845
+#: gitk:2983
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\tRulla diffvisningen ned 18 rader"
-#: gitk:2846
+#: gitk:2984
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tSök"
-#: gitk:2847
+#: gitk:2985
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tGå till nästa sökträff"
-#: gitk:2848
+#: gitk:2986
msgid "<Return>\tMove to next find hit"
msgstr "<Return>\t\tGå till nästa sökträff"
-#: gitk:2849
+#: gitk:2987
msgid "/\t\tFocus the search box"
msgstr "/\t\tFokusera sökrutan"
-#: gitk:2850
+#: gitk:2988
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tGå till föregående sökträff"
-#: gitk:2851
+#: gitk:2989
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tRulla diffvisningen till nästa fil"
-#: gitk:2852
+#: gitk:2990
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tGå till nästa sökträff i diffvisningen"
-#: gitk:2853
+#: gitk:2991
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tGå till föregående sökträff i diffvisningen"
-#: gitk:2854
+#: gitk:2992
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-Num+>\tÖka teckenstorlek"
-#: gitk:2855
+#: gitk:2993
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-plus>\tÖka teckenstorlek"
-#: gitk:2856
+#: gitk:2994
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-Num->\tMinska teckenstorlek"
-#: gitk:2857
+#: gitk:2995
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-minus>\tMinska teckenstorlek"
-#: gitk:2858
+#: gitk:2996
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tUppdatera"
-#: gitk:3313 gitk:3322
+#: gitk:3451 gitk:3460
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Fel vid skapande av temporär katalog %s:"
-#: gitk:3335
+#: gitk:3473
#, tcl-format
msgid "Error getting \"%s\" from %s:"
msgstr "Fel vid hämtning av \"%s\" från %s:"
-#: gitk:3398
+#: gitk:3536
msgid "command failed:"
msgstr "kommando misslyckades:"
-#: gitk:3547
+#: gitk:3685
msgid "No such commit"
msgstr "Incheckning saknas"
-#: gitk:3561
+#: gitk:3699
msgid "git gui blame: command failed:"
msgstr "git gui blame: kommando misslyckades:"
-#: gitk:3592
+#: gitk:3730
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Kunde inte läsa sammanslagningshuvud: %s"
-#: gitk:3600
+#: gitk:3738
#, tcl-format
msgid "Error reading index: %s"
msgstr "Fel vid läsning av index: %s"
-#: gitk:3625
+#: gitk:3763
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Kunde inte starta git blame: %s"
-#: gitk:3628 gitk:6419
+#: gitk:3766 gitk:6591
msgid "Searching"
msgstr "Söker"
-#: gitk:3660
+#: gitk:3798
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Fel vid körning av git blame: %s"
-#: gitk:3688
+#: gitk:3826
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr "Raden kommer från incheckningen %s, som inte finns i denna vy"
-#: gitk:3702
+#: gitk:3840
msgid "External diff viewer failed:"
msgstr "Externt diff-verktyg misslyckades:"
-#: gitk:3820
+#: gitk:3958
msgid "Gitk view definition"
msgstr "Definition av Gitk-vy"
-#: gitk:3824
+#: gitk:3962
msgid "Remember this view"
msgstr "Spara denna vy"
-#: gitk:3825
+#: gitk:3963
msgid "References (space separated list):"
msgstr "Referenser (blankstegsavdelad lista):"
-#: gitk:3826
+#: gitk:3964
msgid "Branches & tags:"
msgstr "Grenar & taggar:"
-#: gitk:3827
+#: gitk:3965
msgid "All refs"
msgstr "Alla referenser"
-#: gitk:3828
+#: gitk:3966
msgid "All (local) branches"
msgstr "Alla (lokala) grenar"
-#: gitk:3829
+#: gitk:3967
msgid "All tags"
msgstr "Alla taggar"
-#: gitk:3830
+#: gitk:3968
msgid "All remote-tracking branches"
msgstr "Alla fjärrspårande grenar"
-#: gitk:3831
+#: gitk:3969
msgid "Commit Info (regular expressions):"
msgstr "Incheckningsinfo (reguljära uttryck):"
-#: gitk:3832
+#: gitk:3970
msgid "Author:"
msgstr "Författare:"
-#: gitk:3833
+#: gitk:3971
msgid "Committer:"
msgstr "Incheckare:"
-#: gitk:3834
+#: gitk:3972
msgid "Commit Message:"
msgstr "Incheckningsmeddelande:"
-#: gitk:3835
+#: gitk:3973
msgid "Matches all Commit Info criteria"
msgstr "Motsvarar alla kriterier för incheckningsinfo"
-#: gitk:3836
+#: gitk:3974
msgid "Changes to Files:"
msgstr "Ändringar av filer:"
-#: gitk:3837
+#: gitk:3975
msgid "Fixed String"
msgstr "Fast sträng"
-#: gitk:3838
+#: gitk:3976
msgid "Regular Expression"
msgstr "Reguljärt uttryck"
-#: gitk:3839
+#: gitk:3977
msgid "Search string:"
msgstr "Söksträng:"
-#: gitk:3840
+#: gitk:3978
msgid ""
"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
@@ -648,201 +678,201 @@ msgstr ""
"Incheckingsdatum (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
"15:27:38\"):"
-#: gitk:3841
+#: gitk:3979
msgid "Since:"
msgstr "Från:"
-#: gitk:3842
+#: gitk:3980
msgid "Until:"
msgstr "Till:"
-#: gitk:3843
+#: gitk:3981
msgid "Limit and/or skip a number of revisions (positive integer):"
msgstr "Begränsa och/eller hoppa över ett antal revisioner (positivt heltal):"
-#: gitk:3844
+#: gitk:3982
msgid "Number to show:"
msgstr "Antal att visa:"
-#: gitk:3845
+#: gitk:3983
msgid "Number to skip:"
msgstr "Antal att hoppa över:"
-#: gitk:3846
+#: gitk:3984
msgid "Miscellaneous options:"
msgstr "Diverse alternativ:"
-#: gitk:3847
+#: gitk:3985
msgid "Strictly sort by date"
msgstr "Strikt datumsortering"
-#: gitk:3848
+#: gitk:3986
msgid "Mark branch sides"
msgstr "Markera sidogrenar"
-#: gitk:3849
+#: gitk:3987
msgid "Limit to first parent"
msgstr "Begränsa till första förälder"
-#: gitk:3850
+#: gitk:3988
msgid "Simple history"
msgstr "Enkel historik"
-#: gitk:3851
+#: gitk:3989
msgid "Additional arguments to git log:"
msgstr "Ytterligare argument till git log:"
-#: gitk:3852
+#: gitk:3990
msgid "Enter files and directories to include, one per line:"
msgstr "Ange filer och kataloger att ta med, en per rad:"
-#: gitk:3853
+#: gitk:3991
msgid "Command to generate more commits to include:"
msgstr "Kommando för att generera fler incheckningar att ta med:"
-#: gitk:3977
+#: gitk:4115
msgid "Gitk: edit view"
msgstr "Gitk: redigera vy"
-#: gitk:3985
+#: gitk:4123
msgid "-- criteria for selecting revisions"
msgstr " - kriterier för val av revisioner"
-#: gitk:3990
+#: gitk:4128
msgid "View Name"
msgstr "Namn på vy"
-#: gitk:4065
+#: gitk:4203
msgid "Apply (F5)"
msgstr "Använd (F5)"
-#: gitk:4103
+#: gitk:4241
msgid "Error in commit selection arguments:"
msgstr "Fel i argument för val av incheckningar:"
-#: gitk:4156 gitk:4208 gitk:4656 gitk:4670 gitk:5931 gitk:11551 gitk:11552
+#: gitk:4294 gitk:4346 gitk:4807 gitk:4821 gitk:6087 gitk:12041 gitk:12042
msgid "None"
msgstr "Inget"
-#: gitk:4604 gitk:6451 gitk:8309 gitk:8324
-msgid "Date"
-msgstr "Datum"
-
-#: gitk:4604 gitk:6451
-msgid "CDate"
-msgstr "Skapat datum"
-
-#: gitk:4753 gitk:4758
+#: gitk:4904 gitk:4909
msgid "Descendant"
msgstr "Avkomling"
-#: gitk:4754
+#: gitk:4905
msgid "Not descendant"
msgstr "Inte avkomling"
-#: gitk:4761 gitk:4766
+#: gitk:4912 gitk:4917
msgid "Ancestor"
msgstr "Förfader"
-#: gitk:4762
+#: gitk:4913
msgid "Not ancestor"
msgstr "Inte förfader"
-#: gitk:5052
+#: gitk:5203
msgid "Local changes checked in to index but not committed"
msgstr "Lokala ändringar sparade i indexet men inte incheckade"
-#: gitk:5088
+#: gitk:5239
msgid "Local uncommitted changes, not checked in to index"
msgstr "Lokala ändringar, ej sparade i indexet"
-#: gitk:6769
+#: gitk:6971
+msgid "and many more"
+msgstr "med många flera"
+
+#: gitk:6974
msgid "many"
msgstr "många"
-#: gitk:6952
+#: gitk:7160
msgid "Tags:"
msgstr "Taggar:"
-#: gitk:6969 gitk:6975 gitk:8302
+#: gitk:7177 gitk:7183 gitk:8593
msgid "Parent"
msgstr "Förälder"
-#: gitk:6980
+#: gitk:7188
msgid "Child"
msgstr "Barn"
-#: gitk:6989
+#: gitk:7197
msgid "Branch"
msgstr "Gren"
-#: gitk:6992
+#: gitk:7200
msgid "Follows"
msgstr "Följer"
-#: gitk:6995
+#: gitk:7203
msgid "Precedes"
msgstr "Föregår"
-#: gitk:7532
+#: gitk:7742
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Fel vid hämtning av diff: %s"
-#: gitk:8130
+#: gitk:8418
msgid "Goto:"
msgstr "Gå till:"
-#: gitk:8151
+#: gitk:8439
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Förkortat SHA1-id %s är tvetydigt"
-#: gitk:8158
+#: gitk:8446
#, tcl-format
msgid "Revision %s is not known"
msgstr "Revisionen %s är inte känd"
-#: gitk:8168
+#: gitk:8456
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "SHA-id:t %s är inte känt"
-#: gitk:8170
+#: gitk:8458
#, tcl-format
msgid "Revision %s is not in the current view"
msgstr "Revisionen %s finns inte i den nuvarande vyn"
-#: gitk:8312
+#: gitk:8600 gitk:8615
+msgid "Date"
+msgstr "Datum"
+
+#: gitk:8603
msgid "Children"
msgstr "Barn"
-#: gitk:8370
+#: gitk:8666
#, tcl-format
msgid "Reset %s branch to here"
msgstr "Återställ grenen %s hit"
-#: gitk:8372
+#: gitk:8668
msgid "Detached head: can't reset"
msgstr "Frånkopplad head: kan inte återställa"
-#: gitk:8481 gitk:8487
+#: gitk:8773 gitk:8779
msgid "Skipping merge commit "
msgstr "Hoppar över sammanslagningsincheckning "
-#: gitk:8496 gitk:8501
+#: gitk:8788 gitk:8793
msgid "Error getting patch ID for "
msgstr "Fel vid hämtning av patch-id för "
-#: gitk:8497 gitk:8502
+#: gitk:8789 gitk:8794
msgid " - stopping\n"
msgstr " - stannar\n"
-#: gitk:8507 gitk:8510 gitk:8518 gitk:8532 gitk:8541
+#: gitk:8799 gitk:8802 gitk:8810 gitk:8824 gitk:8833
msgid "Commit "
msgstr "Incheckning "
-#: gitk:8511
+#: gitk:8803
msgid ""
" is the same patch as\n"
" "
@@ -850,7 +880,7 @@ msgstr ""
" är samma patch som\n"
" "
-#: gitk:8519
+#: gitk:8811
msgid ""
" differs from\n"
" "
@@ -858,7 +888,7 @@ msgstr ""
" skiljer sig från\n"
" "
-#: gitk:8521
+#: gitk:8813
msgid ""
"Diff of commits:\n"
"\n"
@@ -866,131 +896,131 @@ msgstr ""
"Skillnad mellan incheckningar:\n"
"\n"
-#: gitk:8533 gitk:8542
+#: gitk:8825 gitk:8834
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " har %s barn - stannar\n"
-#: gitk:8561
+#: gitk:8853
#, tcl-format
msgid "Error writing commit to file: %s"
msgstr "Fel vid skrivning av incheckning till fil: %s"
-#: gitk:8567
+#: gitk:8859
#, tcl-format
msgid "Error diffing commits: %s"
msgstr "Fel vid jämförelse av incheckningar: %s"
-#: gitk:8598
+#: gitk:8905
msgid "Top"
msgstr "Topp"
-#: gitk:8599
+#: gitk:8906
msgid "From"
msgstr "Från"
-#: gitk:8604
+#: gitk:8911
msgid "To"
msgstr "Till"
-#: gitk:8628
+#: gitk:8935
msgid "Generate patch"
msgstr "Generera patch"
-#: gitk:8630
+#: gitk:8937
msgid "From:"
msgstr "Från:"
-#: gitk:8639
+#: gitk:8946
msgid "To:"
msgstr "Till:"
-#: gitk:8648
+#: gitk:8955
msgid "Reverse"
msgstr "Vänd"
-#: gitk:8650 gitk:8845
+#: gitk:8957 gitk:9153
msgid "Output file:"
msgstr "Utdatafil:"
-#: gitk:8656
+#: gitk:8963
msgid "Generate"
msgstr "Generera"
-#: gitk:8694
+#: gitk:9001
msgid "Error creating patch:"
msgstr "Fel vid generering av patch:"
-#: gitk:8717 gitk:8833 gitk:8890
+#: gitk:9024 gitk:9141 gitk:9198
msgid "ID:"
msgstr "Id:"
-#: gitk:8726
+#: gitk:9033
msgid "Tag name:"
msgstr "Taggnamn:"
-#: gitk:8729
+#: gitk:9036
msgid "Tag message is optional"
msgstr "Taggmeddelandet är valfritt"
-#: gitk:8731
+#: gitk:9038
msgid "Tag message:"
msgstr "Taggmeddelande:"
-#: gitk:8735 gitk:8899
+#: gitk:9042 gitk:9207
msgid "Create"
msgstr "Skapa"
-#: gitk:8753
+#: gitk:9060
msgid "No tag name specified"
msgstr "Inget taggnamn angavs"
-#: gitk:8757
+#: gitk:9064
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "Taggen \"%s\" finns redan"
-#: gitk:8767
+#: gitk:9074
msgid "Error creating tag:"
msgstr "Fel vid skapande av tagg:"
-#: gitk:8842
+#: gitk:9150
msgid "Command:"
msgstr "Kommando:"
-#: gitk:8850
+#: gitk:9158
msgid "Write"
msgstr "Skriv"
-#: gitk:8868
+#: gitk:9176
msgid "Error writing commit:"
msgstr "Fel vid skrivning av incheckning:"
-#: gitk:8895
+#: gitk:9203
msgid "Name:"
msgstr "Namn:"
-#: gitk:8918
+#: gitk:9226
msgid "Please specify a name for the new branch"
msgstr "Ange ett namn för den nya grenen"
-#: gitk:8923
+#: gitk:9231
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "Grenen \"%s\" finns redan. Skriva över?"
-#: gitk:8989
+#: gitk:9298
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"Incheckningen %s finns redan på grenen %s -- skall den verkligen appliceras "
"på nytt?"
-#: gitk:8994
+#: gitk:9303
msgid "Cherry-picking"
msgstr "Plockar"
-#: gitk:9003
+#: gitk:9312
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
@@ -1000,7 +1030,7 @@ msgstr ""
"Checka in, återställ eller spara undan (stash) dina ändringar och försök "
"igen."
-#: gitk:9009
+#: gitk:9318
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -1008,32 +1038,59 @@ msgstr ""
"Cherry-pick misslyckades på grund av en sammanslagningskonflikt.\n"
"Vill du köra git citool för att lösa den?"
-#: gitk:9025
+#: gitk:9334 gitk:9392
msgid "No changes committed"
msgstr "Inga ändringar incheckade"
-#: gitk:9051
+#: gitk:9361
+#, tcl-format
+msgid "Commit %s is not included in branch %s -- really revert it?"
+msgstr "Incheckningen %s finns inte på grenen %s -- vill du verkligen ångra?"
+
+#: gitk:9366
+msgid "Reverting"
+msgstr "Ångrar"
+
+#: gitk:9374
+#, tcl-format
+msgid ""
+"Revert failed because of local changes to the following files:%s Please "
+"commit, reset or stash your changes and try again."
+msgstr ""
+"Misslyckades med att ångra på grund av lokala ändringar i följande filer:%s. "
+"Checka in, återställ eller spara undan (stash) dina ändringar och försök "
+"igen."
+
+#: gitk:9378
+msgid ""
+"Revert failed because of merge conflict.\n"
+" Do you wish to run git citool to resolve it?"
+msgstr ""
+"Misslyckades med att ångra på grund av en sammanslagningskonflikt.\n"
+" Vill du köra git citool för att lösa den?"
+
+#: gitk:9421
msgid "Confirm reset"
msgstr "Bekräfta återställning"
-#: gitk:9053
+#: gitk:9423
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "Återställa grenen %s till %s?"
-#: gitk:9055
+#: gitk:9425
msgid "Reset type:"
msgstr "Typ av återställning:"
-#: gitk:9058
+#: gitk:9428
msgid "Soft: Leave working tree and index untouched"
msgstr "Mjuk: Rör inte utcheckning och index"
-#: gitk:9061
+#: gitk:9431
msgid "Mixed: Leave working tree untouched, reset index"
msgstr "Blandad: Rör inte utcheckning, återställ index"
-#: gitk:9064
+#: gitk:9434
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -1041,19 +1098,19 @@ msgstr ""
"Hård: Återställ utcheckning och index\n"
"(förkastar ALLA lokala ändringar)"
-#: gitk:9081
+#: gitk:9451
msgid "Resetting"
msgstr "Återställer"
-#: gitk:9141
+#: gitk:9511
msgid "Checking out"
msgstr "Checkar ut"
-#: gitk:9194
+#: gitk:9564
msgid "Cannot delete the currently checked-out branch"
msgstr "Kan inte ta bort den just nu utcheckade grenen"
-#: gitk:9200
+#: gitk:9570
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -1062,16 +1119,16 @@ msgstr ""
"Incheckningarna på grenen %s existerar inte på någon annan gren.\n"
"Vill du verkligen ta bort grenen %s?"
-#: gitk:9231
+#: gitk:9601
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Taggar och huvuden: %s"
-#: gitk:9246
+#: gitk:9616
msgid "Filter"
msgstr "Filter"
-#: gitk:9541
+#: gitk:9912
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
@@ -1079,206 +1136,223 @@ msgstr ""
"Fel vid läsning av information om incheckningstopologi; information om "
"grenar och föregående/senare taggar kommer inte vara komplett."
-#: gitk:10527
+#: gitk:10899
msgid "Tag"
msgstr "Tagg"
-#: gitk:10527
+#: gitk:10899
msgid "Id"
msgstr "Id"
-#: gitk:10576
+#: gitk:10948
msgid "Gitk font chooser"
msgstr "Teckensnittsväljare för Gitk"
-#: gitk:10593
+#: gitk:10965
msgid "B"
msgstr "F"
-#: gitk:10596
+#: gitk:10968
msgid "I"
msgstr "K"
-#: gitk:10714
-msgid "Gitk preferences"
-msgstr "Inställningar för Gitk"
-
-#: gitk:10716
+#: gitk:11086
msgid "Commit list display options"
msgstr "Alternativ för incheckningslistvy"
-#: gitk:10719
+#: gitk:11089
msgid "Maximum graph width (lines)"
msgstr "Maximal grafbredd (rader)"
-#: gitk:10722
+#: gitk:11092
#, tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Maximal grafbredd (% av ruta)"
-#: gitk:10725
+#: gitk:11095
msgid "Show local changes"
msgstr "Visa lokala ändringar"
-#: gitk:10728
-msgid "Auto-select SHA1"
-msgstr "Välj SHA1 automatiskt"
+#: gitk:11098
+msgid "Auto-select SHA1 (length)"
+msgstr "Välj SHA1 (längd) automatiskt"
-#: gitk:10731
+#: gitk:11102
msgid "Hide remote refs"
msgstr "Dölj fjärr-referenser"
-#: gitk:10735
+#: gitk:11106
msgid "Diff display options"
msgstr "Alternativ för diffvy"
-#: gitk:10737
+#: gitk:11108
msgid "Tab spacing"
msgstr "Blanksteg för tabulatortecken"
-#: gitk:10740
-msgid "Display nearby tags"
-msgstr "Visa närliggande taggar"
+#: gitk:11111
+msgid "Display nearby tags/heads"
+msgstr "Visa närliggande taggar/huvuden"
+
+#: gitk:11114
+msgid "Maximum # tags/heads to show"
+msgstr "Maximalt antal taggar/huvuden att visa"
-#: gitk:10743
+#: gitk:11117
msgid "Limit diffs to listed paths"
msgstr "Begränsa diff till listade sökvägar"
-#: gitk:10746
+#: gitk:11120
msgid "Support per-file encodings"
msgstr "Stöd för filspecifika teckenkodningar"
-#: gitk:10752 gitk:10832
+#: gitk:11126 gitk:11273
msgid "External diff tool"
msgstr "Externt diff-verktyg"
-#: gitk:10753
+#: gitk:11127
msgid "Choose..."
msgstr "Välj..."
-#: gitk:10758
+#: gitk:11132
msgid "General options"
msgstr "Allmänna inställningar"
-#: gitk:10761
+#: gitk:11135
msgid "Use themed widgets"
msgstr "Använd tema på fönsterelement"
-#: gitk:10763
+#: gitk:11137
msgid "(change requires restart)"
msgstr "(ändringen kräver omstart)"
-#: gitk:10765
+#: gitk:11139
msgid "(currently unavailable)"
msgstr "(för närvarande inte tillgängligt)"
-#: gitk:10769
+#: gitk:11150
msgid "Colors: press to choose"
msgstr "Färger: tryck för att välja"
-#: gitk:10772
+#: gitk:11153
msgid "Interface"
msgstr "Gränssnitt"
-#: gitk:10773
+#: gitk:11154
msgid "interface"
msgstr "gränssnitt"
-#: gitk:10776
+#: gitk:11157
msgid "Background"
msgstr "Bakgrund"
-#: gitk:10777 gitk:10807
+#: gitk:11158 gitk:11188
msgid "background"
msgstr "bakgrund"
-#: gitk:10780
+#: gitk:11161
msgid "Foreground"
msgstr "Förgrund"
-#: gitk:10781
+#: gitk:11162
msgid "foreground"
msgstr "förgrund"
-#: gitk:10784
+#: gitk:11165
msgid "Diff: old lines"
msgstr "Diff: gamla rader"
-#: gitk:10785
+#: gitk:11166
msgid "diff old lines"
msgstr "diff gamla rader"
-#: gitk:10789
+#: gitk:11170
msgid "Diff: new lines"
msgstr "Diff: nya rader"
-#: gitk:10790
+#: gitk:11171
msgid "diff new lines"
msgstr "diff nya rader"
-#: gitk:10794
+#: gitk:11175
msgid "Diff: hunk header"
msgstr "Diff: delhuvud"
-#: gitk:10796
+#: gitk:11177
msgid "diff hunk header"
msgstr "diff delhuvud"
-#: gitk:10800
+#: gitk:11181
msgid "Marked line bg"
msgstr "Markerad rad bakgrund"
-#: gitk:10802
+#: gitk:11183
msgid "marked line background"
msgstr "markerad rad bakgrund"
-#: gitk:10806
+#: gitk:11187
msgid "Select bg"
msgstr "Markerad bakgrund"
-#: gitk:10810
+#: gitk:11196
msgid "Fonts: press to choose"
msgstr "Teckensnitt: tryck för att välja"
-#: gitk:10812
+#: gitk:11198
msgid "Main font"
msgstr "Huvudteckensnitt"
-#: gitk:10813
+#: gitk:11199
msgid "Diff display font"
msgstr "Teckensnitt för diffvisning"
-#: gitk:10814
+#: gitk:11200
msgid "User interface font"
msgstr "Teckensnitt för användargränssnitt"
-#: gitk:10842
+#: gitk:11222
+msgid "Gitk preferences"
+msgstr "Inställningar för Gitk"
+
+#: gitk:11231
+msgid "General"
+msgstr "Allmänt"
+
+#: gitk:11232
+msgid "Colors"
+msgstr "Färger"
+
+#: gitk:11233
+msgid "Fonts"
+msgstr "Teckensnitt"
+
+#: gitk:11283
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: välj färg för %s"
-#: gitk:11445
+#: gitk:11937
msgid "Cannot find a git repository here."
msgstr "Hittar inget git-arkiv här."
-#: gitk:11449
-#, tcl-format
-msgid "Cannot find the git directory \"%s\"."
-msgstr "Hittar inte git-katalogen \"%s\"."
-
-#: gitk:11496
+#: gitk:11984
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "Tvetydigt argument \"%s\": både revision och filnamn"
-#: gitk:11508
+#: gitk:11996
msgid "Bad arguments to gitk:"
msgstr "Felaktiga argument till gitk:"
-#: gitk:11604
+#: gitk:12099
msgid "Command line"
msgstr "Kommandorad"
+#~ msgid "CDate"
+#~ msgstr "Skapat datum"
+
+#~ msgid "Cannot find the git directory \"%s\"."
+#~ msgstr "Hittar inte git-katalogen \"%s\"."
+
#~ msgid "SHA1 ID: "
#~ msgstr "SHA1-id: "