Submitter | Katsunori FUJIWARA |
---|---|
Date | Feb. 26, 2016, 11:25 a.m. |
Message ID | <8bc889107331ed73969e.1456485927@feefifofum> |
Download | mbox | patch |
Permalink | /patch/13404/ |
State | Accepted |
Delegated to: | Pierre-Yves David |
Headers | show |
Comments
On 02/26/2016 12:25 PM, FUJIWARA Katsunori wrote: > # HG changeset patch > # User FUJIWARA Katsunori <foozy@lares.dti.ne.jp> > # Date 1456485725 -32400 > # Fri Feb 26 20:22:05 2016 +0900 > # Node ID 8bc889107331ed73969ec1e5364bdd380f736299 > # Parent da6d9ca7f33b1f27c36b9cc6165eac6358f0aee9 > pull: activate a bookmark matching with the destination of the update > > Before this patch, "hg pull -u" doesn't activate a bookmark, which > matches with the explicit destination of the update, even though bare > "hg update" does so. In practice, it looks like your are talking about: 'hg pull -u --rev bmname' am I right? if so, we should probably update the commit message to have the '--rev bmname' bits This seems to also apply to `hg pull -u URL#bmname too. If so, I think the change make sense (probably requires a BC) flagging. If you agree with the aboves, we can probably update the message in flight. > diff --git a/mercurial/commands.py b/mercurial/commands.py > --- a/mercurial/commands.py > +++ b/mercurial/commands.py > @@ -5566,6 +5566,10 @@ def postincoming(ui, repo, modheads, opt > pass # no-op update > elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()): > ui.status(_("updating bookmark %s\n") % repo._activebookmark) > + elif brev in repo._bookmarks: > + if brev != repo._activebookmark: > + ui.status(_("(activating bookmark %s)\n") % brev) > + bookmarks.activate(repo, brev) > return ret > if modheads > 1: > currentbranchheads = len(repo.branchheads()) > diff --git a/tests/test-pull-update.t b/tests/test-pull-update.t > --- a/tests/test-pull-update.t > +++ b/tests/test-pull-update.t > @@ -61,4 +61,66 @@ Should work: > added 1 changesets with 1 changes to 1 files (-1 heads) > 1 files updated, 0 files merged, 0 files removed, 0 files unresolved > > +Similarity between "hg update" and "hg pull -u" in handling bookmark > +==================================================================== > + > +Test that updating activates the bookmark, which matches with the > +explicit destination of the update. > + > + $ echo 4 >> foo > + $ hg commit -m "#4" > + $ hg bookmark active-after-pull > + $ cd ../tt > + > +(1) activating by --rev BOOKMARK > + > + $ hg bookmark -f active-before-pull > + $ hg bookmarks > + * active-before-pull 3:483b76ad4309 > + > + $ hg pull -u -r active-after-pull > + pulling from $TESTTMP/t (glob) > + searching for changes > + adding changesets > + adding manifests > + adding file changes > + added 1 changesets with 1 changes to 1 files > + adding remote bookmark active-after-pull > + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved > + (activating bookmark active-after-pull) > + > + $ hg parents -q > + 4:f815b3da6163 > + $ hg bookmarks > + * active-after-pull 4:f815b3da6163 > + active-before-pull 3:483b76ad4309 > + > +(discard pulled changes) > + > + $ hg update -q 483b76ad4309 > + $ hg rollback -q > + > +(2) activating by URL#BOOKMARK > + > + $ hg bookmark -f active-before-pull > + $ hg bookmarks > + * active-before-pull 3:483b76ad4309 > + > + $ hg pull -u $TESTTMP/t#active-after-pull > + pulling from $TESTTMP/t (glob) > + searching for changes > + adding changesets > + adding manifests > + adding file changes > + added 1 changesets with 1 changes to 1 files > + adding remote bookmark active-after-pull > + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved > + (activating bookmark active-after-pull) > + > + $ hg parents -q > + 4:f815b3da6163 > + $ hg bookmarks > + * active-after-pull 4:f815b3da6163 > + active-before-pull 3:483b76ad4309 > + > $ cd ..
At Sat, 27 Feb 2016 14:38:28 +0100, Pierre-Yves David wrote: > > On 02/26/2016 12:25 PM, FUJIWARA Katsunori wrote: > > # HG changeset patch > > # User FUJIWARA Katsunori <foozy@lares.dti.ne.jp> > > # Date 1456485725 -32400 > > # Fri Feb 26 20:22:05 2016 +0900 > > # Node ID 8bc889107331ed73969ec1e5364bdd380f736299 > > # Parent da6d9ca7f33b1f27c36b9cc6165eac6358f0aee9 > > pull: activate a bookmark matching with the destination of the update > > > > Before this patch, "hg pull -u" doesn't activate a bookmark, which > > matches with the explicit destination of the update, even though bare > > "hg update" does so. > > In practice, it looks like your are talking about: > > 'hg pull -u --rev bmname' > > am I right? if so, we should probably update the commit message to have > the '--rev bmname' bits > > This seems to also apply to `hg pull -u URL#bmname too. Yes, this patch focuses on "hg pull -u" with argument below: - option --rev BOOKMARK - source URL#BOOKMARK > If so, I think the change make sense (probably requires a BC) flagging. > > If you agree with the aboves, we can probably update the message in flight. Please do so. > > diff --git a/mercurial/commands.py b/mercurial/commands.py > > --- a/mercurial/commands.py > > +++ b/mercurial/commands.py > > @@ -5566,6 +5566,10 @@ def postincoming(ui, repo, modheads, opt > > pass # no-op update > > elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()): > > ui.status(_("updating bookmark %s\n") % repo._activebookmark) > > + elif brev in repo._bookmarks: > > + if brev != repo._activebookmark: > > + ui.status(_("(activating bookmark %s)\n") % brev) > > + bookmarks.activate(repo, brev) > > return ret > > if modheads > 1: > > currentbranchheads = len(repo.branchheads()) > > diff --git a/tests/test-pull-update.t b/tests/test-pull-update.t > > --- a/tests/test-pull-update.t > > +++ b/tests/test-pull-update.t > > @@ -61,4 +61,66 @@ Should work: > > added 1 changesets with 1 changes to 1 files (-1 heads) > > 1 files updated, 0 files merged, 0 files removed, 0 files unresolved > > > > +Similarity between "hg update" and "hg pull -u" in handling bookmark > > +==================================================================== > > + > > +Test that updating activates the bookmark, which matches with the > > +explicit destination of the update. > > + > > + $ echo 4 >> foo > > + $ hg commit -m "#4" > > + $ hg bookmark active-after-pull > > + $ cd ../tt > > + > > +(1) activating by --rev BOOKMARK > > + > > + $ hg bookmark -f active-before-pull > > + $ hg bookmarks > > + * active-before-pull 3:483b76ad4309 > > + > > + $ hg pull -u -r active-after-pull > > + pulling from $TESTTMP/t (glob) > > + searching for changes > > + adding changesets > > + adding manifests > > + adding file changes > > + added 1 changesets with 1 changes to 1 files > > + adding remote bookmark active-after-pull > > + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved > > + (activating bookmark active-after-pull) > > + > > + $ hg parents -q > > + 4:f815b3da6163 > > + $ hg bookmarks > > + * active-after-pull 4:f815b3da6163 > > + active-before-pull 3:483b76ad4309 > > + > > +(discard pulled changes) > > + > > + $ hg update -q 483b76ad4309 > > + $ hg rollback -q > > + > > +(2) activating by URL#BOOKMARK > > + > > + $ hg bookmark -f active-before-pull > > + $ hg bookmarks > > + * active-before-pull 3:483b76ad4309 > > + > > + $ hg pull -u $TESTTMP/t#active-after-pull > > + pulling from $TESTTMP/t (glob) > > + searching for changes > > + adding changesets > > + adding manifests > > + adding file changes > > + added 1 changesets with 1 changes to 1 files > > + adding remote bookmark active-after-pull > > + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved > > + (activating bookmark active-after-pull) > > + > > + $ hg parents -q > > + 4:f815b3da6163 > > + $ hg bookmarks > > + * active-after-pull 4:f815b3da6163 > > + active-before-pull 3:483b76ad4309 > > + > > $ cd .. > > -- > Pierre-Yves David > ---------------------------------------------------------------------- [FUJIWARA Katsunori] foozy@lares.dti.ne.jp
Patch
diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -5566,6 +5566,10 @@ def postincoming(ui, repo, modheads, opt pass # no-op update elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()): ui.status(_("updating bookmark %s\n") % repo._activebookmark) + elif brev in repo._bookmarks: + if brev != repo._activebookmark: + ui.status(_("(activating bookmark %s)\n") % brev) + bookmarks.activate(repo, brev) return ret if modheads > 1: currentbranchheads = len(repo.branchheads()) diff --git a/tests/test-pull-update.t b/tests/test-pull-update.t --- a/tests/test-pull-update.t +++ b/tests/test-pull-update.t @@ -61,4 +61,66 @@ Should work: added 1 changesets with 1 changes to 1 files (-1 heads) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved +Similarity between "hg update" and "hg pull -u" in handling bookmark +==================================================================== + +Test that updating activates the bookmark, which matches with the +explicit destination of the update. + + $ echo 4 >> foo + $ hg commit -m "#4" + $ hg bookmark active-after-pull + $ cd ../tt + +(1) activating by --rev BOOKMARK + + $ hg bookmark -f active-before-pull + $ hg bookmarks + * active-before-pull 3:483b76ad4309 + + $ hg pull -u -r active-after-pull + pulling from $TESTTMP/t (glob) + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + adding remote bookmark active-after-pull + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (activating bookmark active-after-pull) + + $ hg parents -q + 4:f815b3da6163 + $ hg bookmarks + * active-after-pull 4:f815b3da6163 + active-before-pull 3:483b76ad4309 + +(discard pulled changes) + + $ hg update -q 483b76ad4309 + $ hg rollback -q + +(2) activating by URL#BOOKMARK + + $ hg bookmark -f active-before-pull + $ hg bookmarks + * active-before-pull 3:483b76ad4309 + + $ hg pull -u $TESTTMP/t#active-after-pull + pulling from $TESTTMP/t (glob) + searching for changes + adding changesets + adding manifests + adding file changes + added 1 changesets with 1 changes to 1 files + adding remote bookmark active-after-pull + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved + (activating bookmark active-after-pull) + + $ hg parents -q + 4:f815b3da6163 + $ hg bookmarks + * active-after-pull 4:f815b3da6163 + active-before-pull 3:483b76ad4309 + $ cd ..