D340: rebase: prefer choosing merge base with successor in destination

2017-08-10 Thread quark (Jun Wu)
quark updated this revision to Diff 768. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D340?vs=766=768 REVISION DETAIL https://phab.mercurial-scm.org/D340 AFFECTED FILES hgext/rebase.py tests/test-rebase-obsolete.t CHANGE DETAILS diff --git

D341: test-rebase-obsolete: add "\n" in template

2017-08-10 Thread quark (Jun Wu)
quark created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This makes the test a bit cleaner since `log --stat` does not need to specify `-T` manually to keep its output readable. REPOSITORY rHG Mercurial REVISION

D340: rebase: prefer choosing merge base with successor in destination

2017-08-10 Thread quark (Jun Wu)
quark created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY As demonstrated by the test case change, and the new comment. Choosing a merge base candidate with a successor in destination would allow us to avoid

D21: rebase: rewrite core algorithm (issue5578) (issue5630)

2017-08-10 Thread quark (Jun Wu)
quark updated this revision to Diff 765. quark edited the summary of this revision. This revision is now accepted and ready to land. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D21?vs=754=765 REVISION DETAIL https://phab.mercurial-scm.org/D21

Formalizing Interfaces

2017-08-10 Thread Gregory Szorc
I've wanted to hack on overhauling revlogs and storage for several months now. The more I think about how to go about it and the reasons why I want to do it (mainly performance and scaling), the more I think a more drastic departure from revlogs and the current storage "backend" is needed. There

D338: wireproto: use new peer interface

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The wirepeer class provides concrete implementations of peer interface methods for calling wire protocol commands. It makes sense for this class to inherit

D337: httppeer: use peer interface

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This is similar to what we did to sshpeer. Quirks and all. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D337 AFFECTED FILES

D335: localrepo: use peer interfaces

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY We now have a formal abstract base class for peers. Let's transition the peer classes in localrepo to it. As part of the transition, we reorder methods so

D332: repository: formalize peer interface with abstract base class

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY There are various interfaces for interacting with repositories and peers. They form a contract for how one should interact with a repo or peer object. The

D339: tests: verify that peer instances only expose interface members

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Our abstract interfaces are more useful if we guarantee that implementations conform to certain rules. Namely, we want to ensure that objects implementing

D336: sshpeer: use peer interface

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY We need the same @property conversion of ui like we did for localpeer. We renamed _capabilities() to capabilities() to satisfy the new naming requirement.

D333: repository: formalize wire protocol interface

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY There are a well-defined set of commands constituting the wire protocol. Interaction with these and methods for calling them in batches are exposed via methods

D334: repository: implement generic capability methods on peer class

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY These methods are part of the peer interface, are generic, and can be implemented in terms of other members of the peer interface. So we implement them on the

D330: Backed out changeset c34532365b38

2017-08-10 Thread glandium (Mike Hommey)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG1814ca418b30: branchmap: revert c34532365b38 for Python 2.7 compatibility (authored by glandium). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D330?vs=752=755

D21: rebase: rewrite core algorithm (issue5578) (issue5630)

2017-08-10 Thread quark (Jun Wu)
quark planned changes to this revision. quark added inline comments. INLINE COMMENTS > test-rebase-obsolete.t:1064-1065 >$ hg log -G > - o 7:9ed45af61fa0 F > - | >o 6:8f47515dda15 D This case needs investigation. REPOSITORY rHG Mercurial REVISION DETAIL

D21: rebase: rewrite core algorithm (issue5578) (issue5630)

2017-08-10 Thread quark (Jun Wu)
quark updated this revision to Diff 754. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D21?vs=753=754 REVISION DETAIL https://phab.mercurial-scm.org/D21 AFFECTED FILES hgext/rebase.py tests/test-rebase-brute-force.t

D21: rebase: rewrite core algorithm (issue5578) (issue5630)

2017-08-10 Thread quark (Jun Wu)
quark updated this revision to Diff 753. quark marked an inline comment as done. quark edited the summary of this revision. quark retitled this revision from "rebase: rewrite defineparents" to "rebase: rewrite core algorithm (issue5578) (issue5630)". This revision is now accepted and ready to

mercurial@33662: 14 new changesets (14 on stable)

2017-08-10 Thread Mercurial Commits
14 new changesets (14 on stable) in mercurial: https://www.mercurial-scm.org/repo/hg/rev/377e8ddaebef changeset: 33649:377e8ddaebef branch: stable user:Yuya Nishihara date:Wed Jul 26 22:10:15 2017 +0900 summary: pathauditor: disable cache of audited

D330: Backed out changeset c34532365b38

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. This looks good. I'll queue this for stable when I get home. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D330 To: glandium, #hg-reviewers, quark,

D328: setup: Fix installing in a mingw environment

2017-08-10 Thread quark (Jun Wu)
quark requested changes to this revision. quark added a comment. This revision now requires changes to proceed. https://phab.mercurial-scm.org/D329 is a replacement. Maybe abandon this diff then. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D328 To: glandium,

D330: Backed out changeset c34532365b38

2017-08-10 Thread quark (Jun Wu)
quark accepted this revision. quark added a comment. LGTM. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D330 To: glandium, #hg-reviewers, quark Cc: quark, mercurial-devel ___ Mercurial-devel mailing list

D328: setup: Fix installing in a mingw environment

2017-08-10 Thread quark (Jun Wu)
quark added a comment. @glandium `phabsend` verifies the tags with old versions on Phabricator (so it requires obsstore to work properly). After https://phab.mercurial-scm.org/D122, it will be possible to `phabsend --amend` and `phabsend` will use the commit message to update corresponding

[PATCH STABLE] osx: delay version computation on macOS builds

2017-08-10 Thread Kevin Bullock
# HG changeset patch # User Kevin Bullock # Date 1502414702 14400 # Thu Aug 10 21:25:02 2017 -0400 # Branch stable # Node ID 0d3a872cbb37b7845eacdcaa578c0048e3f4873f # Parent a3ce07e2dde5737644dd719806b1e52fb1cc1004 osx: delay version computation on macOS

D330: Backed out changeset c34532365b38

2017-08-10 Thread glandium (Mike Hommey)
glandium created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Old versions of python 2.7 don't like that the second argument to struct.unpack_from is a bytearray, so the change removing the util.buffer around that

D328: setup: Fix installing in a mingw environment

2017-08-10 Thread glandium (Mike Hommey)
glandium added a comment. Sorry, I rebased to stable, and that created a new differential: https://phab.mercurial-scm.org/D329, even though I updated the local tag. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D328 To: glandium, #hg-reviewers, quark Cc:

D329: setup: Fix installing in a mingw environment

2017-08-10 Thread glandium (Mike Hommey)
glandium created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The addition, in https://phab.mercurial-scm.org/rHG9a4adc76c88a1a217983f051766b3009c0bca3aa, of a hack for the MSVC compiler class was overwriting the original

D30: merge: Removed sorting in casefolding detection, for a slight performance win

2017-08-10 Thread quark (Jun Wu)
quark accepted this revision. quark added a comment. Looks good to me. I'd prefer perf to error message stability. If the latter is a concern, we can re-run the loop if there is at least one case-folding collision detected. REPOSITORY rHG Mercurial REVISION DETAIL

D328: setup: Fix installing in a mingw environment

2017-08-10 Thread quark (Jun Wu)
quark accepted this revision. quark added a comment. Looks good to me. Bonus point if you can remove `_` so the variable names match the rest of the code. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D328 To: glandium, #hg-reviewers, quark Cc: quark,

D328: setup: Fix installing in a mingw environment

2017-08-10 Thread glandium (Mike Hommey)
glandium created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The addition, in https://phab.mercurial-scm.org/rHG9a4adc76c88a1a217983f051766b3009c0bca3aa, of a hack for the MSVC compiler class was overwriting the original

mercurial@33648: new changeset (1 on stable)

2017-08-10 Thread Mercurial Commits
New changeset (1 on stable) in mercurial: https://www.mercurial-scm.org/repo/hg/rev/47ea28293d30 changeset: 33648:47ea28293d30 branch: stable tag: tip user:Yuya Nishihara date:Tue Aug 01 21:03:25 2017 +0900 summary: tests: show cache of audited

Re: Mercurial 4.3 and 4.2.3 released

2017-08-10 Thread Augie Fackler
> On Aug 10, 2017, at 14:25, Augie Fackler wrote: > > >> On Aug 10, 2017, at 14:11, Augie Fackler > > wrote: >> >> >>> On Aug 10, 2017, at 14:09, Augie Fackler >> > wrote: >>> >>>

mercurial@33647: 20 new changesets (20 on stable)

2017-08-10 Thread Mercurial Commits
20 new changesets (20 on stable) in mercurial: https://www.mercurial-scm.org/repo/hg/rev/aa7a3f6e3729 changeset: 33628:aa7a3f6e3729 branch: stable user:Mathias De Maré date:Mon Aug 07 13:38:25 2017 +0200 summary: centos5: use vault urls

D125: phabricator: add a small language to query Differential Revisions

2017-08-10 Thread quark (Jun Wu)
quark updated this revision to Diff 743. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D125?vs=570=743 REVISION DETAIL https://phab.mercurial-scm.org/D125 AFFECTED FILES contrib/phabricator.py CHANGE DETAILS diff --git a/contrib/phabricator.py

Re: Mercurial 4.3 and 4.2.3 released

2017-08-10 Thread Augie Fackler
> On Aug 10, 2017, at 14:09, Augie Fackler wrote: > > Moments ago, I released Mercurial 4.3 and 4.2.3. Please patch *immedately*: Update: the release script misfired and 4.2.3 is wrong - I'll fix it shortly. > > CVE-2017-1000115: > > Mercurial's symlink auditing was

Mercurial 4.3 and 4.2.3 released

2017-08-10 Thread Augie Fackler
Moments ago, I released Mercurial 4.3 and 4.2.3. Please patch *immedately*: CVE-2017-1000115: Mercurial's symlink auditing was incomplete prior to 4.3, and could be abused to write to files outside the repository. CVE-2017-1000116: Mercurial was not sanitizing hostnames passed to ssh,

D322: fsmonitor: correct an error message

2017-08-10 Thread lothiraldan (Boris Feld)
lothiraldan accepted this revision. lothiraldan added a comment. LGTM, we don't have a test for it? REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D322 To: quark, #hg-reviewers, lothiraldan Cc: lothiraldan, mercurial-devel

[Bug 5652] New: hg commit -i with empty file fails

2017-08-10 Thread mercurial-bugs
https://bz.mercurial-scm.org/show_bug.cgi?id=5652 Bug ID: 5652 Summary: hg commit -i with empty file fails Product: Mercurial Version: 4.2.2 Hardware: PC OS: Windows Status: UNCONFIRMED Severity: feature

[Bug 5651] New: interactive revert of no-eol hunk fails

2017-08-10 Thread mercurial-bugs
https://bz.mercurial-scm.org/show_bug.cgi?id=5651 Bug ID: 5651 Summary: interactive revert of no-eol hunk fails Product: Mercurial Version: 4.3-rc Hardware: PC OS: Linux Status: UNCONFIRMED Keywords:

D30: merge: Removed sorting in casefolding detection, for a slight performance win

2017-08-10 Thread alex_gaynor (Alex Gaynor)
alex_gaynor updated this revision to Diff 737. alex_gaynor added a comment. Herald added a reviewer: hg-reviewers. Undo a change which was incorrect REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D30?vs=46=737 BRANCH performance-changes (bookmark) on

D321: merge: removed sorting in caseflow detection, for a slight performance win

2017-08-10 Thread alex_gaynor (Alex Gaynor)
alex_gaynor abandoned this revision. alex_gaynor added a comment. This was created by accident, https://phab.mercurial-scm.org/D30 should have been updated. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D321 To: alex_gaynor, #hg-reviewers Cc: mercurial-devel

D321: merge: removed sorting in caseflow detection, for a slight performance win

2017-08-10 Thread alex_gaynor (Alex Gaynor)
alex_gaynor created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial BRANCH performance-changes (bookmark) on default (branch) REVISION DETAIL https://phab.mercurial-scm.org/D321 AFFECTED FILES mercurial/merge.py

D30: merge: Removed sorting in casefolding detection, for a slight performance win

2017-08-10 Thread alex_gaynor (Alex Gaynor)
alex_gaynor added inline comments. INLINE COMMENTS > quark wrote in merge.py:765 > I think this would be incorrect, since `foldprefix` is mutated and used in > the loop. I think you're right, removing the first `sorted` should be safe though. REPOSITORY rHG Mercurial REVISION DETAIL

D98: revset: support reading aliases from a .hgrevsets file

2017-08-10 Thread yuja (Yuya Nishihara)
yuja added a comment. > Security-wise, the "shelling out revset" seems hard to solve cleanly. Yes, and IMHO the only reasonable solution is to not add such revset functions. revsets and filesets can be executed through the web UI. REPOSITORY rHG Mercurial REVISION DETAIL

D318: wireproto: remove support for local results in @batchable (API)

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY @peer.batchable decorated generator functions have two forms: yield value, None and yield args, future yield value These forms have

D320: peer: remove non iterating batcher (API)

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The last use of this API was removed in https://phab.mercurial-scm.org/rHGb6e71f8af5b8710139b64706a375b3f16eb1241e in 2016. While not formally deprecated, as

D319: wireproto: overhaul iterating batcher code (API)

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The remote batching code is difficult to read. Let's improve it. As part of the refactor, the future returned by method calls on batchiter() instances is

D316: largefiles: remove remotestore.batch()

2017-08-10 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This method was added in https://phab.mercurial-scm.org/rHG9e1616307c4cca80d177203afc39e5eecda60c84. AFAICT it didn't do anything at inception. If it did,