git-gui: Allow forced push into remote repository
Some workflows allow the user to forcefully update a remote branch, such as in a "proposed updates" (aka "pu") branch where the branch is rewound and rebuilt on a daily basis against the current master branch. In such a case the "--force" or leading + must be used to make git-push execute anyway, even though it may be discarding one or more commits on the remote side. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
e73bfa7709
commit
1952aa1d57
@ -32,6 +32,7 @@ proc push_to {remote} {
|
||||
|
||||
proc start_push_anywhere_action {w} {
|
||||
global push_urltype push_remote push_url push_thin push_tags
|
||||
global push_force
|
||||
|
||||
set r_url {}
|
||||
switch -- $push_urltype {
|
||||
@ -45,6 +46,9 @@ proc start_push_anywhere_action {w} {
|
||||
if {$push_thin} {
|
||||
lappend cmd --thin
|
||||
}
|
||||
if {$push_force} {
|
||||
lappend cmd --force
|
||||
}
|
||||
if {$push_tags} {
|
||||
lappend cmd --tags
|
||||
}
|
||||
@ -76,6 +80,7 @@ trace add variable push_remote write \
|
||||
proc do_push_anywhere {} {
|
||||
global all_remotes current_branch
|
||||
global push_urltype push_remote push_url push_thin push_tags
|
||||
global push_force
|
||||
|
||||
set w .push_setup
|
||||
toplevel $w
|
||||
@ -151,6 +156,10 @@ proc do_push_anywhere {} {
|
||||
pack $w.dest -anchor nw -fill x -pady 5 -padx 5
|
||||
|
||||
labelframe $w.options -text [mc "Transfer Options"]
|
||||
checkbutton $w.options.force \
|
||||
-text [mc "Force overwrite existing branch (may discard changes)"] \
|
||||
-variable push_force
|
||||
grid $w.options.force -columnspan 2 -sticky w
|
||||
checkbutton $w.options.thin \
|
||||
-text [mc "Use thin pack (for slow network connections)"] \
|
||||
-variable push_thin
|
||||
@ -163,6 +172,7 @@ proc do_push_anywhere {} {
|
||||
pack $w.options -anchor nw -fill x -pady 5 -padx 5
|
||||
|
||||
set push_url {}
|
||||
set push_force 0
|
||||
set push_thin 0
|
||||
set push_tags 0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user