Sun, 05 Jul 2015 21:11:19 +0900 parser: remove unused binding parameter from suffix action
Yuya Nishihara <yuya@tcha.org> [Sun, 05 Jul 2015 21:11:19 +0900] rev 29767
parser: remove unused binding parameter from suffix action Because a suffix action never takes subsequent tokens, it should have no binding strength nor closing character. I've tried if this value could be used to resolve infix/suffix ambiguity of x^:y, but it appears not. So I decided to resend this patch.
Sun, 07 Aug 2016 14:58:49 +0900 revset: fix keyword arguments to go through optimization process stable
Yuya Nishihara <yuya@tcha.org> [Sun, 07 Aug 2016 14:58:49 +0900] rev 29766
revset: fix keyword arguments to go through optimization process Before, a keyvalue node was processed by the last catch-all condition of _optimize(). Therefore, topo.firstbranch=expr would bypass tree rewriting and would crash if an expr wasn't trivial.
Wed, 10 Aug 2016 16:27:33 +0100 extensions: add unwrapfunction to undo wrapfunction
Jun Wu <quark@fb.com> [Wed, 10 Aug 2016 16:27:33 +0100] rev 29765
extensions: add unwrapfunction to undo wrapfunction Before this patch, we don't have a safe way to undo a wrapfunction because other extensions may wrap the same function and calling setattr will undo them accidentally. This patch adds an "unwrapfunction" to address the issue. It removes the wrapper from the wrapper chain, and re-wraps everything, which is not the most efficient but short and easy to understand. We can revisit the code if we have perf issues with long chains. The "undo" feature is useful in cases like wrapping a function just in a scope. Like, having a "select" command to interactively (using arrow keys) select content from some output (ex. smartlog). It could wrap "ui.label" to extract interesting texts just in the "select" command.
Wed, 10 Aug 2016 15:21:42 +0100 extensions: add getwrapperchain to get a list of wrappers
Jun Wu <quark@fb.com> [Wed, 10 Aug 2016 15:21:42 +0100] rev 29764
extensions: add getwrapperchain to get a list of wrappers The getwrapperchain returns a list of wrappers + the original function, making it easier to understand what has been wrapped by whom. For example: In : mercurial.extensions.getwrapperchain(mercurial.dispatch, '_runcommand') Out: [<function hgext.pager.pagecmd>, <function hgext.color.colorcmd>, <function hgext.zeroconf.cleanupafterdispatch>, <function mercurial.dispatch._runcommand>] It will also be useful to safely unwrap a function. See the next patch.
Wed, 10 Aug 2016 15:21:42 +0100 extensions: set attributes to wrappers so we can trace them back
Jun Wu <quark@fb.com> [Wed, 10 Aug 2016 15:21:42 +0100] rev 29763
extensions: set attributes to wrappers so we can trace them back This patch adds two attributes about the original function and the unbound wrapper. It allows us to get a chain of wrappers. See the next patch.
Wed, 10 Aug 2016 15:05:20 +0100 ui: drop values returned by inspect.*frame*() to avoid cycles
Jun Wu <quark@fb.com> [Wed, 10 Aug 2016 15:05:20 +0100] rev 29762
ui: drop values returned by inspect.*frame*() to avoid cycles "f = inspect.currentframe()" instantly creates a cycle because "f.f_locals['f']" is "f" itself. This patch explicitly sets those frame objects to None to avoid cycles.
Tue, 09 Aug 2016 16:45:28 +0100 dispatch: split global error handling out so it can be reused
Jun Wu <quark@fb.com> [Tue, 09 Aug 2016 16:45:28 +0100] rev 29761
dispatch: split global error handling out so it can be reused We may want a similar error handling at worker.py. This patch extracts the error handling logic to "callcatch" so it can be reused.
Wed, 10 Aug 2016 04:35:44 +0530 py3: conditionalize _winreg import
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 10 Aug 2016 04:35:44 +0530] rev 29760
py3: conditionalize _winreg import _winreg module is renamed to winreg in python 3. Added the conditionalize statements in the respective file because adding this in pycompat will result in pycompat throwing error as this is a windows registry module and we have buildbots and most of the contributors on linux.
Mon, 08 Aug 2016 23:51:11 +0530 py3: conditionalize the raise statement
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 08 Aug 2016 23:51:11 +0530] rev 29759
py3: conditionalize the raise statement raise E,V,T is not acceptable in Python 3, thats is conditionalized. Moreover this will result in syntax error so we have to use exec() to execute this. Related PEP- https://www.python.org/dev/peps/pep-3109/#id14 My implementation is motivated from the six implementation except they are defining a new function exec_() to prevent adding an extra frame AFAIK :) https://bitbucket.org/gutworth/six/src/ca4580a5a648/six.py#six.py-680
Tue, 09 Aug 2016 09:02:51 +0000 match: added matchessubrepo method to matcher
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com> [Tue, 09 Aug 2016 09:02:51 +0000] rev 29758
match: added matchessubrepo method to matcher Previously there were three local implementations of this function in cmdutil.files, cmdutil.remove and scmutil.addremove.
Mon, 08 Aug 2016 22:06:07 -0700 changegroup: move branch cache debug message to proper location
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 08 Aug 2016 22:06:07 -0700] rev 29757
changegroup: move branch cache debug message to proper location Before, we logged about performing a branch cache update when we weren't actually doing it. Fix that.
Mon, 08 Aug 2016 18:05:10 +0200 journal: take wlock for writting the 'shared' file
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Aug 2016 18:05:10 +0200] rev 29756
journal: take wlock for writting the 'shared' file As we did for the shared extension itself, we add some locking around the write of the 'shared' file.
Sun, 07 Aug 2016 17:15:19 +0200 debugbuilddag: take wlock to cover '.hg/localtags'
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 07 Aug 2016 17:15:19 +0200] rev 29755
debugbuilddag: take wlock to cover '.hg/localtags' This debug command can write local tags. local tags are in the .hg directory and should be covered by the 'wlock'. This is now covered.
Mon, 08 Aug 2016 17:33:45 +0200 fakemergerecord: take wlock to write the merge state
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 08 Aug 2016 17:33:45 +0200] rev 29754
fakemergerecord: take wlock to write the merge state The merge state is supposed to be covered by the wlock. We fix the test extensions to comply to that.
Sun, 07 Aug 2016 17:10:47 +0200 shared: take wlock for writting the 'shared' file
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 07 Aug 2016 17:10:47 +0200] rev 29753
shared: take wlock for writting the 'shared' file I do not see a reason why this should not be covered by the wlock.
Sun, 07 Aug 2016 17:00:45 +0200 mq: take wlock when 'qqueue' is doing write operations
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sun, 07 Aug 2016 17:00:45 +0200] rev 29752
mq: take wlock when 'qqueue' is doing write operations Apparently when this command was added, the locking was forgotten. No code changes beside the indentation from the locking context.
Tue, 09 Aug 2016 02:28:34 +0900 py3: make check-py3-compat.py use correct module name at loading pure modules
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Aug 2016 02:28:34 +0900] rev 29751
py3: make check-py3-compat.py use correct module name at loading pure modules Before this patch, check-py3-compat.py implies unintentional ".pure" sub-package name at loading pure modules, because module name is composed by just replacing "/" in the path to actual ".py" file by ".". This makes pure modules belong to "mercurial.pure" package, and prevents them from importing a module belonging to "mercurial" package relatively by "from . import foo" or so. This is reason why pure modules fail to import another module relatively only at examination by check-py3-compat.py.
Tue, 09 Aug 2016 02:28:34 +0900 py3: update output of check-py3-compat.py with python3
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 09 Aug 2016 02:28:34 +0900] rev 29750
py3: update output of check-py3-compat.py with python3 Recent work on mercurial/pure/mpatch.py made it import mercurial.policy, and changed output of check-py3-compat.py with python3 in test-check-py3-compat.t. But test-check-py3-compat.t isn't yet updated.
Sun, 07 Aug 2016 10:06:56 +0900 mpatch: raise MemoryError instead of mpatchError if lalloc() failed
Yuya Nishihara <yuya@tcha.org> [Sun, 07 Aug 2016 10:06:56 +0900] rev 29749
mpatch: raise MemoryError instead of mpatchError if lalloc() failed MemoryError is handled differently in dispatch._runcatch(). Since mpatch_errors[] isn't that useful now, I've changed it to a simple switch statement.
Sun, 07 Aug 2016 18:09:58 -0700 hgweb: config option to control zlib compression level
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 07 Aug 2016 18:09:58 -0700] rev 29748
hgweb: config option to control zlib compression level Before this patch, the HTTP transport protocol would always zlib compress certain responses (notably "getbundle" wire protocol commands) at zlib compression level 6. zlib can be a massive CPU resource sink for servers. Some server operators may wish to reduce server-side CPU requirements while requiring more bandwidth. This is common on corporate intranets, for example. Others may wish to use more CPU but reduce bandwidth. This patch introduces a config option to allow server operators to control the zlib compression level. On the "mozilla-unified" generaldelta repository, setting this value to "0" (disable compression) results in server-side CPU utilization for a `hg clone` going from ~180s to ~124s CPU time on my i7-6700K. A level of "1" (which increases the transfer size from ~1,074 MB at level 6 to ~1,222 MB) utilizes ~132s CPU time.
Sat, 06 Aug 2016 17:04:22 -0700 help: don't try to render a section on sub-topics
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 Aug 2016 17:04:22 -0700] rev 29747
help: don't try to render a section on sub-topics This patch subtly changes the behavior of the parsing of "X.Y" values to not set the "section" variable when rendering a known sub-topic. Previously, "section" would be the same as the sub-topic name. This required the sub-topic RST to have a section named the same as the sub-topic name. When I made this change, the descriptions from help.internalstable started being rendered in command line output. This didn't look correct to me, as it didn't match the formatting of main help pages. I corrected this by moving the top section to help.internalstable and changing the section levels of all the "internals" topics. The end result is that "internals" topics now match the rendering of main topics on both the CLI and HTML. And, "internals" topics no longer require a main section matching the name of the topic.
Fri, 05 Aug 2016 15:01:16 +0200 branchmap: remove extra indent
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 05 Aug 2016 15:01:16 +0200] rev 29746
branchmap: remove extra indent This clean up the rest of the previous changeset.
Fri, 05 Aug 2016 15:00:53 +0200 branchmap: simplify error handlind when writing rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 05 Aug 2016 15:00:53 +0200] rev 29745
branchmap: simplify error handlind when writing rev branch cache Now that we have a general try except, we can move the error handling from the individual writes in it. Code will be reindented in the next changeset to help this on readability.
Fri, 05 Aug 2016 14:57:16 +0200 branchmap: acquires lock before writting the rev branch cache
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 05 Aug 2016 14:57:16 +0200] rev 29744
branchmap: acquires lock before writting the rev branch cache We now attempt to acquire a lock and write the branch cache within that lock. This would prevent cache corruption when multiple processes try to write the cache at the same time.
Fri, 05 Aug 2016 14:54:46 +0200 branchmap: preparatory indent of indent the branch rev writing code
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 05 Aug 2016 14:54:46 +0200] rev 29743
branchmap: preparatory indent of indent the branch rev writing code The rev branch cache is written without a lock, we are going to fix this but we indent the code beforehand to make the next changeset clearer.
Sun, 07 Aug 2016 09:47:07 +0900 mpatch: silence warning about maybe-uninitialized variable
Yuya Nishihara <yuya@tcha.org> [Sun, 07 Aug 2016 09:47:07 +0900] rev 29742
mpatch: silence warning about maybe-uninitialized variable It's false positive, but it wouldn't be possible for gcc to know PyBytes_FromStringAndSize() sets PyErr_Occurred(). mercurial/mpatch_module.c:105:47: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized] PyErr_SetString(mpatch_Error, mpatch_errors[-r]);
Sun, 07 Aug 2016 09:40:30 +0900 mpatch: change lalloc() to local function
Yuya Nishihara <yuya@tcha.org> [Sun, 07 Aug 2016 09:40:30 +0900] rev 29741
mpatch: change lalloc() to local function It was mistakenly made public at b9b9f9a92481.
Sun, 07 Aug 2016 09:49:07 +0900 mpatch: remove superfluous whitespaces
Yuya Nishihara <yuya@tcha.org> [Sun, 07 Aug 2016 09:49:07 +0900] rev 29740
mpatch: remove superfluous whitespaces
Sun, 07 Aug 2016 14:06:20 +0000 cmdutil: remove duplicated badmatch call in cat()
Hannes Oldenburg <hannes.christian.oldenburg@gmail.com> [Sun, 07 Aug 2016 14:06:20 +0000] rev 29739
cmdutil: remove duplicated badmatch call in cat() Subrepo logic is handled in ctx.walk().
Fri, 05 Aug 2016 15:48:09 +0200 statichttprepo: do not try to write caches
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Fri, 05 Aug 2016 15:48:09 +0200] rev 29738
statichttprepo: do not try to write caches The static http repository are read only, there is no hope in any cache writing attempt.
Sat, 06 Aug 2016 22:24:33 +0900 demandimport: omit default value of "level" at construction of _demandmod
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 06 Aug 2016 22:24:33 +0900] rev 29737
demandimport: omit default value of "level" at construction of _demandmod This makes construction of _demandmod require explicit level value, and helps to avoid issues like issue5208 in the future.
Sat, 06 Aug 2016 22:24:33 +0900 demandimport: import sub-module relatively as expected (issue5208)
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sat, 06 Aug 2016 22:24:33 +0900] rev 29736
demandimport: import sub-module relatively as expected (issue5208) Before this patch, importing sub-module might (1) fail or (2) success but import incorrect module, because demandimport tries to import sub-module with level=-1 (on Python 2.x) or level=0 (on Python 3.x), which is default value of "level" argument at construction of "_demandmod" proxy object. (1) on Python 3.x, importing sub-module always fails to import existing sub-module (2) both on Python 2.x and 3.x, importing sub-module might import same name module on root level unintentionally On Python 2.x, existing sub-module is prior to this unexpected module. Therefore, this problem hasn't appeared. To import sub-module relatively as expected, this patch specifies "1" as import level explicitly at construction of "_demandmod" proxy object for sub-module.
Sat, 06 Aug 2016 15:00:34 -0700 wireproto: remove gboptslist (API)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 Aug 2016 15:00:34 -0700] rev 29735
wireproto: remove gboptslist (API) This variable has been unused since ce25f465e572, which was over 2 years ago. gboptsmap should be used instead. Marking as API because this could break extensions.
Sat, 06 Aug 2016 13:55:21 -0700 wireproto: unescape argument names in batch command (BC)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 Aug 2016 13:55:21 -0700] rev 29734
wireproto: unescape argument names in batch command (BC) Clients escape both argument names and values when using the batch command. Yet the server was only unescaping argument values. Fortunately we don't have any argument names that need escaped. But that isn't an excuse to lack symmetry in the code. Since the server wasn't properly unescaping argument names, this means we can never introduce an argument to a batchable command that needs escaped because an old server wouldn't properly decode its name. So we've introduced an assertion to detect the accidental introduction of this in the future. Of course, we could introduce a server capability that says the server knows how to decode argument names and allow special argument names to go through. But until there is a need for it (which I doubt there will be), we shouldn't bother with adding an unused capability.
Sat, 06 Aug 2016 13:46:28 -0700 wireproto: consolidate code for obtaining "cmds" argument value
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 06 Aug 2016 13:46:28 -0700] rev 29733
wireproto: consolidate code for obtaining "cmds" argument value Both wireproto.py and sshpeer.py had code for producing the value to the "cmds" argument used by the "batch" command. This patch extracts that code to a standalone function and uses it.
Fri, 05 Aug 2016 15:35:02 -0400 revlog: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 15:35:02 -0400] rev 29732
revlog: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 14:00:56 -0400 md5sum: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 14:00:56 -0400] rev 29731
md5sum: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 14:00:46 -0400 util: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 14:00:46 -0400] rev 29730
util: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 14:00:39 -0400 url: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 14:00:39 -0400] rev 29729
url: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 14:00:30 -0400 sshserver: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 14:00:30 -0400] rev 29728
sshserver: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 14:00:22 -0400 sshpeer: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 14:00:22 -0400] rev 29727
sshpeer: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 14:00:14 -0400 patch: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 14:00:14 -0400] rev 29726
patch: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 14:00:08 -0400 commands: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 14:00:08 -0400] rev 29725
commands: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Fri, 05 Aug 2016 13:59:58 -0400 changegroup: use `iter(callable, sentinel)` instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 13:59:58 -0400] rev 29724
changegroup: use `iter(callable, sentinel)` instead of while True This is functionally equivalent, but is a little more concise.
Wed, 27 Jul 2016 21:44:49 +0900 extdiff: isolate path variable of saved command to independent paragraph
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Jul 2016 21:44:49 +0900] rev 29723
extdiff: isolate path variable of saved command to independent paragraph Otherwise, the whole paragraph wouldn't be translated.
Wed, 27 Jul 2016 21:42:24 +0900 extdiff: export __doc__ of saved command for translation
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Jul 2016 21:42:24 +0900] rev 29722
extdiff: export __doc__ of saved command for translation
Wed, 27 Jul 2016 21:40:42 +0900 extdiff: refactor closure of saved diff command as a top-level class
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Jul 2016 21:40:42 +0900] rev 29721
extdiff: refactor closure of saved diff command as a top-level class This allows us to collect __doc__ for translation.
Wed, 27 Jul 2016 21:53:14 +0900 i18n: use inspect.getsourcelines() to obtain lineno from func or class
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Jul 2016 21:53:14 +0900] rev 29720
i18n: use inspect.getsourcelines() to obtain lineno from func or class Before, func must be a function object. I want to make it parse docstring of classes, too.
Fri, 05 Aug 2016 21:21:33 +0900 chg: just take it as EOF if recv() returns 0
Yuya Nishihara <yuya@tcha.org> [Fri, 05 Aug 2016 21:21:33 +0900] rev 29719
chg: just take it as EOF if recv() returns 0 hgc->sockfd is a blocking stream socket. recv() should never return 0 other than EOF. See 4fc4b8cc9957 for the original problem.
Thu, 04 Aug 2016 16:56:50 +0200 vfs: use propertycache for open
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 04 Aug 2016 16:56:50 +0200] rev 29718
vfs: use propertycache for open The current open method is currently behaving like a property cache. We use our utility decorator to make this explicit.
Mon, 08 Aug 2016 16:47:42 +0200 help: add example of '[templates]' usage stable
Mathias De Maré <mathias.demare@gmail.com> [Mon, 08 Aug 2016 16:47:42 +0200] rev 29717
help: add example of '[templates]' usage V2: - move from shortest() with minlength 8 to minlength 4 - mention [templates] in config.txt - better describe the difference between [templatealias] and [templates] V3: - choose a better example template
Fri, 05 Aug 2016 17:27:51 -0400 check-commit: allow underbars in cffi_-prefix function names
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 17:27:51 -0400] rev 29716
check-commit: allow underbars in cffi_-prefix function names It seems reasonable to give cffi functions slightly more verbose names in some circumstances, given the way they interface with C.
Fri, 05 Aug 2016 13:08:11 -0400 bundlerepo: add support for treemanifests in cg3 bundles
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 13:08:11 -0400] rev 29715
bundlerepo: add support for treemanifests in cg3 bundles This is a little messier than I'd like, and I'll probably come back and do some more refactoring later, but as it is this unblocks narrowhg. An alternative approach (which I may do as part of the mentioned refactoring) would be to construct *all* dirlog instances up front, so that we don't have to keep track of the linkmapper method. This would avoid a reference cycle between the bundlemanifest and the bundlerepository, but I was hesitant to do all the work up front like that. With this change, it's possible to do 'hg incoming' and 'hg pull' from bundles in .hg/strip-backup in a treemanifest repository. Sadly, this doesn't make it possible to 'hg clone' one of those (if you do 'hg strip 0'), because the cg3 in the bundle gets written without a treemanifest flag. Since that's going to be an involved refactor in a different part of the code (which I *suspect* won't touch any of the code I've just written here), let's leave it as an idea for Later.
Fri, 05 Aug 2016 11:19:22 -0400 auditvfs: forward options property from nested vfs
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 11:19:22 -0400] rev 29714
auditvfs: forward options property from nested vfs This was breaking my ability to use treemanifests in bundlerepos, and was deeply mysterious. We should probably just make the options property a formal part of the vfs API, and make it a required construction parameter. Sadly, I don't have time to dive into that refactor right now.
Thu, 04 Aug 2016 14:13:35 -0400 bundlerepo: use supportedincomingversions instead of allsupportedversions
Augie Fackler <augie@google.com> [Thu, 04 Aug 2016 14:13:35 -0400] rev 29713
bundlerepo: use supportedincomingversions instead of allsupportedversions Since bundlerepo is really a pull-like operation, this is the correct method to use here.
Fri, 05 Aug 2016 13:07:58 -0400 bundlerepo: introduce method to find file starts and use it
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 13:07:58 -0400] rev 29712
bundlerepo: introduce method to find file starts and use it This moves us to the modern iter() technique instead of the `while True` pattern since it's easy. Factored out as a function because I'm about to need this in a second place.
Fri, 05 Aug 2016 13:09:50 -0400 bundlerevlog: use for loop over iterator instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 13:09:50 -0400] rev 29711
bundlerevlog: use for loop over iterator instead of while True The iter() builtin has a neat pattern where you give it a callable of no arguments and a sentinel value, and you can then loop over the function calls like a normal iterator. This cleans up the code a little.
Fri, 05 Aug 2016 13:09:24 -0400 bundlerepo: use for loop over iterator instead of while True
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 13:09:24 -0400] rev 29710
bundlerepo: use for loop over iterator instead of while True The iter() builtin has a neat pattern where you give it a callable of no arguments and a sentinel value, and you can then loop over the function calls like a normal iterator. This cleans up the code a little.
Fri, 05 Aug 2016 12:47:03 -0400 localrepo: jettison now-unused dirlog() method from localrepo
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 12:47:03 -0400] rev 29709
localrepo: jettison now-unused dirlog() method from localrepo
Fri, 05 Aug 2016 13:01:01 -0400 repair: build dirlogs using manifest, rather than repo shortcut method
Augie Fackler <augie@google.com> [Fri, 05 Aug 2016 13:01:01 -0400] rev 29708
repair: build dirlogs using manifest, rather than repo shortcut method As before, this was rarely used, so let's get rid of the convenience method.
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip