Code

git-gui: Save remote urls obtained from config/remotes setup
authorShawn O. Pearce <spearce@spearce.org>
Wed, 25 Jul 2007 07:27:57 +0000 (03:27 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 25 Jul 2007 08:23:09 +0000 (04:23 -0400)
I'm storing the URLs of any pre-configured remote repositories
that we happen to come across so that we can later use these
URLs to show to the user in parts of the UI that might care.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/remote.tcl

index e235ca88765090e08707f63096369d56da76d196..cf9b9d582959e62c805a92a86c33e0f3ae7f304e 100644 (file)
@@ -57,6 +57,7 @@ proc all_tracking_branches {} {
 proc load_all_remotes {} {
        global repo_config
        global all_remotes tracking_branches some_heads_tracking
+       global remote_url
 
        set some_heads_tracking 0
        set all_remotes [list]
@@ -76,6 +77,10 @@ proc load_all_remotes {} {
                        catch {
                                set fd [open [file join $rm_dir $name] r]
                                while {[gets $fd line] >= 0} {
+                                       if {[regexp {^URL:[     ]*(.+)$} $line line url]} {
+                                               set remote_url($name) $url
+                                               continue
+                                       }
                                        if {![regexp {^Pull:[   ]*([^:]+):(.+)$} \
                                                $line line src dst]} continue
                                        if {[string index $src 0] eq {+}} {
@@ -100,6 +105,7 @@ proc load_all_remotes {} {
        foreach line [array names repo_config remote.*.url] {
                if {![regexp ^remote\.(.*)\.url\$ $line line name]} continue
                lappend all_remotes $name
+               set remote_url($name) $repo_config(remote.$name.url)
 
                if {[catch {set fl $repo_config(remote.$name.fetch)}]} {
                        set fl {}