Thu, 25 May 2017 09:52:49 -0700 match: make matchfn a method on the class
Martin von Zweigbergk <martinvonz@google.com> [Thu, 25 May 2017 09:52:49 -0700] rev 32497
match: make matchfn a method on the class This makes it easier to override in subclasses, so they don't have to assign the attribute with a lambda.
Wed, 24 May 2017 17:50:17 +0200 util: raise ParseError when parsing dates (BC)
Boris Feld <boris.feld@octobus.net> [Wed, 24 May 2017 17:50:17 +0200] rev 32496
util: raise ParseError when parsing dates (BC) a7dce526c462 refactored util.parsedate in order to raise ValueError instead of Abort for using with ui.configwith. It causes several problems, putting arbitrary bytes in ValueError can cause issues with Python 3. Moreover, we added a function to convert ValueError exceptions back to Abort. A better approach would be to make parsedate raises ParseError, removing the convert function and update configwith to also catch ParseError. The side-effect is that error message when giving an invalid date in CLI change from: abort: invalid date: 'foo bar' to: hg: parse error: invalid date: 'foo bar' I'm not sure if it's an acceptable change, I found personally the error message more clear but more verbose too.
Tue, 16 May 2017 14:31:21 -0700 match: fix visitdir for roots of includes
Martin von Zweigbergk <martinvonz@google.com> [Tue, 16 May 2017 14:31:21 -0700] rev 32495
match: fix visitdir for roots of includes I'm hoping to rewrite the matcher so excludes are handled by composition of one matcher with another matcher where the second matcher has only includes. For that to work, we need to make visitdir() to return 'all' for directory 'foo' for a '-I foo' matcher.
Wed, 17 May 2017 23:02:42 -0700 match: make subdirmatcher extend basematcher
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 May 2017 23:02:42 -0700] rev 32494
match: make subdirmatcher extend basematcher This makes the subdirmatcher not depend on the main matcher, giving us more freedom to modify that (specifically, it will lose it _always field in a while).
Fri, 19 May 2017 10:17:08 -0700 match: make basematcher._files a @propertycache
Martin von Zweigbergk <martinvonz@google.com> [Fri, 19 May 2017 10:17:08 -0700] rev 32493
match: make basematcher._files a @propertycache This will make it easier to override in subclasses (otherwise the function @propertycache object will be replaced by the super-constructor call)..
Wed, 17 May 2017 23:45:13 -0700 match: extract base class for matchers
Martin von Zweigbergk <martinvonz@google.com> [Wed, 17 May 2017 23:45:13 -0700] rev 32492
match: extract base class for matchers We will soon start splitting up the current matcher class into more specialized classes, so we'll want a base class for all the things that don't vary much between different matchers.
Mon, 22 May 2017 11:08:52 -0700 debugwalk: also print matcher representation
Martin von Zweigbergk <martinvonz@google.com> [Mon, 22 May 2017 11:08:52 -0700] rev 32491
debugwalk: also print matcher representation This will make the effect of coming patches clearer.
Thu, 25 May 2017 01:45:52 +0200 transaction: run _writejournal unfiltered
Pierre-Yves David <pierre-yves.david@octobus.net> [Thu, 25 May 2017 01:45:52 +0200] rev 32490
transaction: run _writejournal unfiltered The function use the length of the repository, something affected by filtering. It seems better to use the unfiltered length here. Credit for finding this goes to Durham Goode.
Mon, 22 May 2017 19:18:12 -0400 bookmarks: warn about bookmark names that unambiguously resolve to a node (BC)
Augie Fackler <augie@google.com> [Mon, 22 May 2017 19:18:12 -0400] rev 32489
bookmarks: warn about bookmark names that unambiguously resolve to a node (BC) I just burned myself on this today because I left out the -r in my `hg bookmark` command, which then left me confused because I didn't notice the bookmark I created in the wrong place that was silently shadowing the revision I was trying to check out. Let's warn the user. This patch only enforces the check on bookmark names 4 characters long or longer. We can tweak that if we'd like, I selected that since that's the fewest characters shortest will use in the templater output. A previous version of this patch rejected such bookmarks. It was proposed during review (and I agree) that the behavior change for a bookmark named "cafe" or similar as history accumulated was a little too weird, but that the warning definitely has merit.
Thu, 04 May 2017 11:51:07 +0900 pycompat: try __bytes__() to convert object to bytestr
Yuya Nishihara <yuya@tcha.org> [Thu, 04 May 2017 11:51:07 +0900] rev 32488
pycompat: try __bytes__() to convert object to bytestr It should be better than using __str__() unconditionally.
Tue, 23 May 2017 15:44:50 +0200 ui: fix ui.configdate for invalid dates
Boris Feld <boris.feld@octobus.net> [Tue, 23 May 2017 15:44:50 +0200] rev 32487
ui: fix ui.configdate for invalid dates a7dce526c462 introduced util._parsedate with the aim to be used in ui.configdate but ui.configdate was using util.parsedate instead. It have the impact of raising an AbortError in case of an invalid date instead of a ConfigError exception. Fix ui.configdate to use the right function and add a test for invalid dates. Thanks to Yuya for the catch!
Fri, 28 Apr 2017 00:01:22 +0900 demandimport: stop overriding __getattribute__()
Yuya Nishihara <yuya@tcha.org> [Fri, 28 Apr 2017 00:01:22 +0900] rev 32486
demandimport: stop overriding __getattribute__() Proxy __dict__ and __doc__ explicitly instead. I'm not sure which is less evil, but this seems slightly simpler than hooking all attribute accesses.
Fri, 28 Apr 2017 23:46:16 +0900 demandimport: look for 'mod' suffix as alternative name for module reference
Yuya Nishihara <yuya@tcha.org> [Fri, 28 Apr 2017 23:46:16 +0900] rev 32485
demandimport: look for 'mod' suffix as alternative name for module reference It's widely used in our codebase.
Mon, 01 May 2017 14:26:56 +0900 demandimport: insert empty line per method
Yuya Nishihara <yuya@tcha.org> [Mon, 01 May 2017 14:26:56 +0900] rev 32484
demandimport: insert empty line per method _demandmod class is getting bigger, and I don't want to put more things in a dense form.
Mon, 01 May 2017 13:43:31 +0900 demandimport: strictly compare identity of proxy object
Yuya Nishihara <yuya@tcha.org> [Mon, 01 May 2017 13:43:31 +0900] rev 32483
demandimport: strictly compare identity of proxy object This looks better, and __eq__() may be overridden in an undesired way.
Tue, 23 May 2017 08:49:01 -0700 match: use ProgrammingError where appropriate
Martin von Zweigbergk <martinvonz@google.com> [Tue, 23 May 2017 08:49:01 -0700] rev 32482
match: use ProgrammingError where appropriate
Tue, 23 May 2017 01:30:36 +0530 revlog: raise error.WdirUnsupported from revlog.node() if wdirrev is passed
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 23 May 2017 01:30:36 +0530] rev 32481
revlog: raise error.WdirUnsupported from revlog.node() if wdirrev is passed When we try to run, 'hg debugrevspec 'branch(wdir())'', it throws an index error and blows up. Lets raise the WdirUnsupported if wdir() is passed so that we can catch that later.
Tue, 23 May 2017 01:22:33 +0530 revset: add support for ancestors(wdir())
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 23 May 2017 01:22:33 +0530] rev 32480
revset: add support for ancestors(wdir()) This is a part of extending support for wdir() predicate.
Tue, 23 May 2017 01:08:19 +0530 revset: add support for using ~ operator on wdir() predicate
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 23 May 2017 01:08:19 +0530] rev 32479
revset: add support for using ~ operator on wdir() predicate We catch the WdirUnsupported exception and handles the wdir() case here.
Mon, 22 May 2017 02:14:22 +0530 revset: add support for p2(wdir()) to get second parent of working directory
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 May 2017 02:14:22 +0530] rev 32478
revset: add support for p2(wdir()) to get second parent of working directory This adds support for finding the second parent of working directory using the p2 predicate.
Mon, 22 May 2017 02:03:43 +0530 revset: use try-except instead of if-else because of perf
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 May 2017 02:03:43 +0530] rev 32477
revset: use try-except instead of if-else because of perf For wdir(), we now raises an exception which will be raised when wdir() will be passed, so catching that exception is better checking for wdir() using if-else.
Mon, 22 May 2017 01:38:00 +0530 revset: remove redundant condition and change to else from elif
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 May 2017 01:38:00 +0530] rev 32476
revset: remove redundant condition and change to else from elif Before going to this piece of code, we already check whether n is in [0, 1, 2], so dropping the redundant condition.
Mon, 22 May 2017 01:35:53 +0530 tests: add tests for predicates and operators which works with wdir()
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 May 2017 01:35:53 +0530] rev 32475
tests: add tests for predicates and operators which works with wdir() This one is cluttering up the test file though.
Mon, 22 May 2017 01:01:45 +0530 revset: add support for "wdir()^n"
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 May 2017 01:01:45 +0530] rev 32474
revset: add support for "wdir()^n" This patch catches the WdirUnsupported exception raised, and adds support for wdir^n which will give us the nth parent of the working directory.
Mon, 22 May 2017 00:54:02 +0530 revset: add parentheses after wdir since its a function
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 22 May 2017 00:54:02 +0530] rev 32473
revset: add parentheses after wdir since its a function wdir was shown in help rather than wdir().
Mon, 22 May 2017 15:05:18 -0400 cmdutil: avoid redefining write() function in export if possible
Augie Fackler <augie@google.com> [Mon, 22 May 2017 15:05:18 -0400] rev 32472
cmdutil: avoid redefining write() function in export if possible Doing less work inside the loop just feels better to me.
Mon, 22 May 2017 13:34:03 -0400 cmdutil: extract closure that performs the actual export formatting
Augie Fackler <augie@google.com> [Mon, 22 May 2017 13:34:03 -0400] rev 32471
cmdutil: extract closure that performs the actual export formatting This simplifies things a little by making the actual act of turning a revision into patch data a single function. After this, adding formatter support to `hg export` should be much simpler.
Mon, 22 May 2017 13:35:22 -0400 cmdutil: use a generator expression instead of a list comprehension
Augie Fackler <augie@google.com> [Mon, 22 May 2017 13:35:22 -0400] rev 32470
cmdutil: use a generator expression instead of a list comprehension
Sat, 20 May 2017 20:15:05 -0400 cmdutil: rename template param to export to fntemplate
Augie Fackler <augie@google.com> [Sat, 20 May 2017 20:15:05 -0400] rev 32469
cmdutil: rename template param to export to fntemplate It's actually a template for the filename, not a formatter template.
Sat, 20 May 2017 17:58:04 -0400 cmdutil: comprehensively document the interface of export
Augie Fackler <augie@google.com> [Sat, 20 May 2017 17:58:04 -0400] rev 32468
cmdutil: comprehensively document the interface of export I want to make some improvements here, but in order to make future patches easier to review I want to document the current state of the world.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip