D3557: extensions: new closehead module for closing arbitrary heads

2018-10-03 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGcd5f2e615262: extensions: new closehead module for closing arbitrary heads (authored by joerg.sonnenberger, committed by ). CHANGED PRIOR TO COMMIT https://phab.mercurial-scm.org/D3557?vs=11254&id=1159

D4908: extensions: fix close-head -r listification

2018-10-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D4908 AFFECTED FILES hgext/closehead.py tests/test-close-head.t CHANGE DETAILS diff --git

D4909: tests: deal with differences in tic from ncurses and NetBSD

2018-10-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D4909 AFFECTED FILES tests/test-status-color.t CHANGE DETAILS diff --git a/tests/test-statu

D4910: tests: do not change sys.path, it can break loading cext.parsers

2018-10-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY When running this tests with run-tests, the prefix would resolve mercurial.cext to the source tree and the attempt to load mercurial.cext.parsers woul

D4910: tests: do not change sys.path, it can break loading cext.parsers

2018-10-09 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG8a08aefa9273: tests: do not change sys.path, it can break loading cext.parsers (authored by joerg.sonnenberger, committed by ). CHANGED PRIOR TO COMMIT https://phab.mercurial-scm.org/D4910?vs=11748&id=

D4908: extensions: fix close-head -r listification

2018-10-09 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG12a72729678e: closehead: fix close-head -r listification (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D4908?vs=1

D4909: tests: deal with differences in tic from ncurses and NetBSD

2018-10-09 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG34d9846023e6: tests: deal with differences in tic from ncurses and NetBSD (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-s

D1606: phases: drop the list with phase of each rev, always comput phase sets

2017-12-06 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Change the C implementation of phasecache.loadphaserevs to provide only the sets for draft and secret phase as well as the number of revisions seen.

D1606: phases: drop the list with phase of each rev, always comput phase sets

2017-12-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added inline comments. INLINE COMMENTS > quark wrote in phases.py:226-237 > Sorry - I made a mistake using `repo.revs('public()')` to test the logic > here. Actually that exercises a different code path >

D1606: phases: drop the list with phase of each rev, always comput phase sets

2017-12-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4228. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1606?vs=4155&id=4228 REVISION DETAIL https://phab.mercurial-scm.org/D1606 AFFECTED FILES mercurial/cext/parsers.c mercurial/cext/revlog.c mercuri

D1615: transaction: build changes['revs'] as range instead of a set.

2017-12-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Revisions are added consecutively, so a range can easily represent them in the changes list. This saves around 45 Bytes / revision on 64bit platforms

D1615: transaction: build changes['revs'] as range instead of a set

2017-12-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG137a08d82232: transaction: build changes['revs'] as range instead of a set (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-

D1606: phases: drop the list with phase of each rev, always comput phase sets

2017-12-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGd13526333835: phases: drop the list with phase of each rev, always comput phase sets (authored by joerg.sonnenberger, committed by ). CHANGED PRIOR TO COMMIT https://phab.mercurial-scm.org/D1606?vs=422

D1621: transaction: split changes['phases'] into sets for src and target phase

2017-12-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY changes['phases'] used to be a dictionary mapping revisions to (old, new) tuples. The encoding is highly redundant and eats ~40MB for the test case in

D1622: transaction: Use intbitset for implementing changes['phase']

2017-12-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1622 AFFECTED FILES mercurial/localrepo.py CHANGE DETAILS diff --git a/mercurial/localrepo

D1621: transaction: split changes['phases'] into sets for src and target phase

2017-12-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. This is a Proof-of-Concept and with a follow-up in https://phab.mercurial-scm.org/D1622 to use a C implementation for the bitset. Original code: 485s / 584MB Set version: 501s / 582MB intbitset: 478s / 563MB REPOSITORY rHG Mercurial REVISION DET

D1622: transaction: Use intbitset for implementing changes['phase']

2017-12-09 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. Like I said, this is primarily a proof of concept. I'm still playing with different approaches and I don't think intbitset is a good fit for other reasons, but it worked the best from the various pre-existing implementations. REPOSITORY rHG Mercurial RE

D1621: transaction: encodes tuples in changes['phases'] as 4 bit ints

2017-12-10 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4341. joerg.sonnenberger edited the summary of this revision. joerg.sonnenberger retitled this revision from "[PoC] transaction: split changes['phases'] into sets for src and target phase" to "transaction: encodes tuples in changes['phases'] as 4 b

D1621: transaction: encodes tuples in changes['phases'] as 4 bit ints

2017-12-10 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. This version should be committable. It introduces the necessary API for isolating further changes and gives a small improvement already. I'll be looking at provider a memory and time efficient sparce vector next, that's where the real benefits will be. RE

D1621: transaction: encodes tuples in changes['phases'] as 4 bit ints

2017-12-11 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. The bitset version has shown already that optimizing this is worthwhile and can eliminate up to 10% of the total size of the transaction object. The change as is primarily gets the interfaces in place, so that outside code can be adjusted. REPOSITORY

D1850: hgweb: when no agreement on compression can be found, fail for v2

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY When the client supports v2 responses, the fallback to the legacy response is undesirable. If the zlib is acceptable for the client, it should have sa

D1855: explicitly kill server processes

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1855 AFFECTED FILES tests/test-pull-r.t CHANGE DETAILS diff --git a/tests/test-pull-r.t b/

D1856: wireproto: server-side support for pullbundles

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Pullbundles are similar to clonebundles, but served as normal inline bundle streams. They are almost transparent to the client -- the only visible eff

D1856: wireproto: server-side support for pullbundles

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4811. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4810&id=4811 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/configitems.py mercurial/help/config.txt mercu

D1857: pull: re-run discovery and pullbundle2 if server didn't send all heads

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1857 AFFECTED FILES mercurial/exchange.py tests/test-pull-r.t CHANGE DETAILS diff --git

D1857: pull: re-run discovery and pullbundle2 if server didn't send all heads

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. This is a proof-of-concept. There is an interaction with obsoletion that I am still trying to understand (and fix). REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1857 To: joerg.sonnenberger, #hg-reviewers Cc: mercurial-devel

D1857: pull: re-run discovery and pullbundle2 if server didn't send all heads

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4813. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1857?vs=4812&id=4813 REVISION DETAIL https://phab.mercurial-scm.org/D1857 AFFECTED FILES mercurial/exchange.py tests/test-pull-r.t CHANGE DETAILS

D1855: explicitly kill server processes

2018-01-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG5bda7bd29688: explicitly kill server processes (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1855?vs=4809&id=481

D1850: hgweb: when no agreement on compression can be found, fail for v2

2018-01-13 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. Which status code shall we use then, just plain 400? REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1850 To: joerg.sonnenberger, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel ___

D1857: pull: re-run discovery and pullbundle2 if server didn't send all heads

2018-01-13 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. With the last update, the obs issues are resolved. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1857 To: joerg.sonnenberger, #hg-reviewers Cc: mercurial-devel ___ Mercurial-devel m

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4816. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4811&id=4816 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/configitems.py mercurial/help/config.txt mercu

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. For my test case, which is a bundle of all changes in the NetBSD repo before 2014 and a yearly bundle afterwards until 2018/1/1 and normal pull for the rest, find_pullbundle needs less than 0.5s of CPU time in this iteration when it matches. After the in

D1857: pull: re-run discovery and pullbundle2 if server didn't send all heads

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4824. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1857?vs=4813&id=4824 REVISION DETAIL https://phab.mercurial-scm.org/D1857 AFFECTED FILES mercurial/exchange.py mercurial/wireproto.py tests/test-

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. > I wish we could find a way to send multiple, inline, pre-generated bundles in one response. However, the existing design of compression within the bundle2 format doesn't easily facilitate this. We should think long and hard about whether to implement thi

D1856: wireproto: server-side support for pullbundles

2018-01-14 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4826. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4816&id=4826 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/configitems.py mercurial/help/config.txt mercu

D1856: wireproto: server-side support for pullbundles

2018-01-15 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4832. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4826&id=4832 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/bundle2.py mercurial/configitems.py mercurial/

D1857: pull: re-run discovery and pullbundle2 if server didn't send all heads

2018-01-15 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger abandoned this revision. joerg.sonnenberger added a comment. Merging into the parent review. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1857 To: joerg.sonnenberger, #hg-reviewers, indygreg Cc: indygreg, mercurial-devel

D1856: wireproto: support for pullbundles

2018-01-15 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4833. joerg.sonnenberger edited the summary of this revision. joerg.sonnenberger retitled this revision from "wireproto: server-side support for pullbundles" to "wireproto: support for pullbundles". REPOSITORY rHG Mercurial CHANGES SINCE LAST UP

D1856: wireproto: support for pullbundles

2018-01-15 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4835. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4833&id=4835 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES mercurial/bundle2.py mercurial/configitems.py mercurial/

D1862: wireproto: split streamres into legacy and modern case

2018-01-15 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY A couple of commands currently require transmission of uncompressed frames with the old MIME type. Split this case from streamres into a new streamres

D1856: wireproto: support for pullbundles

2018-01-16 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4844. joerg.sonnenberger edited the summary of this revision. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4835&id=4846 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES merc

D1856: wireproto: support for pullbundles

2018-01-16 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4846. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4844&id=4846 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES hgext/clonebundles.py mercurial/bundle2.py mercurial/com

D1856: wireproto: support for pullbundles

2018-01-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger marked an inline comment as done. joerg.sonnenberger added a comment. In https://phab.mercurial-scm.org/D1856#31624, @indygreg wrote: > This is looking **much** better! > > There are some places where the code doesn't abide by our (IMO lousy) mergeallthewords naming

D1856: wireproto: support for pullbundles

2018-01-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4853. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4846&id=4853 REVISION DETAIL https://phab.mercurial-scm.org/D1856 AFFECTED FILES hgext/clonebundles.py mercurial/bundle2.py mercurial/com

D1855: explicitly kill server processes

2018-01-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. It was preparation for more tests here. Since I am moving them to a separate file now, I'm not really attached to it at all. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1855 To: joerg.sonnenberger, #hg-reviewers, indygreg

D1880: blackbox: if --debug is used, also trace ui.debug() calls

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1880 AFFECTED FILES hgext/blackbox.py tests/blackbox-readonly-dispatch.py tests/test-bla

D1880: blackbox: if --debug is used, also trace ui.debug() calls

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4902. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1880?vs=4865&id=4902 REVISION DETAIL https://phab.mercurial-scm.org/D1880 AFFECTED FILES hgext/blackbox.py tests/blackbox-readonly-dispatch.py te

D1880: blackbox: if --debug is used, also trace ui.debug() calls

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4903. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1880?vs=4902&id=4903 REVISION DETAIL https://phab.mercurial-scm.org/D1880 AFFECTED FILES hgext/blackbox.py tests/blackbox-readonly-dispatch.py te

D1880: blackbox: if --debug is used, also trace ui.debug() calls

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger marked an inline comment as done. joerg.sonnenberger added inline comments. INLINE COMMENTS > yuja wrote in blackbox.py:136 > These arguments can't be passed directly to `.log()`. > `.log()` takes a format string and its parameters, whereas `.debug()` > takes a list of arbitrar

D1880: blackbox: if --debug is used, also trace ui.debug() calls

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. joerg.sonnenberger marked an inline comment as done. Closed by commit rHG853bf7d90804: blackbox: if --debug is used, also trace ui.debug() calls (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial C

D1862: wireproto: split streamres into legacy and modern case

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4931. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1862?vs=4837&id=4931 REVISION DETAIL https://phab.mercurial-scm.org/D1862 AFFECTED FILES hgext/largefiles/proto.py mercurial/hgweb/protocol.py me

D1862: wireproto: split streamres into legacy and modern case

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4933. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1862?vs=4931&id=4933 REVISION DETAIL https://phab.mercurial-scm.org/D1862 AFFECTED FILES hgext/largefiles/proto.py mercurial/hgweb/protocol.py me

D1856: * wireproto: support for pullbundles

2018-01-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 4932. joerg.sonnenberger retitled this revision from "wireproto: support for pullbundles" to "* wireproto: support for pullbundles". REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1856?vs=4853&id=4932 REVIS

D1862: wireproto: split streamres into legacy and modern case

2018-01-19 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGa39a9df7ecca: wireproto: split streamres into legacy and modern case (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.or

D1938: [ui] Improve ui.write performance when not coloring on Windows

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY For ``hg diff``, ui.write appears as super hot in the profile with up to 60% time spend in it for larger diffs. Introduce two predicates to decide if

D1938: ui: Improve ui.write performance when not coloring on Windows

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 5003. joerg.sonnenberger retitled this revision from "[ui] Improve ui.write performance when not coloring on Windows" to "ui: Improve ui.write performance when not coloring on Windows". REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https

D1939: ui: Improve performance for multi-component writes

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY It is more efficient to pass down one large string to the output streams than many small ones. For a ``hg diff`` test case, it improves time from 2m26

D1938: ui: Improve ui.write performance when not coloring on Windows

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 5005. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1938?vs=5003&id=5005 REVISION DETAIL https://phab.mercurial-scm.org/D1938 AFFECTED FILES mercurial/cmdutil.py mercurial/ui.py CHANGE DETAILS diff

D1938: ui: Improve ui.write performance when not coloring on Windows

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added inline comments. INLINE COMMENTS > cmdutil.py:1627 > +args = [iter(iterable)] * n > +return izip_longest(*args, fillvalue=('', '')) > + The grouping is necessary to avoid computing the full diff in memory with the associated memory use. Turns out splitti

D1940: patch: avoid repeated binary checks if all files in a patch are text

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1940 AFFECTED FILES mercurial/mdiff.py mercurial/patch.py CHANGE DETAILS diff --git a/me

D1941: mdiff: explicitly compute places for the newline marker

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1941 AFFECTED FILES mercurial/mdiff.py CHANGE DETAILS diff --git a/mercurial/mdiff.py b/me

D1941: mdiff: explicitly compute places for the newline marker

2018-01-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. I don't completely trust my numbers here, but it seems to give at least 3-4% for diffing netbsd-7 and netbsd-8. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1941 To: joerg.sonnenberger, #hg-reviewers Cc: mercurial-devel ___

D1941: mdiff: explicitly compute places for the newline marker

2018-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. No, the change to yield a bool first is not strictly necessary for the rest of the logic. But it cheaply kills the need for the `rewindhunk` generator, i.e. it cuts a layer of indirection cheaply. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.

D1940: patch: avoid repeated binary checks if all files in a patch are text

2018-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. I haven't seen a performance difference for regular runs, but it does show up in profiles, so eliminating it avoids wasting mental power by developers down the line. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1940 To: jo

D1941: mdiff: explicitly compute places for the newline marker

2018-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 5008. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1941?vs=5007&id=5008 REVISION DETAIL https://phab.mercurial-scm.org/D1941 AFFECTED FILES mercurial/mdiff.py CHANGE DETAILS diff --git a/mercurial/m

D1942: mdiff: remove rewindhunk by yielding a bool first to indicate data

2018-01-26 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1942 AFFECTED FILES mercurial/mdiff.py CHANGE DETAILS diff --git a/mercurial/mdiff.py b/me

D1944: wireproto: provide accessors for client capabilities

2018-01-27 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY For HTTP, this refactors the existing logic, including the parsing of the compression engine capability. For SSH, this adds a ssh-only capability "

D1944: wireproto: provide accessors for client capabilities

2018-01-27 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added inline comments. INLINE COMMENTS > sshserver.py:74 > + > +def do_protocaps(self): > +"""ssh-specific command for sending the client capabilities So this function triggers the underscore function name check, even if the support for this kind of naming is pre-

D1944: wireproto: provide accessors for client capabilities

2018-01-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added inline comments. INLINE COMMENTS > mharbison72 wrote in sshserver.py:74 > See > https://phab.mercurial-scm.org/rHGbf2db35a6fe7a02b69eaa0e35708cf0044d73510 > for an example of # no-check-commit. Thanks, that answers half of the question. This is an internal interface c

D1945: tests: refactor common bundle2 capabilities

2018-01-28 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D1945 AFFECTED FILES tests/common-pattern.py tests/test-http-bad-server.t CHANGE DETAILS

D1941: mdiff: explicitly compute places for the newline marker

2018-02-01 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGa9d07bd8f758: mdiff: explicitly compute places for the newline marker (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.o

D1942: mdiff: remove rewindhunk by yielding a bool first to indicate data

2018-02-01 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG6a33e81e4c5e: mdiff: remove rewindhunk by yielding a bool first to indicate data (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.merc

D1940: patch: avoid repeated binary checks if all files in a patch are text

2018-02-01 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG079b27b5a869: patch: avoid repeated binary checks if all files in a patch are text (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.me

D1939: ui: Improve performance for multi-component writes

2018-02-03 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGe49c39ffeac2: ui: improve performance for multi-component writes (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D1

D2022: ui: improve ui.write performance when not coloring on Windows

2018-02-03 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D2022 AFFECTED FILES mercurial/logcmdutil.py mercurial/ui.py CHANGE DETAILS diff --git a/

D2022: ui: improve ui.write performance when not coloring on Windows

2018-02-04 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 5181. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2022?vs=5177&id=5181 REVISION DETAIL https://phab.mercurial-scm.org/D2022 AFFECTED FILES mercurial/logcmdutil.py mercurial/ui.py CHANGE DETAILS d

D2022: ui: improve ui.write performance when not coloring on Windows

2018-02-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 5293. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D2022?vs=5181&id=5293 REVISION DETAIL https://phab.mercurial-scm.org/D2022 AFFECTED FILES mercurial/logcmdutil.py mercurial/ui.py CHANGE DETAILS d

D2022: ui: improve ui.write performance when not coloring on Windows

2018-02-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG0ff41ced4c12: diff: improve ui.write performance when not coloring on Windows (authored by joerg.sonnenberger, committed by ). CHANGED PRIOR TO COMMIT https://phab.mercurial-scm.org/D2022?vs=5293&id=52

D2061: sshpeer: initial definition and implementation of new SSH protocol

2018-02-07 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added inline comments. INLINE COMMENTS > test-ssh-proto.t:396 > + > upgrade 2e82ab3f-9ce3-4b4e-8f8c-6fd1c0e9e23a > proto=irrelevant1%2Cirrelevant2 > + > hello > + > between I'm a bit concerned about the order here. I would prefer to stay with the spirit of the original SS

D2095: clone: updates the help text for hg clone -r (issue5654) [bugzilla] and hg clone -b

2018-02-11 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. There was a longish discussion on IRC about this. The problem is that the flags by themselves do not document the interaction of -r and -b or multiple instances of either at all. The change was a compromise trying to address that. REPOSITORY rHG Mercuria

D5946: server: allow customizing the default repo filter

2019-02-12 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY hgweb has the (undocument) configuration option web.view that allows restricting visible revisions to immutable. This is useful for serving the same s

D5946: server: allow customizing the default repo filter

2019-02-13 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 14072. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D5946?vs=14047&id=14072 REVISION DETAIL https://phab.mercurial-scm.org/D5946 AFFECTED FILES mercurial/configitems.py mercurial/help/config.txt me

D5946: server: allow customizing the default repo filter

2019-02-25 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. Friendly ping REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D5946 To: joerg.sonnenberger, #hg-reviewers Cc: mercurial-devel ___ Mercurial-devel mailing list Mercurial-devel@mercurial

D5946: server: allow customizing the default repo filter

2019-03-04 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGd6569f1e9b37: server: allow customizing the default repo filter (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D59

D6182: bundle2: handle compression in _forwardchunks

2019-04-02 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY _forwardchunks is used to compensate for getbundle protocol deficits. Since it transparently decodes the payload, it also needs to remove the correspo

D6182: bundle2: handle compression in _forwardchunks

2019-04-16 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 14786. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D6182?vs=14622&id=14786 REVISION DETAIL https://phab.mercurial-scm.org/D6182 AFFECTED FILES mercurial/bundle2.py tests/test-pull-bundle.t CHANGE D

D6182: bundle2: handle compression in _forwardchunks

2019-04-16 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added inline comments. INLINE COMMENTS > durin42 wrote in bundle2.py:846 > so...what's going on with oparams here? should it be outparams? > > (is there more to this series that would get this code covered by tests?) Yes, left-over from earlier rename round. I think the code

D6259: revset: on-disk cache for children queries

2019-04-16 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This is a proof of concept for further discussion. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6259 AFFECTED FILES m

D6182: bundle2: handle compression in _forwardchunks

2019-04-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG6b94f8249eaf: bundle2: handle compression in _forwardchunks (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D6182?v

D3393: bundle: introduce per-engine compression level

2018-04-16 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY If experimental.bundlecomplevel.$engine is set, prefer it over the generic experimental.bundlecomplevel. Given that compression levels have widely dif

D3392: bundlespec: drop externalnames flag

2018-04-16 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Always provide the human readable version of compression and version. Add the translated wire format name in the new wirecompression and wireversion f

D3402: notify: add maxdiffstat option to truncate long file lists

2018-04-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Large scale changes like a new GCC version can easily result in 1MB+ emails due to diffstat alone. The new maxdiffstat option truncates the list simil

D3393: bundle: introduce per-engine compression level

2018-04-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger added a comment. I don't really disagree that the existing option naming is a bit stupid. There are useful points for including the compression level as part of the bundle spec, but I don't think that replaces the need for a config option for sane defaults. As I said on

D3392: bundlespec: drop externalnames flag

2018-04-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG5527aa808dea: bundlespec: drop externalnames flag (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3392?vs=8359&id=

D3393: bundle: introduce per-engine compression level

2018-04-17 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG6a7ff5816c5f: bundle: introduce per-engine compression level (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3393?

D3402: notify: add maxdiffstat option to truncate long file lists

2018-04-18 Thread joerg.sonnenberger (Joerg Sonnenberger)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGa4cac7b0ea4f: notify: add maxdiffstat option to truncate long file lists (authored by joerg.sonnenberger, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-sc

D3439: template filters: add commonprefix

2018-05-05 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The commonprefix filter takes a list of files names like files() and returns the longest directory name common to all elements. REPOSITORY rHG Mercur

D3439: templatefilters: add commonprefix

2018-05-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 8549. joerg.sonnenberger retitled this revision from "template filters: add commonprefix" to "templatefilters: add commonprefix". REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3439?vs=8454&id=8549 REVISION

D3439: templatefilters: add commonprefix

2018-05-08 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 8590. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3439?vs=8549&id=8590 REVISION DETAIL https://phab.mercurial-scm.org/D3439 AFFECTED FILES mercurial/templatefilters.py tests/test-template-filters.t

D3439: templatefilters: add commonprefix

2018-05-09 Thread joerg.sonnenberger (Joerg Sonnenberger)
joerg.sonnenberger updated this revision to Diff 8593. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D3439?vs=8590&id=8593 REVISION DETAIL https://phab.mercurial-scm.org/D3439 AFFECTED FILES mercurial/templatefilters.py tests/test-template-filters.t

<    1   2   3   4   5   >