Skip to content

Commit

Permalink
Merge git://repo.or.cz/git-gui
Browse files Browse the repository at this point in the history
* git://repo.or.cz/git-gui:
  git-gui: Teach start_push_anywhere_action{} to notice when remote is a mirror.
  • Loading branch information
Junio C Hamano committed Dec 2, 2008
2 parents 521ae13 + 861c68e commit ed56049
Showing 1 changed file with 27 additions and 16 deletions.
43 changes: 27 additions & 16 deletions git-gui/lib/transport.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,15 @@ proc push_to {remote} {
proc start_push_anywhere_action {w} {
global push_urltype push_remote push_url push_thin push_tags
global push_force
global repo_config

set is_mirror 0
set r_url {}
switch -- $push_urltype {
remote {set r_url $push_remote}
remote {
set r_url $push_remote
catch {set is_mirror $repo_config(remote.$push_remote.mirror)}
}
url {set r_url $push_url}
}
if {$r_url eq {}} return
Expand All @@ -53,23 +58,29 @@ proc start_push_anywhere_action {w} {
lappend cmd --tags
}
lappend cmd $r_url
set cnt 0
foreach i [$w.source.l curselection] {
set b [$w.source.l get $i]
lappend cmd "refs/heads/$b:refs/heads/$b"
incr cnt
}
if {$cnt == 0} {
return
} elseif {$cnt == 1} {
set unit branch
if {$is_mirror} {
set cons [console::new \
[mc "push %s" $r_url] \
[mc "Mirroring to %s" $r_url]]
} else {
set unit branches
}
set cnt 0
foreach i [$w.source.l curselection] {
set b [$w.source.l get $i]
lappend cmd "refs/heads/$b:refs/heads/$b"
incr cnt
}
if {$cnt == 0} {
return
} elseif {$cnt == 1} {
set unit branch
} else {
set unit branches
}

set cons [console::new \
[mc "push %s" $r_url] \
[mc "Pushing %s %s to %s" $cnt $unit $r_url]]
set cons [console::new \
[mc "push %s" $r_url] \
[mc "Pushing %s %s to %s" $cnt $unit $r_url]]
}
console::exec $cons $cmd
destroy $w
}
Expand Down

0 comments on commit ed56049

Please sign in to comment.