X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=lib%2Ftransport.tcl;h=8e6a9d0a6010cf5efee069a2d488124bcbdb54cd;hb=c382fdd79548a56fadf8f34d3484cf020eda3966;hp=1c7baef1732a63dc4a7a0e6b86d567616bd379f2;hpb=5f51ccd2598977694d383e9059e89cafb9ae1214;p=git.git diff --git a/lib/transport.tcl b/lib/transport.tcl index 1c7baef17..8e6a9d0a6 100644 --- a/lib/transport.tcl +++ b/lib/transport.tcl @@ -3,7 +3,7 @@ proc fetch_from {remote} { set w [console::new \ - "fetch $remote" \ + [mc "fetch %s" $remote] \ [mc "Fetching new changes from %s" $remote]] set cmds [list] lappend cmds [list exec git fetch $remote] @@ -15,14 +15,14 @@ proc fetch_from {remote} { proc prune_from {remote} { set w [console::new \ - "remote prune $remote" \ + [mc "remote prune %s" $remote] \ [mc "Pruning tracking branches deleted from %s" $remote]] console::exec $w [list git remote prune $remote] } proc push_to {remote} { set w [console::new \ - "push $remote" \ + [mc "push %s" $remote] \ [mc "Pushing changes to %s" $remote]] set cmd [list git push] lappend cmd -v @@ -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 } @@ -64,7 +68,7 @@ proc start_push_anywhere_action {w} { } set cons [console::new \ - "push $r_url" \ + [mc "push %s" $r_url] \ [mc "Pushing %s %s to %s" $cnt $unit $r_url]] console::exec $cons $cmd destroy $w @@ -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