Sat, 23 Dec 2017 15:07:24 -0500 test-lfs: add tests covering http exchanges
Matt Harbison <matt_harbison@yahoo.com> [Sat, 23 Dec 2017 15:07:24 -0500] rev 35503
test-lfs: add tests covering http exchanges This tries to test every combination of having the extension enabled/disabled on each side, and then push/pull/clone/identify lfs and non-lfs content. SSH is ignored here, because there's enough going on as it is. The root issue here is again that requirements are not exchanged and preserved on push/pull/clone. Doing so should eliminate the cryptic error messages when using `hg serve`. The 500 server error is triggered by "ValueError: no common changegroup version", because the extension forces changegroup3. Or, if changegroup3 is enabled manually, it is triggered by "abort: missing processor for flag '0x2000'!". Sadly, run-tests.py doesn't support conditionalizing the exit code like it does lines of output. Therefore, a couple of tests blot out the exit code by appending "|| true", since these failures will go away shortly anyway.
Fri, 22 Dec 2017 14:53:54 -0500 test-lfs: add tests covering local exchanges
Matt Harbison <matt_harbison@yahoo.com> [Fri, 22 Dec 2017 14:53:54 -0500] rev 35502
test-lfs: add tests covering local exchanges The root issue here is that requirements are not exchanged and preserved on push/pull. This can be handled with a changegroup hook. Testing for remote exchanges is much more extensive (it's possible for one process or the other to not have the extension loaded at all), so it is added separately.
Wed, 27 Dec 2017 11:08:32 -0700 smartset: split generatorset classes to avoid cycle
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 27 Dec 2017 11:08:32 -0700] rev 35501
smartset: split generatorset classes to avoid cycle I uncovered a cycle manifesting in a memory leak by running `hgperfrevset '::tip'`. The cycle was due to generatorset.__init__ assigning a bound method to self.__contains__. Internet sleuthing revealed that assigning a bound method to an instance attribute always creates a cycle. This commit creates two new variants of generatorset for the special cases of ascending and descending generators. The special implementations of __contains__ have been extracted to these classes where they are defined as __contains__. generatorset now implements __new__ and changes the spawned type to one of the new classes if needed. Differential Revision: https://phab.mercurial-scm.org/D1780
Wed, 27 Dec 2017 13:53:21 -0600 merge: raise before running mergedriver if using IMM
Phil Cohen <phillco@fb.com> [Wed, 27 Dec 2017 13:53:21 -0600] rev 35500
merge: raise before running mergedriver if using IMM Merge driver scripts run in the working copy, so disable with IMM for now. Differential Revision: https://phab.mercurial-scm.org/D1781
Tue, 26 Dec 2017 22:56:07 +0530 scmutil: use a tuple of possible values instead of using startswith()
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 26 Dec 2017 22:56:07 +0530] rev 35499
scmutil: use a tuple of possible values instead of using startswith() This patch also adds a review comment which is helpful as inline comment. Differential Revision: https://phab.mercurial-scm.org/D1761
Mon, 25 Dec 2017 22:56:59 +0900 show: use revlog function to compute length of the longest shortest node
Yuya Nishihara <yuya@tcha.org> [Mon, 25 Dec 2017 22:56:59 +0900] rev 35498
show: use revlog function to compute length of the longest shortest node As the core part of shortest() was extracted at 448725a2ef73, we no logner need a templater.
Tue, 19 Dec 2017 11:20:35 +0530 commands: use the new API to access hidden changesets in various commands
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 19 Dec 2017 11:20:35 +0530] rev 35497
commands: use the new API to access hidden changesets in various commands In previous patches, we have added an internal API to unhide hidden changesets. This patch makes the following command use that api in nowarn mode i.e. there will be no warning while accessing hidden changesets. cat, diff, export, files, heads, identify, log, manifest, parents, status This patch also adds test demonstarting the behaviour. .. feature:: Accessing hidden changesets Set config option 'experimental.directaccess = True' to access hidden changesets from read only commands. Differential Revision: https://phab.mercurial-scm.org/D1735
Fri, 15 Dec 2017 04:31:29 +0530 scmutil: add utility fn to return repo object with user passed revs unhidden
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Dec 2017 04:31:29 +0530] rev 35496
scmutil: add utility fn to return repo object with user passed revs unhidden There has been a need for accessing hidden changesets by default without passing --hidden. This is currently done using the directaccess extension but is bit hacky. This patch adds a utility function to return a repo object having user passed revisions unhidden. This functionality will live behind a config option and won't be the default behaviour. There is also a config option added by this patch which tells whether we want to unhide only those revisions whose hashes are passed or should we consider revisions numbers also. Differential Revision: https://phab.mercurial-scm.org/D1733
Mon, 18 Dec 2017 17:50:02 +0530 repoview: add a new filtername for accessing hidden commits
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Dec 2017 17:50:02 +0530] rev 35495
repoview: add a new filtername for accessing hidden commits This patch adds a new filter 'visible-hidden' for repository and will be used to return a repo object with user passed revisions unhidden. Unlike the directaccess extension in fb-hgext and previous series adding the functionality, this time we introduce only one new filter as whether to warn user or not is handled by scmutil.unhidehashlikerevs(). Differential Revision: https://phab.mercurial-scm.org/D1734
Fri, 15 Dec 2017 04:25:32 +0530 revsetlang: add utility function to return hash like symbols from the tree
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 15 Dec 2017 04:25:32 +0530] rev 35494
revsetlang: add utility function to return hash like symbols from the tree Functionalities like unhiding changesets whose rev/hash is passed by the user required the knowledge of rev/hashes in the user provided specs. This patch adds functions which can parse tree object and return a list of such values. Differential Revision: https://phab.mercurial-scm.org/D1732
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip