Browse Source

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
Shawn O. Pearce 19 years ago
parent
commit
54896cf7c1
  1. 21
      git-gui

21
git-gui

@ -1891,9 +1891,13 @@ proc include_helper {txt paths} { @@ -1891,9 +1891,13 @@ proc include_helper {txt paths} {
foreach path $paths {
switch -- [lindex $file_states($path) 0] {
AM -
AD -
MM -
UM -
U_ -
_M -
_D {
_D -
_O {
lappend pathList $path
if {$path eq $current_diff} {
set after {reshow_diff;}
@ -1927,9 +1931,20 @@ proc do_include_selection {} { @@ -1927,9 +1931,20 @@ proc do_include_selection {} {

proc do_include_all {} {
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 \
{Including all modified files} \
[array names file_states]
$paths
}

proc do_signoff {} {
@ -1965,7 +1980,7 @@ proc do_select_commit_type {} { @@ -1965,7 +1980,7 @@ proc do_select_commit_type {} {
# The amend request was rejected...
#
if {![string match amend* $commit_type]} {
set commit_type new
set selected_commit_type new
}
}
}

Loading…
Cancel
Save