Mercurial > public > mercurial-scm > hg-stable
diff mercurial/bookmarks.py @ 20281:67ee87a371b2
update: consider successor changesets when moving active bookmark
Previously, when an obsolete changeset was bookmarked, successor changesets were not considered
when moving the bookmark forward. Now that a bare update will move to the tip most of the
successor changesets, we also update the bookmark logic to allow the bookmark to move with this
update.
Tests have been updated and keep issue4015 covered as well.
author | Sean Farley <sean.michael.farley@gmail.com> |
---|---|
date | Wed, 15 Jan 2014 17:48:48 -0600 |
parents | 0f01d0692bc5 |
children | 58300f61b139 |
line wrap: on
line diff
--- a/mercurial/bookmarks.py Wed Jan 15 16:41:18 2014 -0600 +++ b/mercurial/bookmarks.py Wed Jan 15 17:48:48 2014 -0600 @@ -192,13 +192,12 @@ return False if marks[cur] in parents: - old = repo[marks[cur]] new = repo[node] divs = [repo[b] for b in marks if b.split('@', 1)[0] == cur.split('@', 1)[0]] anc = repo.changelog.ancestors([new.rev()]) deletefrom = [b.node() for b in divs if b.rev() in anc or b == new] - if old.descendant(new): + if validdest(repo, repo[marks[cur]], new): marks[cur] = new.node() update = True