Show More
@@ -284,6 +284,32 b' def reposetup(ui, repo):' | |||||
284 | finally: |
|
284 | finally: | |
285 | wlock.release() |
|
285 | wlock.release() | |
286 |
|
286 | |||
|
287 | def pull(self, remote, heads=None, force=False): | |||
|
288 | result = super(bookmark_repo, self).pull(remote, heads, force) | |||
|
289 | ||||
|
290 | self.ui.debug("checking for updated bookmarks\n") | |||
|
291 | rb = remote.listkeys('bookmarks') | |||
|
292 | changes = 0 | |||
|
293 | for k in rb.keys(): | |||
|
294 | if k in self._bookmarks: | |||
|
295 | nr, nl = rb[k], self._bookmarks[k] | |||
|
296 | if nr in self: | |||
|
297 | cr = self[nr] | |||
|
298 | cl = self[nl] | |||
|
299 | if cl.rev() >= cr.rev(): | |||
|
300 | continue | |||
|
301 | if cr in cl.descendants(): | |||
|
302 | self._bookmarks[k] = cr.node() | |||
|
303 | changes += 1 | |||
|
304 | self.ui.status(_("updating bookmark %s\n") % k) | |||
|
305 | else: | |||
|
306 | self.ui.warn(_("not updating divergent" | |||
|
307 | " bookmark %s\n") % k) | |||
|
308 | if changes: | |||
|
309 | write(repo) | |||
|
310 | ||||
|
311 | return result | |||
|
312 | ||||
287 | def addchangegroup(self, source, srctype, url, emptyok=False): |
|
313 | def addchangegroup(self, source, srctype, url, emptyok=False): | |
288 | parents = self.dirstate.parents() |
|
314 | parents = self.dirstate.parents() | |
289 |
|
315 |
General Comments 0
You need to be logged in to leave comments.
Login now