# HG changeset patch # User Pierre-Yves David # Date 1539514742 -7200 # 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 -r 34a46d48d24e -r 38392d5bde8e mercurial/bundle2.py --- a/mercurial/bundle2.py Sun Oct 14 13:19:24 2018 +0200 +++ b/mercurial/bundle2.py Sun Oct 14 12:59:02 2018 +0200 @@ -2193,8 +2193,6 @@ 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 -r 34a46d48d24e -r 38392d5bde8e mercurial/debugcommands.py --- a/mercurial/debugcommands.py Sun Oct 14 13:19:24 2018 +0200 +++ b/mercurial/debugcommands.py Sun Oct 14 12:59:02 2018 +0200 @@ -1766,7 +1766,6 @@ 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 -r 34a46d48d24e -r 38392d5bde8e mercurial/scmutil.py --- a/mercurial/scmutil.py Sun Oct 14 13:19:24 2018 +0200 +++ b/mercurial/scmutil.py Sun Oct 14 12:59:02 2018 +0200 @@ -1766,6 +1766,9 @@ @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 -r 34a46d48d24e -r 38392d5bde8e tests/test-bundle2-exchange.t --- a/tests/test-bundle2-exchange.t Sun Oct 14 13:19:24 2018 +0200 +++ b/tests/test-bundle2-exchange.t Sun Oct 14 12:59:02 2018 +0200 @@ -74,13 +74,13 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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