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 32438
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 32437
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 32436
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 32435
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 32434
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 32433
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.
Sun, 21 May 2017 18:36:28 -0400 checklink: degrade gracefully on posix when fs is readonly (issue5511)
Augie Fackler <augie@google.com> [Sun, 21 May 2017 18:36:28 -0400] rev 32432
checklink: degrade gracefully on posix when fs is readonly (issue5511) In the unlucky case, checklink tries to make a new file for the symlink test to target. If the filesystem is readonly (perhaps due to permissions in a repo owned by someone else) we just report the filesystem as not supporting symlinks, since the user probably can't write anyway.
Fri, 19 May 2017 20:14:31 -0700 revlog: remove some revlogNG terminology
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 19 May 2017 20:14:31 -0700] rev 32431
revlog: remove some revlogNG terminology RevlogNG is not such a good name when it is no longer the newest revlog version. Since we'll soon have revlog version 2, let's remove some references to it.
Fri, 19 May 2017 20:10:50 -0700 revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 19 May 2017 20:10:50 -0700] rev 32430
revlog: tweak wording and logic for flags validation First, the logic around the if..elif..elif was subtly wrong and sub-optimal because all branches would be tested as long as the revlog was valid. This patch changes things so it behaves like a switch statement over the revlog version. While I was here, I also tweaked error strings to make them consistent and to read better.
Fri, 19 May 2017 20:01:35 -0700 tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 19 May 2017 20:01:35 -0700] rev 32429
tests: tests for revlog version and flags loading We didn't have explicit test coverage of these branches. Better late than never.
(0) -30000 -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip