зеркало из https://github.com/microsoft/git.git
Merge git://repo.or.cz/git-gui
* git://repo.or.cz/git-gui: git-gui: correct spelling errors in comments git-gui: add menu item to launch a bash shell on Windows. git-gui: corrected setup of git worktree under cygwin. git-gui: right half window is paned git-gui: Add gui.displayuntracked option git-gui: show the maxrecentrepo config option in the preferences dialog git-gui: added gui.maxrecentrepo to extend the number of remembered repos git-gui: Improve font rendering on retina macbooks
This commit is contained in:
Коммит
3d252a9c59
|
@ -4,7 +4,7 @@ all::
|
|||
#
|
||||
# Define NO_MSGFMT if you do not have msgfmt from the GNU gettext
|
||||
# package and want to use our rough pure Tcl po->msg translator.
|
||||
# TCL_PATH must be vaild for this to work.
|
||||
# TCL_PATH must be valid for this to work.
|
||||
#
|
||||
|
||||
GIT-VERSION-FILE: FORCE
|
||||
|
|
|
@ -894,6 +894,7 @@ set default_config(gui.textconv) true
|
|||
set default_config(gui.pruneduringfetch) false
|
||||
set default_config(gui.trustmtime) false
|
||||
set default_config(gui.fastcopyblame) false
|
||||
set default_config(gui.maxrecentrepo) 10
|
||||
set default_config(gui.copyblamethreshold) 40
|
||||
set default_config(gui.blamehistoryctx) 7
|
||||
set default_config(gui.diffcontext) 5
|
||||
|
@ -912,6 +913,7 @@ set font_descs {
|
|||
{fontdiff font_diff {mc "Diff/Console Font"}}
|
||||
}
|
||||
set default_config(gui.stageuntracked) ask
|
||||
set default_config(gui.displayuntracked) true
|
||||
|
||||
######################################################################
|
||||
##
|
||||
|
@ -1282,7 +1284,11 @@ apply_config
|
|||
|
||||
# v1.7.0 introduced --show-toplevel to return the canonical work-tree
|
||||
if {[package vsatisfies $_git_version 1.7.0]} {
|
||||
set _gitworktree [git rev-parse --show-toplevel]
|
||||
if { [is_Cygwin] } {
|
||||
catch {set _gitworktree [exec cygpath --windows [git rev-parse --show-toplevel]]}
|
||||
} else {
|
||||
set _gitworktree [git rev-parse --show-toplevel]
|
||||
}
|
||||
} else {
|
||||
# try to set work tree from environment, core.worktree or use
|
||||
# cdup to obtain a relative path to the top of the worktree. If
|
||||
|
@ -1550,18 +1556,23 @@ proc rescan_stage2 {fd after} {
|
|||
set buf_rdf {}
|
||||
set buf_rlo {}
|
||||
|
||||
set rescan_active 3
|
||||
set rescan_active 2
|
||||
ui_status [mc "Scanning for modified files ..."]
|
||||
set fd_di [git_read diff-index --cached -z [PARENT]]
|
||||
set fd_df [git_read diff-files -z]
|
||||
set fd_lo [eval git_read ls-files --others -z $ls_others]
|
||||
|
||||
fconfigure $fd_di -blocking 0 -translation binary -encoding binary
|
||||
fconfigure $fd_df -blocking 0 -translation binary -encoding binary
|
||||
fconfigure $fd_lo -blocking 0 -translation binary -encoding binary
|
||||
|
||||
fileevent $fd_di readable [list read_diff_index $fd_di $after]
|
||||
fileevent $fd_df readable [list read_diff_files $fd_df $after]
|
||||
fileevent $fd_lo readable [list read_ls_others $fd_lo $after]
|
||||
|
||||
if {[is_config_true gui.displayuntracked]} {
|
||||
set fd_lo [eval git_read ls-files --others -z $ls_others]
|
||||
fconfigure $fd_lo -blocking 0 -translation binary -encoding binary
|
||||
fileevent $fd_lo readable [list read_ls_others $fd_lo $after]
|
||||
incr rescan_active
|
||||
}
|
||||
}
|
||||
|
||||
proc load_message {file {encoding {}}} {
|
||||
|
@ -2654,6 +2665,16 @@ if {![is_bare]} {
|
|||
.mbar.repository add command \
|
||||
-label [mc "Explore Working Copy"] \
|
||||
-command {do_explore}
|
||||
}
|
||||
|
||||
if {[is_Windows]} {
|
||||
.mbar.repository add command \
|
||||
-label [mc "Git Bash"] \
|
||||
-command {eval exec [auto_execok start] \
|
||||
[list "Git Bash" bash --login -l &]}
|
||||
}
|
||||
|
||||
if {[is_Windows] || ![is_bare]} {
|
||||
.mbar.repository add separator
|
||||
}
|
||||
|
||||
|
@ -3203,13 +3224,19 @@ unset i
|
|||
|
||||
# -- Diff and Commit Area
|
||||
#
|
||||
${NS}::frame .vpane.lower -height 300 -width 400
|
||||
${NS}::panedwindow .vpane.lower -orient vertical
|
||||
${NS}::frame .vpane.lower.commarea
|
||||
${NS}::frame .vpane.lower.diff -relief sunken -borderwidth 1
|
||||
pack .vpane.lower.diff -fill both -expand 1
|
||||
pack .vpane.lower.commarea -side bottom -fill x
|
||||
${NS}::frame .vpane.lower.diff -relief sunken -borderwidth 1 -height 500
|
||||
.vpane.lower add .vpane.lower.diff
|
||||
.vpane.lower add .vpane.lower.commarea
|
||||
.vpane add .vpane.lower
|
||||
if {!$use_ttk} {.vpane paneconfigure .vpane.lower -sticky nsew}
|
||||
if {$use_ttk} {
|
||||
.vpane.lower pane .vpane.lower.diff -weight 1
|
||||
.vpane.lower pane .vpane.lower.commarea -weight 0
|
||||
} else {
|
||||
.vpane.lower paneconfigure .vpane.lower.diff -stretch always
|
||||
.vpane.lower paneconfigure .vpane.lower.commarea -stretch never
|
||||
}
|
||||
|
||||
# -- Commit Area Buttons
|
||||
#
|
||||
|
|
|
@ -5,7 +5,7 @@ class blame {
|
|||
|
||||
image create photo ::blame::img_back_arrow -data {R0lGODlhGAAYAIUAAPwCBEzKXFTSZIz+nGzmhGzqfGTidIT+nEzGXHTqhGzmfGzifFzadETCVES+VARWDFzWbHzyjAReDGTadFTOZDSyRDyyTCymPARaFGTedFzSbDy2TCyqRCyqPARaDAyCHES6VDy6VCyiPAR6HCSeNByWLARyFARiDARqFGTifARiFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAYABgAAAajQIBwSCwaj8ikcsk0BppJwRPqHEypQwHBis0WDAdEFyBIKBaMAKLBdjQeSkFBYTBAIvgEoS6JmhUTEwIUDQ4VFhcMGEhyCgoZExoUaxsWHB0THkgfAXUGAhoBDSAVFR0XBnCbDRmgog0hpSIiDJpJIyEQhBUcJCIlwA22SSYVogknEg8eD82qSigdDSknY0IqJQXPYxIl1dZCGNvWw+Dm510GQQAh/mhDcmVhdGVkIGJ5IEJNUFRvR0lGIFBybyB2ZXJzaW9uIDIuNQ0KqSBEZXZlbENvciAxOTk3LDE5OTguIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQpodHRwOi8vd3d3LmRldmVsY29yLmNvbQA7}
|
||||
|
||||
# Persistant data (survives loads)
|
||||
# Persistent data (survives loads)
|
||||
#
|
||||
field history {}; # viewer history: {commit path}
|
||||
field header ; # array commit,key -> header field
|
||||
|
|
|
@ -24,6 +24,10 @@ field sorted_recent ; # recent repositories (sorted)
|
|||
constructor pick {} {
|
||||
global M1T M1B use_ttk NS
|
||||
|
||||
if {[set maxrecent [get_config gui.maxrecentrepo]] eq {}} {
|
||||
set maxrecent 10
|
||||
}
|
||||
|
||||
make_dialog top w
|
||||
wm title $top [mc "Git Gui"]
|
||||
|
||||
|
@ -148,7 +152,7 @@ constructor pick {} {
|
|||
-background [get_bg_color $w_body.recentlabel] \
|
||||
-wrap none \
|
||||
-width 50 \
|
||||
-height 10
|
||||
-height $maxrecent
|
||||
$w_recentlist tag conf link \
|
||||
-foreground blue \
|
||||
-underline 1
|
||||
|
@ -264,7 +268,11 @@ proc _append_recentrepos {path} {
|
|||
git config --global --add gui.recentrepo $path
|
||||
load_config 1
|
||||
|
||||
while {[llength $recent] > 10} {
|
||||
if {[set maxrecent [get_config gui.maxrecentrepo]] eq {}} {
|
||||
set maxrecent 10
|
||||
}
|
||||
|
||||
while {[llength $recent] > $maxrecent} {
|
||||
_unset_recentrepo [lindex $recent 0]
|
||||
set recent [lrange $recent 1 end]
|
||||
}
|
||||
|
|
|
@ -414,7 +414,7 @@ proc revert_helper {txt paths} {
|
|||
# such distinction is needed in some languages. Previously, the
|
||||
# code used "Revert changes in" for both, but that can't work
|
||||
# in languages where 'in' must be combined with word from
|
||||
# rest of string (in diffrent way for both cases of course).
|
||||
# rest of string (in different way for both cases of course).
|
||||
#
|
||||
# FIXME: Unfortunately, even that isn't enough in some languages
|
||||
# as they have quite complex plural-form rules. Unfortunately,
|
||||
|
|
|
@ -150,6 +150,7 @@ proc do_options {} {
|
|||
{b gui.matchtrackingbranch {mc "Match Tracking Branches"}}
|
||||
{b gui.textconv {mc "Use Textconv For Diffs and Blames"}}
|
||||
{b gui.fastcopyblame {mc "Blame Copy Only On Changed Files"}}
|
||||
{i-0..100 gui.maxrecentrepo {mc "Maximum Length of Recent Repositories List"}}
|
||||
{i-20..200 gui.copyblamethreshold {mc "Minimum Letters To Blame Copy On"}}
|
||||
{i-0..300 gui.blamehistoryctx {mc "Blame History Context Radius (days)"}}
|
||||
{i-1..99 gui.diffcontext {mc "Number of Diff Context Lines"}}
|
||||
|
@ -159,6 +160,7 @@ proc do_options {} {
|
|||
{c gui.encoding {mc "Default File Contents Encoding"}}
|
||||
{b gui.warndetachedcommit {mc "Warn before committing to a detached head"}}
|
||||
{s gui.stageuntracked {mc "Staging of untracked files"} {list "yes" "no" "ask"}}
|
||||
{b gui.displayuntracked {mc "Show untracked files"}}
|
||||
} {
|
||||
set type [lindex $option 0]
|
||||
set name [lindex $option 1]
|
||||
|
|
|
@ -14,7 +14,7 @@ field w_menu ; # context menu for the widget
|
|||
field s_menuidx 0 ; # last index of insertion into $w_menu
|
||||
|
||||
field s_i {} ; # timer registration for _run callbacks
|
||||
field s_clear 0 ; # did we erase mispelled tags yet?
|
||||
field s_clear 0 ; # did we erase misspelled tags yet?
|
||||
field s_seen [list] ; # lines last seen from $w_text in _run
|
||||
field s_checked [list] ; # lines already checked
|
||||
field s_pending [list] ; # [$line $data] sent to ispell/aspell
|
||||
|
@ -259,7 +259,7 @@ method _run {} {
|
|||
if {$n == $cur_line
|
||||
&& ![regexp {^\W$} [$w_text get $cur_pos insert]]} {
|
||||
|
||||
# If the current word is mispelled remove the tag
|
||||
# If the current word is misspelled remove the tag
|
||||
# but force a spellcheck later.
|
||||
#
|
||||
set tags [$w_text tag names $cur_pos]
|
||||
|
|
|
@ -24,5 +24,7 @@
|
|||
<string>GITg</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>@@GITGUI_VERSION@@</string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
Загрузка…
Ссылка в новой задаче