# HG changeset patch # User Pierre-Yves David # Date 2018-10-14 10:59:02 # Node ID 38392d5bde8e66192808bbc166b6570fe31ad9d1 # Parent 34a46d48d24e5ba857e52cf236fc429be50d74fe transaction: issue "new obsmarkers" message at the end of the transaction Instead of making bundle2 code responsible for this, it seems better to have it handled and the transaction level. First, it means the message will be more consistently printed. Second it means we won't spam the message over and over if the data arrive in multiple piece. Third, we are planning to move other similar message at the same level (for the same reason) so having them all at the same location will help us to control the order they are displayed. diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py --- a/mercurial/bundle2.py +++ b/mercurial/bundle2.py @@ -2193,8 +2193,6 @@ def handleobsmarker(op, inpart): return new = op.repo.obsstore.mergemarkers(tr, markerdata) op.repo.invalidatevolatilesets() - if new: - op.repo.ui.status(_('%i new obsolescence markers\n') % new) op.records.add('obsmarkers', {'new': new}) if op.reply is not None: rpart = op.reply.newpart('reply:obsmarkers') diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -1766,7 +1766,6 @@ def debugobsolete(ui, repo, precursor=No repo.obsstore.create(tr, prec, succs, opts['flags'], parents=parents, date=date, metadata=metadata, ui=ui) - repo.ui.status(('1 new obsolescence markers\n')) tr.close() except ValueError as exc: raise error.Abort(_('bad obsmarker input: %s') % diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -1766,6 +1766,9 @@ def registersummarycallback(repo, otr, t @reportsummary def reportobsoleted(repo, tr): obsoleted = obsutil.getobsoleted(repo, tr) + newmarkers = len(tr.changes.get('obsmarkers', ())) + if newmarkers: + repo.ui.status(_('%i new obsolescence markers\n') % newmarkers) if obsoleted: repo.ui.status(_('obsoleted %i changesets\n') % len(obsoleted)) diff --git a/tests/test-bundle2-exchange.t b/tests/test-bundle2-exchange.t --- a/tests/test-bundle2-exchange.t +++ b/tests/test-bundle2-exchange.t @@ -74,13 +74,13 @@ Real world exchange Add more obsolescence information $ hg -R main debugobsolete -d '0 0' 1111111111111111111111111111111111111111 `getmainid 9520eea781bc` + pre-close-tip:02de42196ebe draft 1 new obsolescence markers - pre-close-tip:02de42196ebe draft postclose-tip:02de42196ebe draft txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete $ hg -R main debugobsolete -d '0 0' 2222222222222222222222222222222222222222 `getmainid 24b6387c8c8c` + pre-close-tip:02de42196ebe draft 1 new obsolescence markers - pre-close-tip:02de42196ebe draft postclose-tip:02de42196ebe draft txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete @@ -95,8 +95,8 @@ clone --pull adding manifests adding file changes added 2 changesets with 2 changes to 2 files + pre-close-tip:9520eea781bc draft 1 new obsolescence markers - pre-close-tip:9520eea781bc draft new changesets cd010b8cd998:9520eea781bc (1 drafts) postclose-tip:9520eea781bc draft txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=cd010b8cd998f3981a5a8115f94f8da4ab506089 HG_NODE_LAST=9520eea781bcca16c1e15acc0ba14335a0e8e5ba HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull @@ -124,8 +124,8 @@ pull adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) + pre-close-tip:24b6387c8c8c draft 1 new obsolescence markers - pre-close-tip:24b6387c8c8c draft new changesets 24b6387c8c8c (1 drafts) postclose-tip:24b6387c8c8c draft txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_NODE_LAST=24b6387c8c8cae37178880f3fa95ded3cb1cf785 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull @@ -194,8 +194,8 @@ add extra data to test their exchange du postclose-tip:02de42196ebe draft txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark $ hg -R main debugobsolete -d '0 0' 3333333333333333333333333333333333333333 `getmainid eea13746799a` + pre-close-tip:02de42196ebe draft 1 new obsolescence markers - pre-close-tip:02de42196ebe draft postclose-tip:02de42196ebe draft txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete $ hg -R main bookmark --rev 02de42196ebe book_02de @@ -203,8 +203,8 @@ add extra data to test their exchange du postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark $ hg -R main debugobsolete -d '0 0' 4444444444444444444444444444444444444444 `getmainid 02de42196ebe` + pre-close-tip:02de42196ebe draft book_02de 1 new obsolescence markers - pre-close-tip:02de42196ebe draft book_02de postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete $ hg -R main bookmark --rev 42ccdea3bb16 book_42cc @@ -212,8 +212,8 @@ add extra data to test their exchange du postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark $ hg -R main debugobsolete -d '0 0' 5555555555555555555555555555555555555555 `getmainid 42ccdea3bb16` + pre-close-tip:02de42196ebe draft book_02de 1 new obsolescence markers - pre-close-tip:02de42196ebe draft book_02de postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete $ hg -R main bookmark --rev 5fddd98957c8 book_5fdd @@ -221,8 +221,8 @@ add extra data to test their exchange du postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark $ hg -R main debugobsolete -d '0 0' 6666666666666666666666666666666666666666 `getmainid 5fddd98957c8` + pre-close-tip:02de42196ebe draft book_02de 1 new obsolescence markers - pre-close-tip:02de42196ebe draft book_02de postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete $ hg -R main bookmark --rev 32af7686d403 book_32af @@ -230,8 +230,8 @@ add extra data to test their exchange du postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_TXNID=TXN:$ID$ HG_TXNNAME=bookmark $ hg -R main debugobsolete -d '0 0' 7777777777777777777777777777777777777777 `getmainid 32af7686d403` + pre-close-tip:02de42196ebe draft book_02de 1 new obsolescence markers - pre-close-tip:02de42196ebe draft book_02de postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_TXNID=TXN:$ID$ HG_TXNNAME=debugobsolete @@ -269,8 +269,8 @@ push remote: adding manifests remote: adding file changes remote: added 1 changesets with 0 changes to 0 files (-1 heads) + remote: pre-close-tip:eea13746799a public book_eea1 remote: 1 new obsolescence markers - remote: pre-close-tip:eea13746799a public book_eea1 remote: pushkey: lock state after "bookmarks" remote: lock: free remote: wlock: free @@ -304,9 +304,9 @@ pull over ssh adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) - 1 new obsolescence markers updating bookmark book_02de pre-close-tip:02de42196ebe draft book_02de + 1 new obsolescence markers new changesets 02de42196ebe (1 drafts) postclose-tip:02de42196ebe draft book_02de txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_NODE_LAST=02de42196ebee42ef284b6780a87cdc96e8eaab6 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull @@ -330,9 +330,9 @@ pull over http adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) - 1 new obsolescence markers updating bookmark book_42cc pre-close-tip:42ccdea3bb16 draft book_42cc + 1 new obsolescence markers new changesets 42ccdea3bb16 (1 drafts) postclose-tip:42ccdea3bb16 draft book_42cc txnclose hook: HG_BOOKMARK_MOVED=1 HG_HOOKNAME=txnclose.env HG_HOOKTYPE=txnclose HG_NEW_OBSMARKERS=1 HG_NODE=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_NODE_LAST=42ccdea3bb16d28e1848c95fe2e44c000f3f21b1 HG_PHASES_MOVED=1 HG_SOURCE=pull HG_TXNID=TXN:$ID$ HG_TXNNAME=pull @@ -355,8 +355,8 @@ push over ssh remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files + remote: pre-close-tip:5fddd98957c8 draft book_5fdd remote: 1 new obsolescence markers - remote: pre-close-tip:5fddd98957c8 draft book_5fdd remote: pushkey: lock state after "bookmarks" remote: lock: free remote: wlock: free @@ -406,8 +406,8 @@ push over http remote: adding manifests remote: adding file changes remote: added 1 changesets with 1 changes to 1 files + remote: pre-close-tip:32af7686d403 public book_32af remote: 1 new obsolescence markers - remote: pre-close-tip:32af7686d403 public book_32af remote: pushkey: lock state after "bookmarks" remote: lock: free remote: wlock: free