D11956: exchange: add fast path for subrepo check on push
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Try to check if .hgsub and .hgsubstate exist at all before looking for them in every changeset to be pushed. The latter can be quite expensive for large repositories and the existance check is almost free. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11956 AFFECTED FILES mercurial/exchange.py CHANGE DETAILS diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -522,8 +522,21 @@ def _checksubrepostate(pushop): """Ensure all outgoing referenced subrepo revisions are present locally""" + +repo = pushop.repo + +# If the repository does not use subrepos, skip the expensive +# manifest checks. +try: +if not len(repo.file(b'.hgsub')) or not len(repo.file(b'.hgsubstate')): +return +except RuntimeError: +# Alternative filelog implementations might not implement this, +# so just fallback to the generic implementation. +pass + for n in pushop.outgoing.missing: -ctx = pushop.repo[n] +ctx = repo[n] if b'.hgsub' in ctx.manifest() and b'.hgsubstate' in ctx.files(): for subpath in sorted(ctx.substate): To: joerg.sonnenberger, #hg-reviewers Cc: mercurial-patches, mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
bugzilla weekly report (2022-01-03)
Bug activity report, between 2021-12-27 and 2022-01-03 * urgent+: 4 bugs * unconfirmed: 78 bugs (1 added) * new: 1 bugs * closed: 4 bugs * need example: 0 bugs * new details: 0 bugs * active: 19 bugs * long inactive: 3 bugs urgent+ --- Open of urgent or critical bugs. Found 4 bugs with our query. id summary --- (#6219) mercurial can generate incomplete bundle, corrupting the reposit (#6220) [hg/python3] pre-tag hook can't fixup arguments anymore (#6536) test-chg.t is flaky (#6537) frequent time-out during `test-py2-chg` CI unconfirmed --- Bugs with status 'unconfirmed'. Found 78 bugs with our query (1 added). id summary --- (#5836) import of a git patch containing 'From' in the commit message co (#6049) `hg split` fails on long paths (#6075) explicit GC on every request make repositories with thousands of (#6212) monoblue: many help pages illegible due to layout problems (#6309) Exception while pushing (#6337) Raising Abort from hook running server-side breaks protocol if m (#6340) Occasional "IndexError: revlog out of range" on amends (#6345) Rebasing adds unrelated file changes (#6348) Occasional "depthcache must be warmed before use" errors on push (#6355) Comparision with None problem in mercurial.obsolete (#6377) hg split failure (#6386) metaedit should trigger evolve --all (#6387) topic - merge - rebase (#6397) Th prompt 'password:' is written to STDERR stream. (#6402) test-stdio.py flakiness (#6406) Picking a commit with a topic to a wdir without a topic neither (#6408) hggit incoming: 'overlaymanifestlog' object has no attribute '_r (#6414) In-memory rebase does not reactivate bookmark after falling back (#6417) --per-file does not work when only one file has changed (#6420) need ability to use non-native eols in work-files, besides nativ (#6421) Missing but unneeded merge-tool entries too noisy even for verbo (#6433) duplicated output for `hg next` when ambiguous changesets (#6435) In memory rebase drops the topic (#6441) Rename topics more easily (#6442) prune: add -t --topic (#6453) Unknown exception on execute the command "hg pull -u" (#6454) Rebase w/ dirty wdir + in-memory merge can lead to data loss (#6457) Integrity Check Failed (#6462) Add support for lightweight, unversioned tags (#6463) hg commit --amend crashes if committemplate contains "{revset(.. (#6464) largefiles.usercache configuration option is not documented (#6465) Provide option to not use largefiles usercache (#6467) purge remove files following directory junctions, included desti (#6468) test-sqlitestore.t is flaky (#6470) test-wireproto-exchangev2-shallow.t is flaky (#6473) __index__.py is generated with str instead of bytes (#6474) narrow extention loose it`s page (#6490) hgweb error on /archive/ without node (#6491) Repository in a state where files are erroneously identified as (#6495) utf-8 encoding error in hg log --style changelog (#6497) RFE: hg which command, that identifies where a subcommand is def (#6498) [evolve] user/username confusion (#6501) Rebase switches parent order of merge (#6502) Hg archive download in a slow manner. (#6507) share can't work with repo at samba-path (#6509) Mercurial rust extensions crash (#6511) git repo stuck in an ODB type mismatch state (#6522) strip seems to confuse commandserver about where topics are appl (#6525) push with local subrepo infer subrepo content to remote-repo (#6527) Incorrect error message shown when aborting a merge with an ongo (#6531) Working directory has uncommitted changes after merge (#6534) Crash on hg rebase (#6535) hg prints nothing in win8 cmd console (#6539) possible dirstate corruption combining commit and revert -ri (#6543) Does 123.hp.com/setup site provide authentic guides a
[Bug 6628] New: test-run-tests fails with pygments 2.11.1
https://bz.mercurial-scm.org/show_bug.cgi?id=6628 Bug ID: 6628 Summary: test-run-tests fails with pygments 2.11.1 Product: Mercurial Version: unspecified Hardware: PC OS: Linux Status: UNCONFIRMED Severity: bug Priority: wish Component: Mercurial Assignee: bugzi...@mercurial-scm.org Reporter: cedric.kr...@b2ck.com CC: mercurial-devel@mercurial-scm.org Python Version: --- The output is different with this version of the library (https://bugs.gentoo.org/830430): --- /var/tmp/portage/dev-vcs/mercurial-6.0/work/mercurial-6.0/tests/test-run-tests.t +++ /var/tmp/portage/dev-vcs/mercurial-6.0/work/mercurial-6.0/tests/test-run-tests.t.err @@ -176,14 +176,14 @@ running 1 tests using 1 parallel processes \x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc) - \x1b[38;5;34m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc) + \x1b[38;5;28m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc) \x1b[38;5;90;01m@@ -1,4 +1,4 @@\x1b[39;00m (esc) - $ echo "bar-baz"; echo "bar-bad"; echo foo - \x1b[38;5;34m+ bar*baz (glob)\x1b[39m (esc) - bar*bad (glob) + \x1b[38;5;250m \x1b[39m $ echo "bar-baz"; echo "bar-bad"; echo foo (esc) + \x1b[38;5;28m+ bar*baz (glob)\x1b[39m (esc) + \x1b[38;5;250m \x1b[39m bar*bad (glob) (esc) \x1b[38;5;124m- bar*baz (glob)\x1b[39m (esc) \x1b[38;5;124m- | fo (re)\x1b[39m (esc) - \x1b[38;5;34m+ foo\x1b[39m (esc) + \x1b[38;5;28m+ foo\x1b[39m (esc) \x1b[38;5;88mERROR: \x1b[39m\x1b[38;5;9mtest-failure.t\x1b[39m\x1b[38;5;88m output changed\x1b[39m (esc) ! ERROR: test-run-tests.t output changed -- You are receiving this mail because: You are on the CC list for the bug. ___ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel