Re: [PATCH 01 of 10] tests: use grep -E instead of obsolescent egrep

2023-06-28 Thread Joerg Sonnenberger
On Wed, Jun 28, 2023 at 02:06:46AM +0200, Mads Kiilerich wrote: > # HG changeset patch > # User Mads Kiilerich > # Date 1687782898 -7200 > # Mon Jun 26 14:34:58 2023 +0200 > # Branch stable > # Node ID 2790b07cd5da2be40fd5299ae114a49eb6196e55 > # Parent

Re: [PATCH] histedit: fix diff colors

2022-10-25 Thread Joerg Sonnenberger
Am Mon, Oct 24, 2022 at 05:05:18PM -0400 schrieb Jordi Gutiérrez Hermoso: > I don't know what was up here, but seems like checking for the first > byte isn't the same thing as "startswith", so the colours in chistedit > diffs were broken. Can you also please build a test case for this? Joerg

Re: [PATCH] histedit: fix diff colors

2022-10-25 Thread Joerg Sonnenberger
On Mon, Oct 24, 2022 at 05:05:18PM -0400, Jordi Gutiérrez Hermoso wrote: > diff --git a/hgext/histedit.py b/hgext/histedit.py > --- a/hgext/histedit.py > +++ b/hgext/histedit.py > @@ -1428,11 +1428,11 @@ pgup/K: move patch up, pgdn/J: move patc > for y in range(0, length): >

Re: [PATCH stable] hghave: make black version regex work with newer versions of black

2022-05-21 Thread Joerg Sonnenberger
Am Sun, May 22, 2022 at 02:13:03AM +0200 schrieb Manuel Jacob: > # HG changeset patch > # User Manuel Jacob > # Date 1653176900 -7200 > # Sun May 22 01:48:20 2022 +0200 > # Branch stable > # Node ID 29f2716c5c54c7e0f7aa6d91979893f5d2078862 > # Parent 477b5145e1a02715f846ce017b460858a58e03b1

D12583: iblt: prototype for setdiscovery

2022-04-27 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D12583 AFFECTED FILES mercurial/bundlerepo.py

D12391: pullbundle: fix file name in the help text

2022-03-21 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY It is pullbundles.manifest and not pullbundle.manifest. REPOSITORY rHG Mercurial BRANCH stable REVISION DETAIL

Re: pycompat.py strategy

2022-03-01 Thread Joerg Sonnenberger
Am Tue, Mar 01, 2022 at 11:20:41AM +0100 schrieb Raphaël Gomès: > > On 2/22/22 23:06, Joerg Sonnenberger wrote: > > Am Mon, Feb 21, 2022 at 11:47:36AM -0700 schrieb Gregory Szorc: > > > Some options: > > > > > > a) Attempt to delete as much a

IBLT-base discovery

2022-02-22 Thread Joerg Sonnenberger
Hello all, TIL: Prototype covering incoming/pull can be found at the end after the hyphen line. This mail is about a prototype for a discovery mechanism based on Invertible Bloom Lookup Tables (IBLT). An IBLT is a generalized form of a Bloom Filter and can be used to efficiently compute set

Re: pycompat.py strategy

2022-02-22 Thread Joerg Sonnenberger
Am Mon, Feb 21, 2022 at 11:47:36AM -0700 schrieb Gregory Szorc: > Some options: > > a) Attempt to delete as much as pycompat.py as possible (leaving only the > pieces needed to abstract over differences in Python 3.5-3.x). > b) Leave the ~complete API provided by pycompat.py and delete pycompat >

D12207: zstd: hack include order to ensure that our zstd.h is found

2022-02-21 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY If the regular Python CFLAGS include directories that already have the zstd headers available, a different and possible incompatible version can be

D11956: exchange: add fast path for subrepo check on push

2022-01-02 Thread joerg.sonnenberger (Joerg Sonnenberger)
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

Re: breach by trojan source code (python)

2021-11-02 Thread Joerg Sonnenberger
On Tue, Nov 02, 2021 at 02:51:01PM +0100, Uwe Brauer wrote: > > Hi > > https://www.trojansource.codes/trojan-source.pdf > > I skimmed the article, the authors claim that python is effect. > > Any thoughts? IMHO this is blown quite out of proportion and reasonably addressed by filters in

Re: [PATCH 1 of 2] fixed compare filelog rev with file content, besides meta-info content

2021-09-25 Thread Joerg Sonnenberger
> * filelog.size() now returns rev textbody len, without meta-info So, have you made sure this doesn't create a huge performance regression? The whole point of the original logic is to try avoid a full revision resolution as often as possible. Joerg

D11453: log: if there is a merge state, show conflictother for . [WIP]

2021-09-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11453 AFFECTED FILES i18n/de.po i18n/ja.po i18n/pt_BR.po

D7177: rebase: introduce optional parent mapping

2021-09-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. From the VC call today: The use case can be addressed by marking parents as to-be-preserved, so that for merge commits rebase can decide on the parent link is should operate on. It covers a general DAG and is somewhat easier to use in terms of UX than the

D11252: debugupgraderepo: add fix-metaencoding-flag pass for issue6528

2021-08-04 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. marmoute added a comment. This is similar to D11239 , having this done during upgrade too seems useful, but having a

D11203: revlog: recommit 49fd21f32695 with a fix for issue6528

2021-07-20 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: durin42. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY `filelog.size` currently special cases two forms of metadata encoding: - copy data via the parent order as flag

Re: [PATCH STABLE] cext: fix memory leak in phases computation

2021-06-06 Thread Joerg Sonnenberger
On Mon, Jun 07, 2021 at 12:29:20AM +0200, Georges Racinet wrote: > # HG changeset patch > # User Georges Racinet > # Date 1622935470 -7200 > # Sun Jun 06 01:24:30 2021 +0200 > # Branch stable > # Node ID be560b55eb7cfe25c68fb6fab5417fab6688cf84 > # Parent

D10726: recover: only apply last journal record per file

2021-05-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY This got broken in 2019 when the size check was introduced. It is most noticable when dealing with transactions that involve an inline to

D10725: revlog: update data file record before index rename

2021-05-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Whe migrating from inline to non-inline data storage, the data file is recorded initially as zero sized so that it

D10724: revlog: fix index computation during inline->non-inline transition

2021-05-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The computation 63edc384d3b7 failed

Manifest handling

2021-04-30 Thread Joerg Sonnenberger
Hello all, this is a bit of a brain dump based on a recent discussion with Pierre-Yves on IRC. I think it deserves some input from others and maybe it can grow into a proper plan in time. For the context of this discussion, see https://phab.mercurial-scm.org/D10082 and

D10536: core: don't hard-code node length

2021-04-29 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10536 AFFECTED FILES

D10535: core: don't hard-code hex node lengths

2021-04-29 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10535 AFFECTED FILES

D10534: tests: bump default timeout to 360s

2021-04-29 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY A number of tests hit or almost hit the default limit even on modern hardware. While the tests are ideally split into smaller pieces, that's

D10533: manifests: push down expected node length into the parser

2021-04-29 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY This strictly enforces the node length in the manifest lines according to what the repository expects. One test case moves large hash testing into

D10529: node: replace nullid and friends with nodeconstants class

2021-04-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: durin42. Herald added a reviewer: durin42. Herald added a reviewer: martinvonz. Herald added subscribers: mercurial-patches, Kwan. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The

D10507: tests: don't hard-code /bin/bash

2021-04-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. Alphare accepted this revision. This revision is now accepted and ready to land. joerg.sonnenberger closed this revision. joerg.sonnenberger added a comment. Merged as

Re: clone performance regression

2021-04-27 Thread Joerg Sonnenberger
On Mon, Apr 26, 2021 at 01:48:48PM +, Kim Randell via Mercurial-devel wrote: > We have a large repository (>130,000 changesets, 165 heads, ~3.5GB > bundled with zstd). For the most part Mercurial performs very well for > us. However, we noticed a significant slowdown in cloning when >

D10502: packaging: extract pre-computed version when running from plain tarball

2021-04-20 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The tarballs created by setup.py are not including the usual archive markers as `hg export` leaves, so the rewrite of the version number

D10291: mergestate: remove unused import

2021-03-30 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10291 AFFECTED FILES mercurial/mergestate.py CHANGE DETAILS diff

D10290: refactor: prefer checks against nullrev over nullid

2021-03-29 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY A common pattern is using a changeset context and obtaining the node to compare against nullid. Change this to obtain the nullrev instead. In the

D10289: setdiscovery: simplify by using tiprev directly

2021-03-29 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY tip() uses tiprev() and reads the node from it, so drop a layer of indirection. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL

D10287: shelve: simplify

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10287 AFFECTED FILES mercurial/shelve.py CHANGE DETAILS diff --git

D10288: simplemerge: simplify

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10288 AFFECTED FILES mercurial/simplemerge.py CHANGE DETAILS diff

D10286: mergestate: simplify

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10286 AFFECTED FILES mercurial/mergestate.py CHANGE DETAILS diff

D10285: logcmdutil: simplify

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10285 AFFECTED FILES mercurial/logcmdutil.py CHANGE DETAILS diff

D10283: copies: simplify

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10283 AFFECTED FILES mercurial/copies.py CHANGE DETAILS diff --git

D10280: cmdutil: simplify

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Prefer look-up via nullrev over nullid. We special case the latter, but testing an integer is still cheaper. REPOSITORY rHG Mercurial BRANCH

D10279: split: simplify

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Replace check with nullid with a check on the simpler nullrev. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL

D10278: extdiff: avoid nullid

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10278 AFFECTED FILES hgext/extdiff.py CHANGE DETAILS diff --git

D10277: fix: merge imports

2021-03-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10277 AFFECTED FILES hgext/fix.py CHANGE DETAILS diff --git

D10244: tests: ask any chg instance to terminate before looking at sqlite dbs

2021-03-19 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY There are spurious errors in CI where the database is still locked, so force the daemon to quit to get deterministic behavior. Since the kill

D10243: chg: kill trailing comma in SEE ALSO

2021-03-19 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10243 AFFECTED FILES contrib/chg/chg.1 CHANGE DETAILS diff --git

D10242: tests: resort to fix test with newer git versions

2021-03-19 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: durin42. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10242 AFFECTED FILES

D10241: git: fix missing case from 6266d19556ad (introduction of nodeconstants)

2021-03-19 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: durin42. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10241 AFFECTED FILES

D10226: README: document requirement for builtin zstd

2021-03-15 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10226 AFFECTED FILES README.rst CHANGE DETAILS diff --git

D10150: revlog: guarantee that p1 != null if a non-null parent exists

2021-03-10 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: durin42. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY This change does not affect the hashing (which already did this transformation),

D10103: relnotes: document a number of node->revision type changes

2021-03-03 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D10103 AFFECTED FILES relnotes/next CHANGE DETAILS diff --git

D10082: tags: redo .hgtags file node cache to work more like the revbranchcache [WIP]

2021-03-01 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Computing tags requires parsing .hgtags for all heads. Mercurial therefore keeps a cache to efficiently find the .hgtags version of a revision

D10081: changelog: rename parameters to reflect semantics

2021-03-01 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY `read` and `readfiles` can be used with a revision just as well, so follow the naming convention in revlog to reflect this. REPOSITORY rHG

Re: [RFC] Interaction between strip and caches

2021-02-27 Thread Joerg Sonnenberger
On Fri, Feb 26, 2021 at 10:52:52PM -0500, Augie Fackler wrote: > > > > On Dec 14, 2020, at 5:03 PM, Joerg Sonnenberger wrote: > > > > Hello all, > > while looking at the revbranchcache, I noticed that it is doing quite an > > expensive probalistic invalidat

Re: SHA1 replacement steps

2021-02-27 Thread Joerg Sonnenberger
On Fri, Feb 26, 2021 at 10:49:45PM -0500, Augie Fackler wrote: > > > > On Feb 15, 2021, at 9:18 AM, Joerg Sonnenberger wrote: > > > > Hello all, > > to help the review process along, here are the rough steps I see in > > preparation for supporting 256bit h

D10075: ci: hook network-io tests into the pipeline

2021-02-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY This runs the "pip install" tests once for Python 2 and 3 each. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL

SHA1 replacement steps

2021-02-15 Thread Joerg Sonnenberger
Hello all, to help the review process along, here are the rough steps I see in preparation for supporting 256bit hashes: (1) Move the current 160bit constants from mercurial.node into a subclass. Instead of a global constant, derive the correct constant from the repo/revlog/... instance and pass

D9955: build: fake PEP440 versions

2021-02-04 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY If the current version is not exactly a tag, use a local version specifier to fix it up. PEP 440 uses the "+" separator and only allows

D9950: ci: test real dependency installation for pip [WIP]

2021-02-02 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY In the past, the pip smoke test inhibited actual dependency installation, but that fails in different environments for setuptools itself. Since it

D9928: tests: drop pip test on the client

2021-01-30 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The PIP testing is fragile, various hacks are included already. It has been failing persistently in the CI and locally on OpenSuSE. Since general

D9883: revlog: change addgroup callbacks to take revision numbers

2021-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9883 AFFECTED FILES

D9882: revlog: change addrevision to return the new revision, not node

2021-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9882 AFFECTED FILES

D9884: changegroup: don't convert revisions to node for duplicate handling

2021-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The only consumer can handle revision lists fine. Avoid materializing a range if there are no duplicates as optimization. REPOSITORY rHG Mercurial

D9881: revlog: change addrawrevision to return the revision

2021-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9881 AFFECTED FILES

D9880: revlog: change _addrevision to return the new revision

2021-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The node is passed as argument already, so returning it is quite pointless. The revision number on the other is

D9878: revlog: initial version of phash index [POC]

2021-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Integration is still somewhat hackish, but a reasonable start for a PoC. Comparing it to Rust is not entirely fair

D9866: debugshell: add a simple command for starting an interactive shell

2021-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY This simplifies interactive exploration of the Mercurial APIs. The ui and repo instances are provided as local variables. REPOSITORY rHG Mercurial

Re: Getting the revisions of .hgtags programatically

2021-01-24 Thread Joerg Sonnenberger
On Sun, Jan 24, 2021 at 10:59:30PM +, Roy Marples wrote: > On 24/01/2021 22:50, Joerg Sonnenberger wrote: > > On Sun, Jan 24, 2021 at 10:16:46PM +, Roy Marples wrote: > > > Hi Joerg > > > > > > On 24/01/2021 22:03, Joerg Sonnenberger wrote: > >

Re: Getting the revisions of .hgtags programatically

2021-01-24 Thread Joerg Sonnenberger
On Sun, Jan 24, 2021 at 10:16:46PM +, Roy Marples wrote: > Hi Joerg > > On 24/01/2021 22:03, Joerg Sonnenberger wrote: > > Hello Roy, > > isn't repo.tagslist() (and maybe filtering out local tags) already doing > > what you want? > > It is sort of. I use i

Re: Getting the revisions of .hgtags programatically

2021-01-24 Thread Joerg Sonnenberger
Hello Roy, isn't repo.tagslist() (and maybe filtering out local tags) already doing what you want? Joerg On Sat, Jan 23, 2021 at 01:56:52AM +, Roy Marples via Mercurial-devel wrote: > Hi List > > I'm working on added tag support to the fastexport extension. > I have little idea about the

D9847: revlog: decouple caching from addrevision callback for addgroup

2021-01-21 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY For changesets, it is useful to cache the content as it will almost always be processed afterwards. For manifests

D9842: tests: deal with more timing differences in output

2021-01-20 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9842 AFFECTED FILES tests/test-wireproto-exchangev2-shallow.t CHANGE

D9831: exchangev2: avoid second look-up by node

2021-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Accessing the revlog by node is slightly more expensive than by revision, so look up the revision first and use it afterwards. REPOSITORY rHG

D9830: commit: look-up new revision once

2021-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Look-up by node is slightly more expensive, so since it is necessary more than once, do it explicitly. REPOSITORY rHG Mercurial BRANCH default

D9821: sqlitestore: disable test with chg

2021-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY There are known issues with transactions not being closed in a timely fashion, making the test flakey. REPOSITORY rHG Mercurial BRANCH default

D9782: localrepo: fix comment typo

2021-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9782 AFFECTED FILES mercurial/localrepo.py CHANGE DETAILS diff --git

D9781: branchmap: update rev-branch-cache incrementally

2021-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Historically, the revision to branch mapping cache was updated on demand and shared via bundle2 to avoid the cost of rebuilding on first use.

D9780: repository: introduce register_changeset callback

2021-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The new callback is called whenever a changeset is added to the repository (commit, unbundle or exchange). Since the bulk operations already parse

D9779: changelog: move branchinfo to changelogrevision

2021-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The function parses the extra dictionary after looking up the changelogrevision. To avoid duplicated look up, it is better to provide it as

D9778: reverse-branch-cache: switch to doubling allocating scheme

2021-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY In preperation for updating the reverse-branch-cache incrementally whenever a new changeset comes in, avoid bad performance on resize with Python

D9750: node: introduce nodeconstants class

2021-01-13 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: durin42. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. joerg.sonnenberger added a comment. This is the API changing part of D9465

[RFC] Perfect hash table plan

2021-01-12 Thread Joerg Sonnenberger
Hello all, I've been looking at different indexing methods for use in different parts of store and cache. One technique that I had part of the code base around already is the generation of perfect hash tables. The plan can be found in the Wiki: https://www.mercurial-scm.org/wiki/PhashPlan

Re: New revlog format, plan page

2021-01-11 Thread Joerg Sonnenberger
On Mon, Jan 11, 2021 at 01:12:30PM +0100, Pierre-Yves David wrote: > (1) Some of the current cache we have would fit well in such index > * The hgtagsfnodes cache: taking 4 bytes to cache the `.hgtags` revision > number associated with a changelog revisions. (This will requires some > bookkeeping

Re: New revlog format, plan page

2021-01-07 Thread Joerg Sonnenberger
On Thu, Jan 07, 2021 at 12:04:06PM -0500, Josef 'Jeff' Sipek wrote: > On Tue, Jan 05, 2021 at 19:33:36 +0100, Joerg Sonnenberger wrote: > > On Tue, Jan 05, 2021 at 04:38:20PM +0100, Raphaël Gomès wrote: > > > I've opened a very much draft plan page [1] to try to list all th

D9689: comments: fix typos

2021-01-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9689 AFFECTED FILES mercurial/repoview.py

D9688: nodemap: match comment to actual code

2021-01-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY REV_OFFSET constant is 2, not 10. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9688 AFFECTED FILES

Re: New revlog format, plan page

2021-01-06 Thread Joerg Sonnenberger
On Thu, Jan 07, 2021 at 01:05:34AM +, Johannes Totz wrote: > Have we ever addressed the file duplication on hg-mv? .hg/store/data/ will > end up with lots of duplicated data. That has always been my biggest gripe. That's the unified revlog issue. Joerg

D9687: contrib: py3 compat for perfnodemap

2021-01-06 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9687 AFFECTED FILES contrib/perf.py CHANGE DETAILS diff --git

Re: New revlog format, plan page

2021-01-05 Thread Joerg Sonnenberger
On Tue, Jan 05, 2021 at 04:38:20PM +0100, Raphaël Gomès wrote: > I've opened a very much draft plan page [1] to try to list all the things we > want to do in that version and try to figure out an efficient new format. "No support for hash version" I don't think that points really matters. The

Re: Any way to get Mercurial version from inside a Python hook?

2020-12-29 Thread Joerg Sonnenberger
On Fri, Dec 25, 2020 at 08:04:14PM +0100, Ansis Māliņš wrote: > I want to obtain the current Mercurial version from inside a Python hook. I > could just shell execute hg --version, but I thought I'd ask around for a > cheaper, more direct way. Is there any global function or constant that I >

D9663: largefiles: redo heads interception

2020-12-27 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The largefiles extension replaces the "heads" wire command and tries to redirect all uses towards the custom "lheads" wire command. As seen in

D9662: pycompat: fix typos

2020-12-27 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9662 AFFECTED FILES mercurial/pycompat.py CHANGE DETAILS diff --git

D9661: statichttprepo: explicitly convert error message to str

2020-12-27 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY For Python 2.7, the implicit conversion of the HTTPError instance to str was good enough. For Python 3.x, this fails later when hitting the str to

D9660: worker: restrict use of worker procesess to the main thread

2020-12-27 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY This is a test workaround for bz6460 REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9660 AFFECTED

D9636: bundle: add option to avoid checking further delta candidates [POC]

2020-12-19 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: indygreg. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY Especially when applying a clone bundle and the follow-up pull, the deltas will be nearly optimal. Add a test

D9631: branchmap: avoid ancestor computations for absent non-continous branches

2020-12-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The branchhead computation is one of the more heavy operations for bigger repositories as it has to scan all changesets and potentially involves

D9627: cext: shut-up sign compare warnings

2020-12-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9627 AFFECTED FILES mercurial/cext/revlog.c CHANGE DETAILS diff --git

D9626: branchmap: micro-optimize branchinfo

2020-12-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY changelogrevision() is supposed to be used if not all data of changelog.read is used. This is the case here as only the extra field is used. This

[RFC] Interaction between strip and caches

2020-12-14 Thread Joerg Sonnenberger
Hello all, while looking at the revbranchcache, I noticed that it is doing quite an expensive probalistic invalidation dance. It is essentially looking up the revision in the changelog again and compares the first 32bit to see if they (still) match. Other caches are doing cheaper checks like

D9603: branchmap: refactor revbranchmap and use it as topicmap [PoC]

2020-12-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9603 AFFECTED FILES mercurial/branchmap.py mercurial/cacheutil.py

D9598: share: propery copy cache files when cloning from a share

2020-12-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY If a is shared to b and b cloned to c, the old code would look directly under b/.hg for the cache directory and not use the cachevfs layer to pick

D9597: tests: workaround for a flacky test

2020-12-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D9597 AFFECTED FILES tests/test-wireproto-exchangev2-shallow.t CHANGE

  1   2   3   4   5   >