git-gui: Verify the user has GIT_COMMITTER_IDENT before comitting.
Since git-commit also checks that the user has a GIT_COMMITTER_IDENT value before it lets the user make a commit we should do the same check here in git-gui. We cache the result and assume that the user won't do something which would change the status of GIT_COMMITTER_IDENT while we are running. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
24ac9b752d
commit
d63efae281
40
git-gui
40
git-gui
@ -732,10 +732,31 @@ proc create_new_commit {} {
|
|||||||
rescan {set ui_status_value {Ready.}}
|
rescan {set ui_status_value {Ready.}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set GIT_COMMITTER_IDENT {}
|
||||||
|
|
||||||
|
proc committer_ident {} {
|
||||||
|
global GIT_COMMITTER_IDENT
|
||||||
|
|
||||||
|
if {$GIT_COMMITTER_IDENT eq {}} {
|
||||||
|
if {[catch {set me [exec git var GIT_COMMITTER_IDENT]} err]} {
|
||||||
|
error_popup "Unable to obtain your identity:\n\n$err"
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \
|
||||||
|
$me me GIT_COMMITTER_IDENT]} {
|
||||||
|
error_popup "Invalid GIT_COMMITTER_IDENT:\n\n$me"
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $GIT_COMMITTER_IDENT
|
||||||
|
}
|
||||||
|
|
||||||
proc commit_tree {} {
|
proc commit_tree {} {
|
||||||
global HEAD commit_type file_states ui_comm repo_config
|
global HEAD commit_type file_states ui_comm repo_config
|
||||||
|
|
||||||
if {![lock_index update]} return
|
if {![lock_index update]} return
|
||||||
|
if {[committer_ident] eq {}} return
|
||||||
|
|
||||||
# -- Our in memory state should match the repository.
|
# -- Our in memory state should match the repository.
|
||||||
#
|
#
|
||||||
@ -1911,24 +1932,13 @@ proc do_include_all {} {
|
|||||||
[array names file_states]
|
[array names file_states]
|
||||||
}
|
}
|
||||||
|
|
||||||
set GIT_COMMITTER_IDENT {}
|
|
||||||
|
|
||||||
proc do_signoff {} {
|
proc do_signoff {} {
|
||||||
global ui_comm GIT_COMMITTER_IDENT
|
global ui_comm
|
||||||
|
|
||||||
if {$GIT_COMMITTER_IDENT eq {}} {
|
set me [committer_ident]
|
||||||
if {[catch {set me [exec git var GIT_COMMITTER_IDENT]} err]} {
|
if {$me eq {}} return
|
||||||
error_popup "Unable to obtain your identity:\n\n$err"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \
|
|
||||||
$me me GIT_COMMITTER_IDENT]} {
|
|
||||||
error_popup "Invalid GIT_COMMITTER_IDENT:\n\n$me"
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
set sob "Signed-off-by: $GIT_COMMITTER_IDENT"
|
set sob "Signed-off-by: $me"
|
||||||
set last [$ui_comm get {end -1c linestart} {end -1c}]
|
set last [$ui_comm get {end -1c linestart} {end -1c}]
|
||||||
if {$last ne $sob} {
|
if {$last ne $sob} {
|
||||||
$ui_comm edit separator
|
$ui_comm edit separator
|
||||||
|
Loading…
Reference in New Issue
Block a user