Wed, 09 Sep 2015 14:43:45 -0700 templater: create string unescape helper (issue4798)
Matt Mackall <mpm@selenic.com> [Wed, 09 Sep 2015 14:43:45 -0700] rev 26215
templater: create string unescape helper (issue4798) This gives us a unified place to do error-handling of string-escaping syntax errors
Sat, 05 Sep 2015 16:50:35 +0900 parsers: use PyTuple_New and SET_ITEM to construct metadata pair of markers
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Sep 2015 16:50:35 +0900] rev 26214
parsers: use PyTuple_New and SET_ITEM to construct metadata pair of markers With these 2 patches, fm1readmarkers() gets slightly faster: obsolete._fm1readmarkers() for 78644 entries 58.0 -> 56.2msec
Sat, 05 Sep 2015 16:41:21 +0900 parsers: use PyTuple_SET_ITEM() to fill new marker tuples
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Sep 2015 16:41:21 +0900] rev 26213
parsers: use PyTuple_SET_ITEM() to fill new marker tuples Because we know these tuples have no member yet, PyTuple_SetItem() isn't necessary.
Sat, 05 Sep 2015 12:56:53 +0900 revset: uncache filteredset.__contains__
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Sep 2015 12:56:53 +0900] rev 26212
revset: uncache filteredset.__contains__ Since 96b6b3d78697, condition function returns a cached value, so there's little benefit to cache __contains__. No measurable difference found in contrib/base-revsets.txt.
Sat, 22 Aug 2015 17:08:37 -0700 hgweb: assign ctype to requestcontext
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 22 Aug 2015 17:08:37 -0700] rev 26211
hgweb: assign ctype to requestcontext The very existence of ctype is a bit hacky. But we roll with it. Before this patch, there was possibly a race condition between 2 threads handling file requests: 1 thread could set the ctype and another serving a different file would read and use that potentially wrong ctype.
Sat, 22 Aug 2015 17:04:24 -0700 hgweb: add reponame to requestcontext
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 22 Aug 2015 17:04:24 -0700] rev 26210
hgweb: add reponame to requestcontext We have to use object.__setattr__ until the app proxy is gone.
Sat, 22 Aug 2015 16:54:52 -0700 hgweb: don't access self.repo during request processing
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 22 Aug 2015 16:54:52 -0700] rev 26209
hgweb: don't access self.repo during request processing We want all repository accesses to go through requestcontext.repo so the request is isolated from the application.
Sat, 22 Aug 2015 16:44:36 -0700 hgweb: extract _getview to own function
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 22 Aug 2015 16:44:36 -0700] rev 26208
hgweb: extract _getview to own function While we're refactoring code, we might as well remove a method that doesn't need to be a method.
Sat, 22 Aug 2015 16:41:02 -0700 hgweb: regenerate web substitutions when repo is refreshed
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 22 Aug 2015 16:41:02 -0700] rev 26207
hgweb: regenerate web substitutions when repo is refreshed Previously, changes to the configuration would not be picked up by a running server. That feels like a bug. Regenerate the web substitutions table when the repository changes.
Wed, 09 Sep 2015 09:07:27 -0700 add: pass full=False to dirstate walk
Durham Goode <durham@fb.com> [Wed, 09 Sep 2015 09:07:27 -0700] rev 26206
add: pass full=False to dirstate walk Previously cmdutil.add would call wctx.walk(), which under the hood calls dirstate.walk with full=True. This means it returns all of the clean files (which we don't need when computing the add set), as well as the unclean files. This results in 1) a lot more work being done and 2) this code path circumventing the hgwatchman extension, resulting in worse performance in hgwatchman environments ('hg add .' went from 9s to 1.8s).
Wed, 09 Sep 2015 12:40:57 -0700 hgweb: drop unused import
Matt Mackall <mpm@selenic.com> [Wed, 09 Sep 2015 12:40:57 -0700] rev 26205
hgweb: drop unused import
Tue, 08 Sep 2015 20:44:18 -0400 obsolete: improve English of successorssets
timeless@mozdev.org [Tue, 08 Sep 2015 20:44:18 -0400] rev 26204
obsolete: improve English of successorssets
Tue, 08 Sep 2015 20:30:01 -0400 histedit: fix grammar in cleanupnode comment
timeless@mozdev.org [Tue, 08 Sep 2015 20:30:01 -0400] rev 26203
histedit: fix grammar in cleanupnode comment
Tue, 08 Sep 2015 15:32:20 -0400 hgweb.server: fix _httprequesthandlerssl help text
timeless@mozdev.org [Tue, 08 Sep 2015 15:32:20 -0400] rev 26202
hgweb.server: fix _httprequesthandlerssl help text
Tue, 08 Sep 2015 15:32:20 -0400 util: capitalize Python in MBTextWrapper._wrap_chunks comment
timeless@mozdev.org [Tue, 08 Sep 2015 15:32:20 -0400] rev 26201
util: capitalize Python in MBTextWrapper._wrap_chunks comment
Tue, 08 Sep 2015 14:56:29 -0400 hgweb: remove ErrorResponse.message
timeless@mozdev.org [Tue, 08 Sep 2015 14:56:29 -0400] rev 26200
hgweb: remove ErrorResponse.message BaseException.message is deprecated: https://www.python.org/dev/peps/pep-0352/#retracted-ideas
Fri, 04 Sep 2015 05:57:58 -0400 manifest: switch add() to heapq.merge (available in Py2.6+)
timeless@mozdev.org [Fri, 04 Sep 2015 05:57:58 -0400] rev 26199
manifest: switch add() to heapq.merge (available in Py2.6+)
Fri, 04 Sep 2015 05:54:35 -0400 archival: drop self.filename - deprecated in py2.6
timeless@mozdev.org [Fri, 04 Sep 2015 05:54:35 -0400] rev 26198
archival: drop self.filename - deprecated in py2.6
Sun, 30 Aug 2015 17:50:55 -0400 templater: fix get English
timeless@mozdev.org [Sun, 30 Aug 2015 17:50:55 -0400] rev 26197
templater: fix get English
Sun, 30 Aug 2015 18:54:31 -0400 help: fix makeitemsdoc English description
timeless@mozdev.org [Sun, 30 Aug 2015 18:54:31 -0400] rev 26196
help: fix makeitemsdoc English description
Tue, 08 Sep 2015 11:35:22 -0400 help: filesets show hg resolve command
timeless@mozdev.org [Tue, 08 Sep 2015 11:35:22 -0400] rev 26195
help: filesets show hg resolve command
Tue, 08 Sep 2015 11:30:01 -0400 help: filesets show hg status command
timeless@mozdev.org [Tue, 08 Sep 2015 11:30:01 -0400] rev 26194
help: filesets show hg status command
Tue, 08 Sep 2015 13:22:01 -0400 hgmanpage: fix grammar
timeless@mozdev.org [Tue, 08 Sep 2015 13:22:01 -0400] rev 26193
hgmanpage: fix grammar remove 's's from places where they don't belong insert the preposition 'in'
Tue, 08 Sep 2015 12:54:39 -0400 check-seclevel: fix file description grammar
timeless@mozdev.org [Tue, 08 Sep 2015 12:54:39 -0400] rev 26192
check-seclevel: fix file description grammar
Tue, 08 Sep 2015 11:39:52 -0700 profiling: allow logging profile to the blackbox
Durham Goode <durham@fb.com> [Tue, 08 Sep 2015 11:39:52 -0700] rev 26191
profiling: allow logging profile to the blackbox This allows specifying '--config profiling.output=blackbox' which will log the profile output to the blackbox (if enabled). This is useful for doing profiling on the server since it allows us to record the command, it's result, any exceptions, and it's profile, all in one spot. And we get log rotation for free.
Fri, 04 Sep 2015 11:30:38 -0400 bookmark: improve ambiguous documentation for rename
timeless@mozdev.org [Fri, 04 Sep 2015 11:30:38 -0400] rev 26190
bookmark: improve ambiguous documentation for rename
Sun, 06 Sep 2015 11:28:48 -0700 ui: change default path fallback mechanism (issue4796)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 06 Sep 2015 11:28:48 -0700] rev 26189
ui: change default path fallback mechanism (issue4796) The previous paths API code always fell back to the default path. This was wrong because if a requested path doesn't exist, that should error. Only if no path was requested should we fall back to the default. As part of implementing the test case for issue 4796, it was discovered that the "repository does not exist" error message raised by localrepository.__init__ wasn't being seen because the paths API validates paths before localrepository.__init__ was being called. The exception and error message from localrepository.__init__ has been introduced to getpath(). This necessitated rewriting expandpath() both to catch the exception and to have proper default fallback. This code is more complicated than I'd like. But making all tests pass was a big chore. As more code moves to getpath(), there will likely be opportunities to improve things a bit.
Mon, 07 Sep 2015 21:58:17 +0900 templater: catch regexp error at sub() function
Yuya Nishihara <yuya@tcha.org> [Mon, 07 Sep 2015 21:58:17 +0900] rev 26188
templater: catch regexp error at sub() function This patch splits re.sub() into re.compile() and sub() so that it can distinguish which argument causes re.error.
Tue, 08 Sep 2015 23:00:44 +0900 graphmod: compute slow revset query once prior to reachableroots (issue4782)
Yuya Nishihara <yuya@tcha.org> [Tue, 08 Sep 2015 23:00:44 +0900] rev 26187
graphmod: compute slow revset query once prior to reachableroots (issue4782) Because revsets query is evaluated lazily, "list(revs)" may take long for complicated query. So we shouldn't iterate revs many times. This patch is the easiest workaround for the issue4782. We could introduce more aggressive caching, but it wouldn't be as fast as the simple baseset operation. Gregory Szorc said "this makes `hg wip` on my Firefox clone ~4x faster than 3.5.1 (~6.5s to ~1.5s). This is after a regression in @ to ~45s."
Mon, 07 Sep 2015 11:35:40 -0700 profiling: add config option for enabling profiling
Durham Goode <durham@fb.com> [Mon, 07 Sep 2015 11:35:40 -0700] rev 26186
profiling: add config option for enabling profiling Previously you could only enable profiling via the --profile option. This is awkward when trying to debug a server side operation. Let's add a config option to enable profiling. In the future, this could be extended to allow profiling a certain percentage of operations (and potentially reporting that information to an external service).
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip