- May 18, 2017
-
-
Martin von Zweigbergk authored
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.
-
Martin von Zweigbergk authored
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.
-
- May 13, 2017
-
-
Martin von Zweigbergk authored
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.
-
- May 21, 2017
-
-
Augie Fackler authored
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.
-
- May 20, 2017
-
-
Gregory Szorc authored
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.
-
Gregory Szorc authored
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.
-
Gregory Szorc authored
We didn't have explicit test coverage of these branches. Better late than never.
-
- May 21, 2017
-
-
Pierre-Yves David authored
Loading the obsstore can become a large part of the time necessary to compute the important volatile set. We add a flag purging all known obsstore related data. For example, computing the 'bumped' set currently requires reading the full obsstore, so timing greatly differ with or without that flag: Without: ! bumped ! wall 0.005047 comb 0.000000 user 0.000000 sys 0.000000 (best of 446) With: ! bumped ! wall 0.512367 comb 0.510000 user 0.480000 sys 0.030000 (best of 15)
-
Pierre-Yves David authored
Receiving markers affecting changeset we'll receives later is legitimate and not so uncommon case. Working on cache highlighted that this was only testing in the evolve extension. We add a test for this case in core.
-
- May 19, 2017
-
-
Martin von Zweigbergk authored
We will soon have matchers that don't have an _always field, so largefiles needs to stop assuming that they do. _always is only used by always(), so we safely replace that method instead.
-
- May 21, 2017
-
-
Augie Fackler authored
-
Yuya Nishihara authored
-
Yuya Nishihara authored
Since util.h isn't useful in plain C module, it should be placed in CPython extension directory.
-
Yuya Nishihara authored
-
Martin von Zweigbergk authored
Incidentally, this apparently means we load .hgsub one time less as well, which affects a test case.
-
- May 18, 2017
-
-
Augie Fackler authored
This method is only used internally by destutil, and it's obscure enough I'm willing to just move it without a deprecation warning, especially since the new method has more constrained functionality. Design-wise I'd also like to get active bookmark handling folded into the bookmark store, so that we don't squirrel away an extra attribute for the active bookmark on the repository object.
-
- May 21, 2017
-
-
Augie Fackler authored
I had to flag some revisions to not undergo check-commit scrutiny today to get the tests to pass, because they renamed files that had existing failures which we're not cleaning up. Let's prevent that in the future by using the extended git diff format to elide moved code.
-
- Apr 30, 2017
-
-
Jun Wu authored
chg needs special logic around repo object creation (like, collecting and reporting repo path to the master server). Adding "reposetup" to dispatch.request seems to be an easy and reasonably clean way to allow that.
-
- May 20, 2017
-
-
Gregory Szorc authored
parsers.c is ~3000 lines and ~2/3 of it is related to the revlog index type. We already have separate C source files for directory utilities and manifest parsing. I think the quite unwieldy revlog/index parsing code should be self-contained as well. I performed the extraction as a file copy then removed content from both sides in order to preserve file history and blame. As part of this, I also had to move the hexdigit table and function to a shared header since it is used by both parsers.c and revlog.c # no-check-commit
-
- May 04, 2017
-
-
Yuya Nishihara authored
Instead, load the table by commands.py so the debug commands should always be populated. The table in debugcommands.py is unnamed so extension authors wouldn't be confused to wrap debugcommands.table in place of commands.table.
-
- May 14, 2017
-
-
Yuya Nishihara authored
These commands depend heavily on the commands table, so it doesn't make much sense to isolate them to debugcommands.py. This helps eliminating the future import cycle.
-
Yuya Nishihara authored
The goal is to get rid of the debugcommands -> commands dependency. Since globalopts is the property of the commands, it's kept in the commands module.
-
- Aug 13, 2016
-
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-
Yuya Nishihara authored
# no-check-commit
-
Yuya Nishihara authored
-
Yuya Nishihara authored
# no-check-commit
-
Yuya Nishihara authored
# no-check-commit
-
Yuya Nishihara authored
-
- Aug 12, 2016
-
-
Yuya Nishihara authored
"make clean" is recommended to test this change, though C API compatibility should be preserved.
-
Yuya Nishihara authored
These functions are sysstr API since __import__() and getattr() hate byte strings on Python 3. There's a minor BC, which is ImportError will be raised if invalid HGMODULEPOLICY is specified. I think this is more desired behavior. We're planning to add strict checking for C API compatibility. This patch includes the stub for it.
-
- May 20, 2017
-
-
Yuya Nishihara authored
locals may be an empty dict.
-
- May 18, 2017
-
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
-
Augie Fackler authored
-
- Apr 26, 2017