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.
--- 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')
--- 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') %
--- 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))
--- 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