diff options
author | Joey Hess <joey@kitenet.net> | 2011-02-08 17:52:32 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-02-08 17:52:32 -0400 |
commit | 3ae654254da0449c5ddc4fe16600b76c82e828fe (patch) | |
tree | 35a065fb13cd883390db9ca05cf8d946868889c8 /Command/Map.hs | |
parent | 97d5e23430748487d9b6dea842cdba4e66ba39d9 (diff) |
make remotes absolute while spidering
Diffstat (limited to 'Command/Map.hs')
-rw-r--r-- | Command/Map.hs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Command/Map.hs b/Command/Map.hs index 1b15e34f6..05c03feaf 100644 --- a/Command/Map.hs +++ b/Command/Map.hs @@ -110,7 +110,7 @@ edge umap fullinfo from to = Dot.graphEdge (nodeId from) (nodeId fullto) edgename where -- get the full info for the remote, to get its UUID - fullto = findfullinfo (absRepo from to) + fullto = findfullinfo to findfullinfo n = case (filter (same n) fullinfo) of [] -> n @@ -140,8 +140,13 @@ spider' (r:rs) known | any (same r) known = spider' rs known | otherwise = do r' <- scan r + + -- The remotes will be relative to r', and need to be + -- made absolute for later use. let remotes = map (absRepo r') (Git.remotes r') - spider' (rs ++ remotes) (r':known) + let r'' = Git.remotesAdd r' remotes + + spider' (rs ++ remotes) (r'':known) absRepo :: Git.Repo -> Git.Repo -> Git.Repo absRepo reference r |