Show More
@@ -226,6 +226,28 b' def deletedivergent(repo, deletefrom, bm' | |||
|
226 | 226 | deleted = True |
|
227 | 227 | return deleted |
|
228 | 228 | |
|
229 | def headsforactive(repo): | |
|
230 | """Given a repo with an active bookmark, return divergent bookmark nodes. | |
|
231 | ||
|
232 | Args: | |
|
233 | repo: A repository with an active bookmark. | |
|
234 | ||
|
235 | Returns: | |
|
236 | A list of binary node ids that is the full list of other | |
|
237 | revisions with bookmarks divergent from the active bookmark. If | |
|
238 | there were no divergent bookmarks, then this list will contain | |
|
239 | only one entry. | |
|
240 | """ | |
|
241 | if not repo._activebookmark: | |
|
242 | raise ValueError( | |
|
243 | 'headsforactive() only makes sense with an active bookmark') | |
|
244 | name = repo._activebookmark.split('@', 1)[0] | |
|
245 | heads = [] | |
|
246 | for mark, n in repo._bookmarks.iteritems(): | |
|
247 | if mark.split('@', 1)[0] == name: | |
|
248 | heads.append(n) | |
|
249 | return heads | |
|
250 | ||
|
229 | 251 | def calculateupdate(ui, repo, checkout): |
|
230 | 252 | '''Return a tuple (targetrev, movemarkfrom) indicating the rev to |
|
231 | 253 | check out and where to move the active bookmark from, if needed.''' |
@@ -234,7 +234,7 b' msgdestmerge = {' | |||
|
234 | 234 | def _destmergebook(repo, action='merge', sourceset=None, destspace=None): |
|
235 | 235 | """find merge destination in the active bookmark case""" |
|
236 | 236 | node = None |
|
237 |
bmheads = |
|
|
237 | bmheads = bookmarks.headsforactive(repo) | |
|
238 | 238 | curhead = repo[repo._activebookmark].node() |
|
239 | 239 | if len(bmheads) == 2: |
|
240 | 240 | if curhead == bmheads[0]: |
@@ -355,7 +355,7 b' def desthistedit(ui, repo):' | |||
|
355 | 355 | return None |
|
356 | 356 | |
|
357 | 357 | def _statusotherbook(ui, repo): |
|
358 |
bmheads = |
|
|
358 | bmheads = bookmarks.headsforactive(repo) | |
|
359 | 359 | curhead = repo[repo._activebookmark].node() |
|
360 | 360 | if repo.revs('%n and parents()', curhead): |
|
361 | 361 | # we are on the active bookmark |
@@ -507,14 +507,6 b' class localrepository(object):' | |||
|
507 | 507 | def _activebookmark(self): |
|
508 | 508 | return self._bookmarks.active |
|
509 | 509 | |
|
510 | def bookmarkheads(self, bookmark): | |
|
511 | name = bookmark.split('@', 1)[0] | |
|
512 | heads = [] | |
|
513 | for mark, n in self._bookmarks.iteritems(): | |
|
514 | if mark.split('@', 1)[0] == name: | |
|
515 | heads.append(n) | |
|
516 | return heads | |
|
517 | ||
|
518 | 510 | # _phaserevs and _phasesets depend on changelog. what we need is to |
|
519 | 511 | # call _phasecache.invalidate() if '00changelog.i' was changed, but it |
|
520 | 512 | # can't be easily expressed in filecache mechanism. |
General Comments 0
You need to be logged in to leave comments.
Login now