Fri, 19 May 2017 20:06:45 +0530 revset: make `hg log -r 'wdir()^'` work (issue4905)
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 May 2017 20:06:45 +0530] rev 32404
revset: make `hg log -r 'wdir()^'` work (issue4905) This patch catches the WdirUnsupported exception to support wdir()^.
Fri, 19 May 2017 19:12:06 +0530 revlog: raise WdirUnsupported when wdirrev is passed
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 May 2017 19:12:06 +0530] rev 32403
revlog: raise WdirUnsupported when wdirrev is passed revlog.parentrevs() is called while evaluating ^ operator in revsets. When wdir is passed, it raises IndexError. This patch raises WdirUnsupported if wdir is passed in the function. The error will be caugth in future patches.
Fri, 19 May 2017 19:10:37 +0530 error: add a new exception named WdirUnsupported
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 19 May 2017 19:10:37 +0530] rev 32402
error: add a new exception named WdirUnsupported This series intents to support wdir() predicate with different operators like ~, ^. Currently the storage class don't support wdir(). This exception is introduced so that it can be raised from places where wdir() is passed and is not supported and we can catch this where we want to support the predicate. Also throwing an error at low level and catching at some higher level is better than using if-else especially for perf.
Thu, 18 May 2017 22:20:59 -0700 match: replace icasefsmatch() function by flag to regular match()
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 May 2017 22:20:59 -0700] rev 32401
match: replace icasefsmatch() function by flag to regular match() match() will soon gain more logic and we don't want to duplicate that in icasefsmatch(), so merge the two functions instead and use a flag to get case-insensitive behavior.
Thu, 18 May 2017 16:48:02 -0700 match: delete icasefsmatcher now that it's same as matcher
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 May 2017 16:48:02 -0700] rev 32400
match: delete icasefsmatcher now that it's same as matcher
Thu, 18 May 2017 15:45:50 -0700 match: pass in normalize() function to matchers
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 May 2017 15:45:50 -0700] rev 32399
match: pass in normalize() function to matchers This will let us delete icasefsmatcher.
Thu, 18 May 2017 16:05:46 -0700 match: don't print explicitly listed files with wrong case (BC)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 May 2017 16:05:46 -0700] rev 32398
match: don't print explicitly listed files with wrong case (BC) On case-insensitive file systems, if file A exists and you try to remove it (or add, etc.) by specifying a different case, you will see something like this: $ hg rm a removing file A I honestly found this surprising because it seems to me like it was explicitly listed by the user. Still, there is a comment in the code describing it, so it is very clearly intentional. The code was added in baa11dde8c0e (match: add a subclass for dirstate normalizing of the matched patterns, 2015-04-12). I'm going to do a lot of refactoring to matchers and the feature mentioned above is going to get in my way. I'm therefore removing it for the time being and we can hopefully add it back when I'm done.
Thu, 18 May 2017 15:25:16 -0700 match: move body of _normalize() to a static function
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 May 2017 15:25:16 -0700] rev 32397
match: move body of _normalize() to a static function matcher._normalize() no longer depends on any of the matcher's state, and making it static will enable further refactoring. Note that the subdirmatcher subclass calls _normalize(), so we can't remove it completely.
Thu, 18 May 2017 15:11:04 -0700 match: pass 'warn' argument to _normalize() for consistency
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 May 2017 15:11:04 -0700] rev 32396
match: pass 'warn' argument to _normalize() for consistency No other arguments are passed via the matcher's state, so we should treat 'warn' the consistently. More importantly, this will let us make it a static function, which will help with further refactoring.
Fri, 12 May 2017 23:11:41 -0700 match: replace match class by match function (API)
Martin von Zweigbergk <martinvonz@google.com> [Fri, 12 May 2017 23:11:41 -0700] rev 32395
match: replace match class by match function (API) The matcher class is getting hard to understand. It will be easier to follow if we can break it up into simpler matchers that we then compose. I'm hoping to have one matcher that accepts regular (non-include) patterns, one for exact file matches, one that always matches (and maybe one that never does) and then compose them by intersection and difference. This patch takes a simple but important step towards that goal by making match.match() a function (and renaming the matcher class itself from "match" to "matcher"). The new function will eventually be responsible for creating the simple matchers and composing them. icasefsmatcher similarly gets a factory function (called "icasefsmatch"). I also moved the other factory functions nearby.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip