92 if branches: |
93 if branches: |
93 writeremotenamefile(repo, remotepath, branches, 'branches') |
94 writeremotenamefile(repo, remotepath, branches, 'branches') |
94 finally: |
95 finally: |
95 wlock.release() |
96 wlock.release() |
96 |
97 |
|
98 def activepath(repo, remote): |
|
99 """returns remote path""" |
|
100 local = None |
|
101 # is the remote a local peer |
|
102 local = remote.local() |
|
103 |
|
104 # determine the remote path from the repo, if possible; else just |
|
105 # use the string given to us |
|
106 rpath = remote |
|
107 if local: |
|
108 rpath = remote._repo.root |
|
109 elif not isinstance(remote, str): |
|
110 rpath = remote._url |
|
111 |
|
112 # represent the remotepath with user defined path name if exists |
|
113 for path, url in repo.ui.configitems('paths'): |
|
114 # remove auth info from user defined url |
|
115 url = util.removeauth(url) |
|
116 if url == rpath: |
|
117 rpath = path |
|
118 break |
|
119 |
|
120 return rpath |
|
121 |
97 def pullremotenames(localrepo, remoterepo): |
122 def pullremotenames(localrepo, remoterepo): |
98 """ |
123 """ |
99 pulls bookmarks and branches information of the remote repo during a |
124 pulls bookmarks and branches information of the remote repo during a |
100 pull or clone operation. |
125 pull or clone operation. |
101 localrepo is our local repository |
126 localrepo is our local repository |
102 remoterepo is the peer instance |
127 remoterepo is the peer instance |
103 """ |
128 """ |
104 remotepath = remoterepo.url() |
129 remotepath = activepath(localrepo, remoterepo) |
105 bookmarks = remoterepo.listkeys('bookmarks') |
130 bookmarks = remoterepo.listkeys('bookmarks') |
106 # on a push, we don't want to keep obsolete heads since |
131 # on a push, we don't want to keep obsolete heads since |
107 # they won't show up as heads on the next pull, so we |
132 # they won't show up as heads on the next pull, so we |
108 # remove them here otherwise we would require the user |
133 # remove them here otherwise we would require the user |
109 # to issue a pull to refresh the storage |
134 # to issue a pull to refresh the storage |