Thu, 07 May 2015 14:19:20 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2015 14:19:20 -0500] rev 24957
merge with stable
Tue, 05 May 2015 08:40:59 -0700 treemanifest: set requires at repo creation time, ignore config after
Martin von Zweigbergk <martinvonz@google.com> [Tue, 05 May 2015 08:40:59 -0700] rev 24956
treemanifest: set requires at repo creation time, ignore config after The very next changeset will start writing one revlog per directory when tree manifests are enabled. That is backwards incompatible, so it requires .hg/requires to be updated. Just like with generaldelta, we want to update .hg/requires only when the repo is created. Updating ..hg/requires is bad for repos on shared disk. Instead, those who do want to upgrade a repo to using treemanifest (or manifestv2, etc) can run hg clone --config experimental.treemanifest repo clone which will create a new repo with the requirement set. Unlike the case of e.g. generaldelta, it will not rewrite the changesets, since tree manifests hash differently.
Tue, 21 Apr 2015 09:29:59 -0700 remove: use ctx.hasdir(f) instead of 'f in ctx.dirs()'
Martin von Zweigbergk <martinvonz@google.com> [Tue, 21 Apr 2015 09:29:59 -0700] rev 24955
remove: use ctx.hasdir(f) instead of 'f in ctx.dirs()' This speeds up 'hg remove python/README' on the Firefox repo from 2.479s to 0.664s with lazily loaded treemanifests (which is not yet in core) and has no measurable effect on flat manifests.
Mon, 04 May 2015 23:04:12 -0400 largefiles: drop os.path.join() in subrepo archive override
Matt Harbison <matt_harbison@yahoo.com> [Mon, 04 May 2015 23:04:12 -0400] rev 24954
largefiles: drop os.path.join() in subrepo archive override This is related to 41cd8171e58f, but not required for that to function correctly because 'prefix' always ends with '/', so os.path.join(prefix, _path) simply concatenates the strings. Take the opportunity to drop the os.path usage, and avoid confusion by using the same pattern as the overridden subrepo method.
Tue, 05 May 2015 20:52:38 -0400 archive: drop the leading '.' path component from the prefix (issue4634)
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 May 2015 20:52:38 -0400] rev 24953
archive: drop the leading '.' path component from the prefix (issue4634) Unix utilities like tar will happily prefix the files it packs with './', but annoyingly, Windows Explorer will not show these packed files when it opens the archive. Since there doesn't seem to be a point in including './' in the path names, just drop it. The default 'hg archive' prefix is the basename of the archive, so specifying '.' allows for that default to be disabled completely.
Thu, 07 May 2015 07:46:39 +0900 hgweb: bring back infinite scroll in shortlog of paper style stable
Yuya Nishihara <yuya@tcha.org> [Thu, 07 May 2015 07:46:39 +0900] rev 24952
hgweb: bring back infinite scroll in shortlog of paper style Since fdf7794be41d, column headers are wrapped by <thead> element, so the first and only <tbody> contains changelog data. I got the following error without this patch: Uncaught TypeError: Cannot read property 'lastElementChild' of null scrollHandler @ mercurial.js:375
Thu, 07 May 2015 13:47:45 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 07 May 2015 13:47:45 -0500] rev 24951
merge with stable
Wed, 06 May 2015 09:52:10 -0700 extensions: clear aftercallbacks after execution (issue4646) stable
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 06 May 2015 09:52:10 -0700] rev 24950
extensions: clear aftercallbacks after execution (issue4646) It was reported that enabling pager without color could cause a hang. Inserting print statements revealed that the callbacks in extensions._aftercallbacks were being invoked twice. extensions.loadall can be called multiple times. If entries in extensions._aftercallbacks linger between calls, this could result in double execution of the callbacks. This can lead to unwanted behavior. The reproduce steps in the bug seem to only occur when the output of a command is less than the size of the current screen. This is not something that can easily be tested. I verified the test case works with this patch and that pager and color interaction continues to work. Since we have no existing automated tests for pager, this sadly appears to be the best testing I can do.
Mon, 04 May 2015 10:17:34 +0900 templater: strictly parse leading backslashes of '{' (issue4569) (BC) stable
Yuya Nishihara <yuya@tcha.org> [Mon, 04 May 2015 10:17:34 +0900] rev 24949
templater: strictly parse leading backslashes of '{' (issue4569) (BC) Because double backslashes are processed as a string escape sequence, '\\{' should start the template syntax. On the other hand, r'' disables any sort of \-escapes, so r'\{' can go either way, never start the template syntax or always start it. I simply chose the latter, which means r'\{' is the same as '\\{'.
Mon, 04 May 2015 09:54:01 +0900 templater: do not process \-escapes at parsestring() (issue4290) stable
Yuya Nishihara <yuya@tcha.org> [Mon, 04 May 2015 09:54:01 +0900] rev 24948
templater: do not process \-escapes at parsestring() (issue4290) This patch brings back pre-2.8.1 behavior. The result of parsestring() is stored in templater's cache, t.cache, and then it is parsed as a template string by compiletemplate(). So t.cache should keep an unparsed string no matter if it is sourced from config value. Otherwise backslashes would be processed twice. The test vector is borrowed from 64b4f0cd7336.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip