git-gui: Allow adding untracked files in selection.
The previous implementation of do_include_selection did not actually add files in state _O (untracked, not added) into the repository when they were in the selection and Commit->Include Selected Files was used. This was due to the file state filtering logic being the same as that of Commit->Include All Files, which only considers existing files. Also fixed a minor issue with rejected attempts to amend an initial commit. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>maint
parent
bca680b054
commit
54896cf7c1
21
git-gui
21
git-gui
|
@ -1891,9 +1891,13 @@ proc include_helper {txt paths} {
|
||||||
foreach path $paths {
|
foreach path $paths {
|
||||||
switch -- [lindex $file_states($path) 0] {
|
switch -- [lindex $file_states($path) 0] {
|
||||||
AM -
|
AM -
|
||||||
|
AD -
|
||||||
MM -
|
MM -
|
||||||
|
UM -
|
||||||
|
U_ -
|
||||||
_M -
|
_M -
|
||||||
_D {
|
_D -
|
||||||
|
_O {
|
||||||
lappend pathList $path
|
lappend pathList $path
|
||||||
if {$path eq $current_diff} {
|
if {$path eq $current_diff} {
|
||||||
set after {reshow_diff;}
|
set after {reshow_diff;}
|
||||||
|
@ -1927,9 +1931,20 @@ proc do_include_selection {} {
|
||||||
|
|
||||||
proc do_include_all {} {
|
proc do_include_all {} {
|
||||||
global file_states
|
global file_states
|
||||||
|
|
||||||
|
set paths [list]
|
||||||
|
foreach path [array names file_states] {
|
||||||
|
switch -- [lindex $file_states($path) 0] {
|
||||||
|
AM -
|
||||||
|
AD -
|
||||||
|
MM -
|
||||||
|
_M -
|
||||||
|
_D {lappend paths $path}
|
||||||
|
}
|
||||||
|
}
|
||||||
include_helper \
|
include_helper \
|
||||||
{Including all modified files} \
|
{Including all modified files} \
|
||||||
[array names file_states]
|
$paths
|
||||||
}
|
}
|
||||||
|
|
||||||
proc do_signoff {} {
|
proc do_signoff {} {
|
||||||
|
@ -1965,7 +1980,7 @@ proc do_select_commit_type {} {
|
||||||
# The amend request was rejected...
|
# The amend request was rejected...
|
||||||
#
|
#
|
||||||
if {![string match amend* $commit_type]} {
|
if {![string match amend* $commit_type]} {
|
||||||
set commit_type new
|
set selected_commit_type new
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue