revert(3p/git): Revert merge of git upstream at v2.26.2
This causes cgit to serve error pages, which is undesirable. This reverts commit5229c9b232, reversing changes made tof2b211131f.
This commit is contained in:
parent
6f8fbf4aa4
commit
93ba78d6f4
1006 changed files with 60537 additions and 148724 deletions
235
third_party/git/git-gui/git-gui.sh
vendored
235
third_party/git/git-gui/git-gui.sh
vendored
|
|
@ -30,8 +30,8 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.}]
|
|||
##
|
||||
## Tcl/Tk sanity check
|
||||
|
||||
if {[catch {package require Tcl 8.5} err]
|
||||
|| [catch {package require Tk 8.5} err]
|
||||
if {[catch {package require Tcl 8.4} err]
|
||||
|| [catch {package require Tk 8.4} err]
|
||||
} {
|
||||
catch {wm withdraw .}
|
||||
tk_messageBox \
|
||||
|
|
@ -684,7 +684,6 @@ proc load_current_branch {} {
|
|||
global current_branch is_detached
|
||||
|
||||
set fd [open [gitdir HEAD] r]
|
||||
fconfigure $fd -translation binary -encoding utf-8
|
||||
if {[gets $fd ref] < 1} {
|
||||
set ref {}
|
||||
}
|
||||
|
|
@ -1341,7 +1340,6 @@ set HEAD {}
|
|||
set PARENT {}
|
||||
set MERGE_HEAD [list]
|
||||
set commit_type {}
|
||||
set commit_type_is_amend 0
|
||||
set empty_tree {}
|
||||
set current_branch {}
|
||||
set is_detached 0
|
||||
|
|
@ -1349,9 +1347,8 @@ set current_diff_path {}
|
|||
set is_3way_diff 0
|
||||
set is_submodule_diff 0
|
||||
set is_conflict_diff 0
|
||||
set selected_commit_type new
|
||||
set diff_empty_count 0
|
||||
set last_revert {}
|
||||
set last_revert_enc {}
|
||||
|
||||
set nullid "0000000000000000000000000000000000000000"
|
||||
set nullid2 "0000000000000000000000000000000000000001"
|
||||
|
|
@ -1437,7 +1434,7 @@ proc PARENT {} {
|
|||
}
|
||||
|
||||
proc force_amend {} {
|
||||
global commit_type_is_amend
|
||||
global selected_commit_type
|
||||
global HEAD PARENT MERGE_HEAD commit_type
|
||||
|
||||
repository_state newType newHEAD newMERGE_HEAD
|
||||
|
|
@ -1446,7 +1443,7 @@ proc force_amend {} {
|
|||
set MERGE_HEAD $newMERGE_HEAD
|
||||
set commit_type $newType
|
||||
|
||||
set commit_type_is_amend 1
|
||||
set selected_commit_type amend
|
||||
do_select_commit_type
|
||||
}
|
||||
|
||||
|
|
@ -1798,10 +1795,10 @@ proc ui_status {msg} {
|
|||
}
|
||||
}
|
||||
|
||||
proc ui_ready {} {
|
||||
proc ui_ready {{test {}}} {
|
||||
global main_status
|
||||
if {[info exists main_status]} {
|
||||
$main_status show [mc "Ready."]
|
||||
$main_status show [mc "Ready."] $test
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2151,6 +2148,8 @@ proc incr_font_size {font {amt 1}} {
|
|||
##
|
||||
## ui commands
|
||||
|
||||
set starting_gitk_msg [mc "Starting gitk... please wait..."]
|
||||
|
||||
proc do_gitk {revs {is_submodule false}} {
|
||||
global current_diff_path file_states current_diff_side ui_index
|
||||
global _gitdir _gitworktree
|
||||
|
|
@ -2205,12 +2204,9 @@ proc do_gitk {revs {is_submodule false}} {
|
|||
set env(GIT_WORK_TREE) $_gitworktree
|
||||
cd $pwd
|
||||
|
||||
if {[info exists main_status]} {
|
||||
set status_operation [$::main_status \
|
||||
start \
|
||||
[mc "Starting %s... please wait..." "gitk"]]
|
||||
|
||||
after 3500 [list $status_operation stop]
|
||||
ui_status $::starting_gitk_msg
|
||||
after 10000 {
|
||||
ui_ready $starting_gitk_msg
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2242,16 +2238,16 @@ proc do_git_gui {} {
|
|||
set env(GIT_WORK_TREE) $_gitworktree
|
||||
cd $pwd
|
||||
|
||||
set status_operation [$::main_status \
|
||||
start \
|
||||
[mc "Starting %s... please wait..." "git-gui"]]
|
||||
|
||||
after 3500 [list $status_operation stop]
|
||||
ui_status $::starting_gitk_msg
|
||||
after 10000 {
|
||||
ui_ready $starting_gitk_msg
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Get the system-specific explorer app/command.
|
||||
proc get_explorer {} {
|
||||
proc do_explore {} {
|
||||
global _gitworktree
|
||||
set explorer {}
|
||||
if {[is_Cygwin] || [is_Windows]} {
|
||||
set explorer "explorer.exe"
|
||||
} elseif {[is_MacOSX]} {
|
||||
|
|
@ -2260,23 +2256,9 @@ proc get_explorer {} {
|
|||
# freedesktop.org-conforming system is our best shot
|
||||
set explorer "xdg-open"
|
||||
}
|
||||
return $explorer
|
||||
}
|
||||
|
||||
proc do_explore {} {
|
||||
global _gitworktree
|
||||
set explorer [get_explorer]
|
||||
eval exec $explorer [list [file nativename $_gitworktree]] &
|
||||
}
|
||||
|
||||
# Open file relative to the working tree by the default associated app.
|
||||
proc do_file_open {file} {
|
||||
global _gitworktree
|
||||
set explorer [get_explorer]
|
||||
set full_file_path [file join $_gitworktree $file]
|
||||
exec $explorer [file nativename $full_file_path] &
|
||||
}
|
||||
|
||||
set is_quitting 0
|
||||
set ret_code 1
|
||||
|
||||
|
|
@ -2512,7 +2494,7 @@ proc force_first_diff {after} {
|
|||
|
||||
proc toggle_or_diff {mode w args} {
|
||||
global file_states file_lists current_diff_path ui_index ui_workdir
|
||||
global last_clicked selected_paths file_lists_last_clicked
|
||||
global last_clicked selected_paths
|
||||
|
||||
if {$mode eq "click"} {
|
||||
foreach {x y} $args break
|
||||
|
|
@ -2569,8 +2551,6 @@ proc toggle_or_diff {mode w args} {
|
|||
$ui_index tag remove in_sel 0.0 end
|
||||
$ui_workdir tag remove in_sel 0.0 end
|
||||
|
||||
set file_lists_last_clicked($w) $path
|
||||
|
||||
# Determine the state of the file
|
||||
if {[info exists file_states($path)]} {
|
||||
set state [lindex $file_states($path) 0]
|
||||
|
|
@ -2684,32 +2664,6 @@ proc show_less_context {} {
|
|||
}
|
||||
}
|
||||
|
||||
proc focus_widget {widget} {
|
||||
global file_lists last_clicked selected_paths
|
||||
global file_lists_last_clicked
|
||||
|
||||
if {[llength $file_lists($widget)] > 0} {
|
||||
set path $file_lists_last_clicked($widget)
|
||||
set index [lsearch -sorted -exact $file_lists($widget) $path]
|
||||
if {$index < 0} {
|
||||
set index 0
|
||||
set path [lindex $file_lists($widget) $index]
|
||||
}
|
||||
|
||||
focus $widget
|
||||
set last_clicked [list $widget [expr $index + 1]]
|
||||
array unset selected_paths
|
||||
set selected_paths($path) 1
|
||||
show_diff $path $widget
|
||||
}
|
||||
}
|
||||
|
||||
proc toggle_commit_type {} {
|
||||
global commit_type_is_amend
|
||||
set commit_type_is_amend [expr !$commit_type_is_amend]
|
||||
do_select_commit_type
|
||||
}
|
||||
|
||||
######################################################################
|
||||
##
|
||||
## ui construction
|
||||
|
|
@ -2752,18 +2706,10 @@ if {![is_bare]} {
|
|||
}
|
||||
|
||||
if {[is_Windows]} {
|
||||
# Use /git-bash.exe if available
|
||||
set normalized [file normalize $::argv0]
|
||||
regsub "/mingw../libexec/git-core/git-gui$" \
|
||||
$normalized "/git-bash.exe" cmdLine
|
||||
if {$cmdLine != $normalized && [file exists $cmdLine]} {
|
||||
set cmdLine [list "Git Bash" $cmdLine &]
|
||||
} else {
|
||||
set cmdLine [list "Git Bash" bash --login -l &]
|
||||
}
|
||||
.mbar.repository add command \
|
||||
-label [mc "Git Bash"] \
|
||||
-command {eval exec [auto_execok start] $cmdLine}
|
||||
-command {eval exec [auto_execok start] \
|
||||
[list "Git Bash" bash --login -l &]}
|
||||
}
|
||||
|
||||
if {[is_Windows] || ![is_bare]} {
|
||||
|
|
@ -2906,11 +2852,19 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
|
|||
menu .mbar.commit
|
||||
|
||||
if {![is_enabled nocommit]} {
|
||||
.mbar.commit add checkbutton \
|
||||
.mbar.commit add radiobutton \
|
||||
-label [mc "New Commit"] \
|
||||
-command do_select_commit_type \
|
||||
-variable selected_commit_type \
|
||||
-value new
|
||||
lappend disable_on_lock \
|
||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
||||
|
||||
.mbar.commit add radiobutton \
|
||||
-label [mc "Amend Last Commit"] \
|
||||
-accelerator $M1T-E \
|
||||
-variable commit_type_is_amend \
|
||||
-command do_select_commit_type
|
||||
-command do_select_commit_type \
|
||||
-variable selected_commit_type \
|
||||
-value amend
|
||||
lappend disable_on_lock \
|
||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
||||
|
||||
|
|
@ -3076,23 +3030,8 @@ unset doc_path doc_url
|
|||
wm protocol . WM_DELETE_WINDOW do_quit
|
||||
bind all <$M1B-Key-q> do_quit
|
||||
bind all <$M1B-Key-Q> do_quit
|
||||
|
||||
set m1b_w_script {
|
||||
set toplvl_win [winfo toplevel %W]
|
||||
|
||||
# If we are destroying the main window, we should call do_quit to take
|
||||
# care of cleanup before exiting the program.
|
||||
if {$toplvl_win eq "."} {
|
||||
do_quit
|
||||
} else {
|
||||
destroy $toplvl_win
|
||||
}
|
||||
}
|
||||
|
||||
bind all <$M1B-Key-w> $m1b_w_script
|
||||
bind all <$M1B-Key-W> $m1b_w_script
|
||||
|
||||
unset m1b_w_script
|
||||
bind all <$M1B-Key-w> {destroy [winfo toplevel %W]}
|
||||
bind all <$M1B-Key-W> {destroy [winfo toplevel %W]}
|
||||
|
||||
set subcommand_args {}
|
||||
proc usage {} {
|
||||
|
|
@ -3398,10 +3337,18 @@ set ui_comm .vpane.lower.commarea.buffer.frame.t
|
|||
set ui_coml .vpane.lower.commarea.buffer.header.l
|
||||
|
||||
if {![is_enabled nocommit]} {
|
||||
${NS}::checkbutton .vpane.lower.commarea.buffer.header.amend \
|
||||
${NS}::radiobutton .vpane.lower.commarea.buffer.header.new \
|
||||
-text [mc "New Commit"] \
|
||||
-command do_select_commit_type \
|
||||
-variable selected_commit_type \
|
||||
-value new
|
||||
lappend disable_on_lock \
|
||||
[list .vpane.lower.commarea.buffer.header.new conf -state]
|
||||
${NS}::radiobutton .vpane.lower.commarea.buffer.header.amend \
|
||||
-text [mc "Amend Last Commit"] \
|
||||
-variable commit_type_is_amend \
|
||||
-command do_select_commit_type
|
||||
-command do_select_commit_type \
|
||||
-variable selected_commit_type \
|
||||
-value amend
|
||||
lappend disable_on_lock \
|
||||
[list .vpane.lower.commarea.buffer.header.amend conf -state]
|
||||
}
|
||||
|
|
@ -3426,6 +3373,7 @@ pack $ui_coml -side left -fill x
|
|||
|
||||
if {![is_enabled nocommit]} {
|
||||
pack .vpane.lower.commarea.buffer.header.amend -side right
|
||||
pack .vpane.lower.commarea.buffer.header.new -side right
|
||||
}
|
||||
|
||||
textframe .vpane.lower.commarea.buffer.frame
|
||||
|
|
@ -3439,16 +3387,10 @@ ttext $ui_comm -background white -foreground black \
|
|||
-relief sunken \
|
||||
-width $repo_config(gui.commitmsgwidth) -height 9 -wrap none \
|
||||
-font font_diff \
|
||||
-xscrollcommand {.vpane.lower.commarea.buffer.frame.sbx set} \
|
||||
-yscrollcommand {.vpane.lower.commarea.buffer.frame.sby set}
|
||||
${NS}::scrollbar .vpane.lower.commarea.buffer.frame.sbx \
|
||||
-orient horizontal \
|
||||
-command [list $ui_comm xview]
|
||||
${NS}::scrollbar .vpane.lower.commarea.buffer.frame.sby \
|
||||
-orient vertical \
|
||||
-command [list $ui_comm yview]
|
||||
|
||||
pack .vpane.lower.commarea.buffer.frame.sbx -side bottom -fill x
|
||||
pack .vpane.lower.commarea.buffer.frame.sby -side right -fill y
|
||||
pack $ui_comm -side left -fill y
|
||||
pack .vpane.lower.commarea.buffer.header -side top -fill x
|
||||
|
|
@ -3528,11 +3470,9 @@ tlabel .vpane.lower.diff.header.file \
|
|||
-justify left
|
||||
tlabel .vpane.lower.diff.header.path \
|
||||
-background gold \
|
||||
-foreground blue \
|
||||
-foreground black \
|
||||
-anchor w \
|
||||
-justify left \
|
||||
-font [eval font create [font configure font_ui] -underline 1] \
|
||||
-cursor hand2
|
||||
-justify left
|
||||
pack .vpane.lower.diff.header.status -side left
|
||||
pack .vpane.lower.diff.header.file -side left
|
||||
pack .vpane.lower.diff.header.path -fill x
|
||||
|
|
@ -3547,12 +3487,8 @@ $ctxm add command \
|
|||
-type STRING \
|
||||
-- $current_diff_path
|
||||
}
|
||||
$ctxm add command \
|
||||
-label [mc Open] \
|
||||
-command {do_file_open $current_diff_path}
|
||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||
bind_button3 .vpane.lower.diff.header.path "tk_popup $ctxm %X %Y"
|
||||
bind .vpane.lower.diff.header.path <Button-1> {do_file_open $current_diff_path}
|
||||
|
||||
# -- Diff Body
|
||||
#
|
||||
|
|
@ -3611,9 +3547,6 @@ $ui_diff tag conf d_s- \
|
|||
$ui_diff tag conf d< \
|
||||
-foreground orange \
|
||||
-font font_diffbold
|
||||
$ui_diff tag conf d| \
|
||||
-foreground orange \
|
||||
-font font_diffbold
|
||||
$ui_diff tag conf d= \
|
||||
-foreground orange \
|
||||
-font font_diffbold
|
||||
|
|
@ -3673,31 +3606,15 @@ set ctxm .vpane.lower.diff.body.ctxm
|
|||
menu $ctxm -tearoff 0
|
||||
$ctxm add command \
|
||||
-label [mc "Apply/Reverse Hunk"] \
|
||||
-command {apply_or_revert_hunk $cursorX $cursorY 0}
|
||||
-command {apply_hunk $cursorX $cursorY}
|
||||
set ui_diff_applyhunk [$ctxm index last]
|
||||
lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state]
|
||||
$ctxm add command \
|
||||
-label [mc "Apply/Reverse Line"] \
|
||||
-command {apply_or_revert_range_or_line $cursorX $cursorY 0; do_rescan}
|
||||
-command {apply_range_or_line $cursorX $cursorY; do_rescan}
|
||||
set ui_diff_applyline [$ctxm index last]
|
||||
lappend diff_actions [list $ctxm entryconf $ui_diff_applyline -state]
|
||||
$ctxm add separator
|
||||
$ctxm add command \
|
||||
-label [mc "Revert Hunk"] \
|
||||
-command {apply_or_revert_hunk $cursorX $cursorY 1}
|
||||
set ui_diff_reverthunk [$ctxm index last]
|
||||
lappend diff_actions [list $ctxm entryconf $ui_diff_reverthunk -state]
|
||||
$ctxm add command \
|
||||
-label [mc "Revert Line"] \
|
||||
-command {apply_or_revert_range_or_line $cursorX $cursorY 1; do_rescan}
|
||||
set ui_diff_revertline [$ctxm index last]
|
||||
lappend diff_actions [list $ctxm entryconf $ui_diff_revertline -state]
|
||||
$ctxm add command \
|
||||
-label [mc "Undo Last Revert"] \
|
||||
-command {undo_last_revert; do_rescan}
|
||||
set ui_diff_undorevert [$ctxm index last]
|
||||
lappend diff_actions [list $ctxm entryconf $ui_diff_undorevert -state]
|
||||
$ctxm add separator
|
||||
$ctxm add command \
|
||||
-label [mc "Show Less Context"] \
|
||||
-command show_less_context
|
||||
|
|
@ -3776,7 +3693,7 @@ proc has_textconv {path} {
|
|||
}
|
||||
|
||||
proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} {
|
||||
global current_diff_path file_states last_revert
|
||||
global current_diff_path file_states
|
||||
set ::cursorX $x
|
||||
set ::cursorY $y
|
||||
if {[info exists file_states($current_diff_path)]} {
|
||||
|
|
@ -3790,28 +3707,19 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} {
|
|||
tk_popup $ctxmsm $X $Y
|
||||
} else {
|
||||
set has_range [expr {[$::ui_diff tag nextrange sel 0.0] != {}}]
|
||||
set u [mc "Undo Last Revert"]
|
||||
if {$::ui_index eq $::current_diff_side} {
|
||||
set l [mc "Unstage Hunk From Commit"]
|
||||
set h [mc "Revert Hunk"]
|
||||
|
||||
if {$has_range} {
|
||||
set t [mc "Unstage Lines From Commit"]
|
||||
set r [mc "Revert Lines"]
|
||||
} else {
|
||||
set t [mc "Unstage Line From Commit"]
|
||||
set r [mc "Revert Line"]
|
||||
}
|
||||
} else {
|
||||
set l [mc "Stage Hunk For Commit"]
|
||||
set h [mc "Revert Hunk"]
|
||||
|
||||
if {$has_range} {
|
||||
set t [mc "Stage Lines For Commit"]
|
||||
set r [mc "Revert Lines"]
|
||||
} else {
|
||||
set t [mc "Stage Line For Commit"]
|
||||
set r [mc "Revert Line"]
|
||||
}
|
||||
}
|
||||
if {$::is_3way_diff
|
||||
|
|
@ -3822,35 +3730,11 @@ proc popup_diff_menu {ctxm ctxmmg ctxmsm x y X Y} {
|
|||
|| [string match {T?} $state]
|
||||
|| [has_textconv $current_diff_path]} {
|
||||
set s disabled
|
||||
set revert_state disabled
|
||||
} else {
|
||||
set s normal
|
||||
|
||||
# Only allow reverting changes in the working tree. If
|
||||
# the user wants to revert changes in the index, they
|
||||
# need to unstage those first.
|
||||
if {$::ui_workdir eq $::current_diff_side} {
|
||||
set revert_state normal
|
||||
} else {
|
||||
set revert_state disabled
|
||||
}
|
||||
}
|
||||
|
||||
if {$last_revert eq {}} {
|
||||
set undo_state disabled
|
||||
} else {
|
||||
set undo_state normal
|
||||
}
|
||||
|
||||
$ctxm entryconf $::ui_diff_applyhunk -state $s -label $l
|
||||
$ctxm entryconf $::ui_diff_applyline -state $s -label $t
|
||||
$ctxm entryconf $::ui_diff_revertline -state $revert_state \
|
||||
-label $r
|
||||
$ctxm entryconf $::ui_diff_reverthunk -state $revert_state \
|
||||
-label $h
|
||||
$ctxm entryconf $::ui_diff_undorevert -state $undo_state \
|
||||
-label $u
|
||||
|
||||
tk_popup $ctxm $X $Y
|
||||
}
|
||||
}
|
||||
|
|
@ -3977,8 +3861,6 @@ bind . <$M1B-Key-j> do_revert_selection
|
|||
bind . <$M1B-Key-J> do_revert_selection
|
||||
bind . <$M1B-Key-i> do_add_all
|
||||
bind . <$M1B-Key-I> do_add_all
|
||||
bind . <$M1B-Key-e> toggle_commit_type
|
||||
bind . <$M1B-Key-E> toggle_commit_type
|
||||
bind . <$M1B-Key-minus> {show_less_context;break}
|
||||
bind . <$M1B-Key-KP_Subtract> {show_less_context;break}
|
||||
bind . <$M1B-Key-equal> {show_more_context;break}
|
||||
|
|
@ -3995,14 +3877,6 @@ foreach i [list $ui_index $ui_workdir] {
|
|||
}
|
||||
unset i
|
||||
|
||||
bind . <Alt-Key-1> {focus_widget $::ui_workdir}
|
||||
bind . <Alt-Key-2> {focus_widget $::ui_index}
|
||||
bind . <Alt-Key-3> {focus $::ui_diff}
|
||||
bind . <Alt-Key-4> {focus $::ui_comm}
|
||||
|
||||
set file_lists_last_clicked($ui_index) {}
|
||||
set file_lists_last_clicked($ui_workdir) {}
|
||||
|
||||
set file_lists($ui_index) [list]
|
||||
set file_lists($ui_workdir) [list]
|
||||
|
||||
|
|
@ -4181,9 +4055,6 @@ if {$picked && [is_config_true gui.autoexplore]} {
|
|||
do_explore
|
||||
}
|
||||
|
||||
# Clear "Initializing..." status
|
||||
after 500 {$main_status show ""}
|
||||
|
||||
# Local variables:
|
||||
# mode: tcl
|
||||
# indent-tabs-mode: t
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue