D333: repository: formalize wire protocol interface

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG558f5b2ee10e: repository: formalize wire protocol interface (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D333?vs=848=932 REVISION

D337: httppeer: use peer interface

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGf913e90f15a0: httppeer: use peer interface (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D337?vs=762=936 REVISION DETAIL

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

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGb70029f355a3: tests: verify that peer instances only expose interface members (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D338: wireproto: use new peer interface

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGdedab036215d: wireproto: use new peer interface (authored by indygreg). CHANGED PRIOR TO COMMIT https://phab.mercurial-scm.org/D338?vs=763=937#toc REPOSITORY rHG Mercurial CHANGES SINCE LAST

D335: localrepo: use peer interfaces

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG707750e5310b: localrepo: use peer interfaces (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D335?vs=760=934 REVISION DETAIL

D334: repository: implement generic capability methods on peer class

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGa0aad86b3b6a: repository: implement generic capability methods on peer class (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D332: repository: formalize peer interface with abstract base class

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGf257943e47ab: repository: formalize peer interface with abstract base class (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D332?vs=847=931

D336: sshpeer: use peer interface

2017-08-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG1f8460b55986: sshpeer: use peer interface (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D336?vs=761=935 REVISION DETAIL

D334: repository: implement generic capability methods on peer class

2017-08-13 Thread indygreg (Gregory Szorc)
indygreg updated this revision to Diff 849. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D334?vs=759=849 REVISION DETAIL https://phab.mercurial-scm.org/D334 AFFECTED FILES mercurial/repository.py CHANGE DETAILS diff --git a/mercurial/repository.py

D332: repository: formalize peer interface with abstract base class

2017-08-13 Thread indygreg (Gregory Szorc)
indygreg updated this revision to Diff 847. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D332?vs=757=847 REVISION DETAIL https://phab.mercurial-scm.org/D332 AFFECTED FILES mercurial/repository.py CHANGE DETAILS diff --git a/mercurial/repository.py

D333: repository: formalize wire protocol interface

2017-08-13 Thread indygreg (Gregory Szorc)
indygreg updated this revision to Diff 848. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D333?vs=758=848 REVISION DETAIL https://phab.mercurial-scm.org/D333 AFFECTED FILES mercurial/repository.py CHANGE DETAILS diff --git a/mercurial/repository.py

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

2017-08-13 Thread indygreg (Gregory Szorc)
indygreg added a comment. In https://phab.mercurial-scm.org/D339#5376, @durin42 wrote: > Might also be neat to have a test to assert the peer and legacy peer interfaces don't overlap? This can be done as a follow-up IMO. REPOSITORY rHG Mercurial REVISION DETAIL

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

2017-08-11 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGe2fc2122029c: wireproto: remove support for local results in @batchable (API) (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D317: wireproto: properly implement batchable checking

2017-08-11 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG297d1b70685c: wireproto: properly implement batchable checking (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D317?vs=732=791 REVISION

D320: peer: remove non iterating batcher (API)

2017-08-11 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGb47fe9733d76: peer: remove non iterating batcher (API) (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D320?vs=735=794 REVISION DETAIL

D316: largefiles: remove remotestore.batch()

2017-08-11 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGdcdc17551653: largefiles: remove remotestore.batch() (authored by indygreg). CHANGED PRIOR TO COMMIT https://phab.mercurial-scm.org/D316?vs=731=790#toc REPOSITORY rHG Mercurial CHANGES SINCE LAST

D319: wireproto: overhaul iterating batcher code (API)

2017-08-11 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG4c706037adef: wireproto: overhaul iterating batcher code (API) (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D319?vs=734=793 REVISION

D331: sshpeer: make instance attributes and methods internal

2017-08-11 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG82d564d5ac4f: sshpeer: make instance attributes and methods internal (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D331?vs=756=795

D392: util: add base class for transactional context managers

2017-08-14 Thread indygreg (Gregory Szorc)
indygreg requested changes to this revision. indygreg added inline comments. This revision now requires changes to proceed. INLINE COMMENTS > util.py:597-601 > +def close(self): > +raise NotImplementedError > + > +def release(self): > +raise NotImplementedError How do

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,

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

D332: repository: formalize peer interface with abstract base class

2017-08-11 Thread indygreg (Gregory Szorc)
indygreg added inline comments. INLINE COMMENTS > durin42 wrote in repository.py:43 > In what cases would a _basepeer not be a peer? What value does this part of > the interface provide? TBH, I'm not sure why this exists. I cargo culted it from the existing peer API. Once this series is

D331: sshpeer: make instance attributes and methods internal

2017-08-11 Thread indygreg (Gregory Szorc)
indygreg added a comment. The deprecation policy isn't super well defined. Essentially, every change we ask ourselves how common we think out-of-repo consumers are. "Internal" attributes we typically don't even warn about changing them. For something like `@command`, we make noise and set a

D332: repository: formalize peer interface with abstract base class

2017-08-13 Thread indygreg (Gregory Szorc)
indygreg added inline comments. INLINE COMMENTS > durin42 wrote in repository.py:29 > Nit: shouldn't this typically be a connection string with any credentials > potentially redacted? I looked at the code and today we're exposing the raw URL, before any redaction. This raw URL is then fed

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,

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

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

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

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

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

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

Re: [Differential] D107: util: remove dead code which used to be for old python2 versions

2017-07-17 Thread indygreg (Gregory Szorc)
indygreg added a comment. It's worth noting that in theory it should be possible to transition from buffer to memoryview. However, there are various bugs in various Python 2 versions where memoryview isn't accepted. Most notable is that the zlib module doesn't accept memoryview until Python

Re: D109: sparse: consolidate common code for writing sparse config

2017-07-17 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY In 3 functions we were writing the sparse config and updating the working directory. In two of them we had a transaction-like process for restoring the sparse

Re: D110: sparse: add a requirement when a repository uses sparse (BC)

2017-07-17 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The presence of a sparse checkout can confuse legacy clients or clients without sparse enabled for reasons that should be obvious. This commit introduces a

Re: D113: gitweb: preserve whitespace in description

2017-07-17 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Without this, multiple spaces or tabs in the commit message aren't preserved and things like tables don't align properly. As part of adding the CSS rule, we

Re: D110: sparse: add a requirement when a repository uses sparse (BC)

2017-07-17 Thread indygreg (Gregory Szorc)
indygreg added inline comments. INLINE COMMENTS > martinvonz wrote in sparse.py:526 > It feels like this would be clearer as two method: the old one and a new one > that just turns sparse off. That would ideally unlink .hg/sparse, no? The new > method would not accept includes, excludes, or

Re: D96: sparse: require [section] in sparse config files (BC)

2017-07-17 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG1d1779734c99: sparse: require [section] in sparse config files (BC) (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D96?vs=180=221

Re: D95: sparse: use set for capturing profiles

2017-07-17 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG32f348d741e5: sparse: use set for capturing profiles (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D95?vs=179=220 REVISION DETAIL

[Differential] [Request, 18 lines] D95: sparse: use set for capturing profiles

2017-07-15 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Order doesn't need to be preserved. A set is acceptable. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D95 AFFECTED FILES

[Differential] [Request, 31 lines] D96: sparse: require [section] in sparse config files (BC)

2017-07-15 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Previously, [include] was implicit and pattern lines before a [section] were added to includes. Because the format may change in the future and explicit

Re: D113: gitweb: preserve whitespace in description

2017-07-18 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG85ea5d801b1f: gitweb: preserve whitespace in description (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D113?vs=224=278 REVISION DETAIL

Re: D109: sparse: consolidate common code for writing sparse config

2017-07-18 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGc36a515b1be6: sparse: consolidate common code for writing sparse config (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D109?vs=215=276

Re: D97: revset: pass repo when passing ui

2017-07-18 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG2858f7d10344: revset: pass repo when passing ui (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D97?vs=181=275 REVISION DETAIL

Re: D110: sparse: add a requirement when a repository uses sparse (BC)

2017-07-18 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG9b2647a7a70a: sparse: add a requirement when a repository uses sparse (BC) (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D110?vs=216=277

[Differential] [Commented On] D98: revset: support reading aliases from a .hgrevsets file

2017-07-15 Thread indygreg (Gregory Szorc)
indygreg added a comment. This should probably be considered an RFC patch, especially given how late in the cycle it is. I'm not opposed to punting this to the next cycle. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D98 EMAIL PREFERENCES

[Differential] [Request, 149 lines] D98: revset: support reading aliases from a .hgrevsets file

2017-07-15 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY It is common for projects or companies to define/recommend common customizations for Mercurial. However, distributing these customizations can be difficult

[Differential] [Request, 10 lines] D97: revset: pass repo when passing ui

2017-07-15 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The repo instance is currently only used to provide a changeset lookup function as part of parsing revsets. I /think/ this allows node fragments to resolve.

D119: color: add autoterminfo option to prefer terminfo over ansi for non-windows

2017-07-23 Thread indygreg (Gregory Szorc)
indygreg added a comment. Can we refactor `color.mode=auto` to do something reasonable, like detect and use terminfo if it is available? It always struck me as strange that `auto` doesn't actually get you the best possible experience. FWIW, I think the color code needs to be massively

D241: context: rename bumped into phasedivergent

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg requested changes to this revision. indygreg added inline comments. This revision now requires changes to proceed. INLINE COMMENTS > context.py:220 > +self._repo.ui.deprecwarn(msg, '4.4') > +return self.orphan() > + Shouldn't this be `self.phasedivergent()`? REPOSITORY

D240: context: rename divergent into contentdivergent

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg requested changes to this revision. indygreg added inline comments. This revision now requires changes to proceed. INLINE COMMENTS > context.py:227 > +self._repo.ui.deprecwarn(msg, '4.4') > +return self.orphan() > + This should be `self.contentdivergent()` no?

D267: httppeer: remove unused handler attribute

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The consumer of this attribute was removed by https://phab.mercurial-scm.org/rHGb6bd4ee6ed85628b26d6cd7186b76624f40548bf in 2008. REPOSITORY rHG Mercurial

D266: localrepo: remove unused requirements attributes on localpeer (API)

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The previous changeset removed the last consumer of requirements. I'm not sure when supportedformats became unused. But I couldn't find any obvious instances

D268: httppeer: make several instance attributes internal (API)

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Peer instances are supposed to conform to a well-defined API so consumers can be agnostic about the underlying peer type. To reinforce this, this commit

D265: exchange: access requirements on repo instead of peer

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY As part of formalizing the peer interface, I audited for attribute accesses for non-internal names to find API violations. This uncovered the code changed in

D238: context: rename troubles into instabilities

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg requested changes to this revision. indygreg added inline comments. This revision now requires changes to proceed. INLINE COMMENTS > context.py:246-248 > +"""return the list of instabilities affecting this changeset. > + > +Instabilities are returned as strings. possible

D239: context: rename unstable into orphan

2017-08-07 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added inline comments. This revision is now accepted and ready to land. INLINE COMMENTS > context.py:208 > +msg = ("'context.unstable' is deprecated, " > + "use 'context.oprhan'") > +self._repo.ui.deprecwarn(msg, '4.4')

D266: localrepo: remove unused requirements attributes on localpeer (API)

2017-08-08 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGda3087b8f4a2: localrepo: remove unused requirements attributes on localpeer (API) (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D265: exchange: access requirements on repo instead of peer

2017-08-08 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG033484935391: exchange: access requirements on repo instead of peer (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D265?vs=615=629

D268: httppeer: make several instance attributes internal (API)

2017-08-08 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG73fd395ee29e: httppeer: make several instance attributes internal (API) (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D268?vs=618=632

D267: httppeer: remove unused handler attribute

2017-08-08 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGc0b317cfecc8: httppeer: remove unused handler attribute (authored by indygreg). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D267?vs=617=631 REVISION DETAIL

D482: bundle2: fixed usage of an attribute that was removed in py3k

2017-08-22 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. The commit message should likely say something about how the existing use of `string.letters` was logically wrong, since it is locale dependent. `string.ascii_letters` is definitely

D555: cmdutil: allow extra properties to be added to each context

2017-09-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGbe1fcffe651f: cmdutil: allow extra properties to be added to each context (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D556: show: pass the minimum length for nodes as a template keyword

2017-09-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGb93658d7b2d5: show: pass the minimum length for nodes as a template keyword (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D558: show: use consistent (and possibly shorter) node lengths

2017-09-15 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG98010c7a5745: show: use consistent (and possibly shorter) node lengths (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D664: changegroup: replace getsubset with makechangegroup

2017-09-11 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. Could I request a follow-up to add docstrings to our new preferred APIs? Otherwise, this entire series looks great! Thank you for the cleanup work. These APIs were in desperate

D557: show: use consistent node lengths

2017-09-13 Thread indygreg (Gregory Szorc)
indygreg added inline comments. INLINE COMMENTS > quark wrote in show.py:440 > I'd call low level function without template and maintain a current minlen to > reduce calculation. The current minlen code is semi-tightly integrated with the templating layer. I agree with you that a generic

D557: show: use consistent node lengths

2017-09-13 Thread indygreg (Gregory Szorc)
indygreg abandoned this revision. indygreg added a comment. This got rolled into https://phab.mercurial-scm.org/D558. `hg phabsend` didn't appear smart enough to discard it from Phabricator when I pushed the new stack. REPOSITORY rHG Mercurial REVISION DETAIL

D558: show: use consistent (and possibly shorter) node lengths

2017-09-13 Thread indygreg (Gregory Szorc)
indygreg updated this revision to Diff 1811. indygreg edited the summary of this revision. indygreg retitled this revision from "show: decrease minimum node length from 5 to 3" to "show: use consistent (and possibly shorter) node lengths". REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D555: cmdutil: allow extra properties to be added to each context

2017-09-13 Thread indygreg (Gregory Szorc)
indygreg updated this revision to Diff 1810. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D555?vs=1382=1810 REVISION DETAIL https://phab.mercurial-scm.org/D555 AFFECTED FILES mercurial/cmdutil.py CHANGE DETAILS diff --git a/mercurial/cmdutil.py

D715: repair: preserve phase also when not using generaldelta (issue5678)

2017-09-14 Thread indygreg (Gregory Szorc)
indygreg accepted this revision as: indygreg. indygreg added a comment. This seems reasonable to me. I'm not sure it is appropriate for stable though. The temporary bundles should definitely use the latest available version. But changing the backup bundles (which are persisted after the

D696: registrar: add a enum 'cmdtype' for the type of the command

2017-09-13 Thread indygreg (Gregory Szorc)
indygreg added a comment. I'm holding off on accepting this because I'd like to see an example before it is committed. Since Python 2 doesn't have real enums and Mercurial tends to shy away from object-oriented programming, I'm -0 on the use of a class here. Module-level variables with

D708: bundle2: remove unnecessary try finally

2017-09-13 Thread indygreg (Gregory Szorc)
indygreg requested changes to this revision. indygreg added a comment. This revision now requires changes to proceed. Let's wait for a new version of https://phab.mercurial-scm.org/D706 before looking at this. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D708

D706: bundle2: move processpart stream maintenance into part iterator

2017-09-13 Thread indygreg (Gregory Szorc)
indygreg requested changes to this revision. indygreg added inline comments. This revision now requires changes to proceed. INLINE COMMENTS > bundle2.py:1149-1152 > +try: > +_processpart(op, part) > +finally: > +part.seek(0, 2) I think there is a change

D963: hgweb: in protocol adapter, look for bytes instances, not str

2017-10-06 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. FWIW, I've written extensions that have returned the wrong type and (previously silently) fell off this function. So yay for catching unicode return values! REPOSITORY rHG Mercurial

D967: hgweb: when constructing or adding to a wsgi environ dict, use native strs

2017-10-06 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. Dear Python: why are things this close to the wire not bytes? *sigh* REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D967 To: durin42, #hg-reviewers,

D966: hgweb: produce native string for etag value

2017-10-06 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. I need to brush off my static immutable series so we can do something sensible with caching. The reliance on stat_float_times() is a bit concerning. But Python 3 support is still

D969: request: coerce content-type to native str

2017-10-06 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. Passing in the appropriate type from all callers is probably better. But this is simpler. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D969 To:

D964: python3: add and use adapter for func_name attr, now known as __name__

2017-10-06 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. Such a brittle pattern. It feels like the names of things should be defined in a decorator or something. But fixing this would be scope bloat and can be punted to another time.

D965: templatefilters: be sure we always feed cgi.escape a str

2017-10-08 Thread indygreg (Gregory Szorc)
indygreg added a comment. Bleh. I missed yuya's comment before doing a delayed push. Feel free to drop this from hg-committed or address as a follow-up. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D965 To: durin42, #hg-reviewers, pulkit, indygreg, yuja Cc:

D901: changelog: use a Factory for default value for files

2017-10-04 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG50474f0b3f1b: changelog: use a Factory for default value for files (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D893: fsmonitor: use configitem

2017-10-04 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG718f7acd6d5e: fsmonitor: use configitem (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D893?vs=2314=2417 REVISION DETAIL

D892: fsmonitor: access copymap in new location

2017-10-04 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG8337f7772aa2: fsmonitor: access copymap in new location (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D892?vs=2313=2416

D908: cext: reorder #include

2017-10-03 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGb90e8da190da: cext: reorder #include (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D908?vs=2347=2388 REVISION DETAIL

D910: cext: wrap before brace for functions

2017-10-03 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG7ed0750c71a1: cext: wrap before brace for functions (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D910?vs=2349=2390

D909: cext: put case statements on separate line

2017-10-03 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG88e83a618de0: cext: put case statements on separate line (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D909?vs=2348=2389

D907: cext: move braces for control statements to same line

2017-10-03 Thread indygreg (Gregory Szorc)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGce26a13869fb: cext: move braces for control statements to same line (authored by indygreg, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D1079: hgweb: rewrite most obviously-native-strings to be native strings

2017-10-14 Thread indygreg (Gregory Szorc)
indygreg added subscribers: yuja, indygreg. indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. There might be some subtle issues with encoding for e.g. form values (if we don't have a test for e.g. a Unicode value in a revset search, we

D1080: hgweb: fix logging to use native strings as appropriate

2017-10-14 Thread indygreg (Gregory Szorc)
indygreg added a comment. I'm not crazy about not logging bytes everywhere. Why is the file-like object taking bytes in Python 2 but Unicode in Python 3? It feels like you stumbled onto an existing bug where the logging mechanism isn't encoding aware? REPOSITORY rHG Mercurial REVISION

D1070: config: graduate experimental.updatecheck to commands.update.check

2017-10-14 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. I'm not crazy about the code style. But since this code only lives for a release, I'm OK taking it. I'll accept this but will defer to someone else to queue it in case there are strong opinions about the style. INLINE COMMENTS >

D665: changegroup: replace changegroupsubset with makechangegroup

2017-09-11 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. I agree that passing in the outgoing data structure makes sense. Discovery should be done before changegroup APIs are called. REPOSITORY rHG Mercurial REVISION DETAIL

D810: tests: add interface checks for bundle, statichttp, and union peers

2017-09-24 Thread indygreg (Gregory Szorc)
indygreg created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY I forgot to add these when I initially wrote the test. They inherit from localrepo.localpeer, so they should be explicitly tested. REPOSITORY rHG Mercurial

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

2017-09-24 Thread indygreg (Gregory Szorc)
indygreg added a comment. There are a number of security and user control issues at play here. For security, we need to take a long hard look at what configs can be modified by in-repo files. Revsets already have a "safe" flag that controls what to expose on hgweb. We likely need more

D754: dirstate: move filefoldmap to dirstatemap

2017-09-24 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added inline comments. This revision is now accepted and ready to land. INLINE COMMENTS > dirstate.py:1359 > > +def filefoldmap(self): > +try: Since this is aiming to be a new interface of sorts, could we get a docstring here as a

D755: dirstate: move _dirs to dirstatemap

2017-09-24 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. Again, I wish a docstring were added. But that can be deferred. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D755 To: durham, #hg-reviewers, indygreg

D758: dirstate: move parent reading to the dirstatemap class

2017-09-24 Thread indygreg (Gregory Szorc)
indygreg accepted this revision. indygreg added a comment. This revision is now accepted and ready to land. Lots of comments. But nothing that should warrant blocking. INLINE COMMENTS > dirstate.py:1370 > +st = fp.read(40) > +fp.close() > +l = len(st)

D759: dirstate: move parents source of truth to dirstatemap

2017-09-24 Thread indygreg (Gregory Szorc)
indygreg requested changes to this revision. indygreg added a comment. This revision now requires changes to proceed. The logic here isn't readable enough that IMO we should fix it in flight. INLINE COMMENTS > dirstate.py:1382-1383 > +raise > +if not

  1   2   3   4   5   6   7   8   9   10   >