Sun, 28 Jun 2015 18:39:58 -0400 identify: avoid a crash when given '-r wdir()'
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Jun 2015 18:39:58 -0400] rev 25683
identify: avoid a crash when given '-r wdir()' The crash was 'NoneType is not subscriptable' in hexfunc(ctx.node()), because the node for wdir() is None. This can be avoided simply by detecting 'wdir()' and taking the existing path for no given revision.
Fri, 26 Jun 2015 14:33:34 -0700 tests: clean up duplicated output in test-subrepo-recursion progress
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 14:33:34 -0700] rev 25682
tests: clean up duplicated output in test-subrepo-recursion progress We have fixed a bug where two progress instance were created and competed with each other (in 95f490136e75). But we did not updated the non-hardlink section of 'test-subrepo-recursion.t'. This patch fixes it.
Wed, 01 Jul 2015 17:46:37 -0500 Added signature for changeset 540cd0ddac49 stable
Matt Mackall <mpm@selenic.com> [Wed, 01 Jul 2015 17:46:37 -0500] rev 25681
Added signature for changeset 540cd0ddac49
Wed, 01 Jul 2015 17:46:37 -0500 Added tag 3.4.2 for changeset 540cd0ddac49 stable
Matt Mackall <mpm@selenic.com> [Wed, 01 Jul 2015 17:46:37 -0500] rev 25680
Added tag 3.4.2 for changeset 540cd0ddac49
Mon, 29 Jun 2015 19:09:42 -0700 transplant: only pull the transplanted revision (issue4692) stable 3.4.2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 29 Jun 2015 19:09:42 -0700] rev 25679
transplant: only pull the transplanted revision (issue4692) For some reason, transplant was pulling all remote revisions when transplanting from a remote repository (unless --branch was specified).
Mon, 29 Jun 2015 19:18:51 -0700 transplant: update test to use hash for remote transplant stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 29 Jun 2015 19:18:51 -0700] rev 25678
transplant: update test to use hash for remote transplant Transplant is apparently allowing using revision numbers when transplanting through http. I call this nonsense and update the test to use an explicit hash. This "feature" will break in the next change fixing another bug.
Mon, 29 Jun 2015 11:20:09 -0700 changegroup: properly compute common base in changeggroupsubset (issue4736) stable
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 29 Jun 2015 11:20:09 -0700] rev 25677
changegroup: properly compute common base in changeggroupsubset (issue4736) The computation of roots was buggy, any ancestor of a bundled merge which was also a descendant of the parents of a bundled revision were included as part of the bundle. We fix it and add a test for strip (which revealed the problem). Check the test for a practical usecase.
Thu, 25 Jun 2015 22:07:38 +0900 templater: parse \"...\" as string for 2.9.2-3.4 compatibility (issue4733) stable
Yuya Nishihara <yuya@tcha.org> [Thu, 25 Jun 2015 22:07:38 +0900] rev 25676
templater: parse \"...\" as string for 2.9.2-3.4 compatibility (issue4733) As of Mercurial 3.4, there were several syntax rules to process nested template strings. Unfortunately, they were inconsistent and conflicted each other. a. buildmap() rule - template string is _parsed_ as string, and parsed as template - <\"> is not allowed in nested template: {xs % "{f(\"{x}\")}"} -> parse error - template escaping <\{> is handled consistently: {xs % "\{x}"} -> escaped b. _evalifliteral() rule - template string is _interpreted_ as string, and parsed as template in crafted environment to avoid double processing of escape sequences - <\"> is allowed in nested template: {if(x, "{f(\"{x}\")}")} - <\{> and escape sequences in string literal in nested template are not handled well c. pad() rule - template string is first interpreted as string, and parsed as template, which means escape sequences are processed twice - <\"> is allowed in nested template: {pad("{xs % \"{x}\"}', 10)} Because of the issue of template escaping, issue4714, 7298da81f5a9 (in stable) unified the rule (b) to (a). Then, 576d6c74784b (in default) unified the rule (c) to (b) = (a). But they disabled the following syntax that was somewhat considered valid. {if(rev, "{if(rev, \"{rev}\")}")} {pad("{files % \"{file}\"}", 10)} So, this patch introduces \"...\" literal to work around the escaped-quoted nested template strings. Because this parsing rule exists only for the backward compatibility, it is designed to copy the behavior of old _evalifliteral() as possible. Future patches will introduce a better parsing rule similar to a command substitution of POSIX shells or a string interpolation of Ruby, where extra escapes won't be necessary at all. {pad("{files % "{file}"}", 10)} ~~~~~~~~~~~~~~~~~~ parsed as a template, not as a string Because <\> character wasn't allowed in a template fragment, this patch won't introduce more breakages. But the syntax of nested templates are interpreted differently by people, there might be unknown issues. So if we want, we could instead remove db7463aa080f, 890845af1ac2 and 7298da81f5a9 from the stable branch as the bug fixed by these patches existed for longer periods. 554d6fcc3c8, "strip single backslash before quotation mark in quoted template", should be superseded by this patch. I'll remove it later.
Mon, 29 Jun 2015 16:38:22 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 29 Jun 2015 16:38:22 -0500] rev 25675
merge with stable
Sat, 27 Jun 2015 17:31:06 -0700 demandimport: support importing builtins for Python 3
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Jun 2015 17:31:06 -0700] rev 25674
demandimport: support importing builtins for Python 3 __builtin__ was renamed to builtins in Python 3. If importing __builtin__ fails, fall back to importing builtins in order to support Python 3.
Sat, 27 Jun 2015 17:29:15 -0700 demandimport: alias __builtin__ as builtins
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Jun 2015 17:29:15 -0700] rev 25673
demandimport: alias __builtin__ as builtins Python 3 renamed the __builtin__ module to builtins. In preparation for supporting Python 3, alias the imported module as "builtins."
Fri, 26 Jun 2015 11:29:50 -0700 bufferedinputpipe: remove N^2 computation of buffer length (issue4735)
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 26 Jun 2015 11:29:50 -0700] rev 25672
bufferedinputpipe: remove N^2 computation of buffer length (issue4735) The assumption that dynamically computing the length of the buffer was N^2, but negligible because fast was False. So we drop the dynamic computation and manually keep track of the buffer length.
Sat, 27 Jun 2015 11:51:25 -0700 bufferedinputpipe: remove an outdate comment
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 27 Jun 2015 11:51:25 -0700] rev 25671
bufferedinputpipe: remove an outdate comment This comment is the remains of a intermediate implementation using self._buffer += data This implementation never made it to the repository and we can safely drop the comment.
Thu, 25 Jun 2015 22:20:09 -0700 statichttprepo: kill off sopener
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jun 2015 22:20:09 -0700] rev 25670
statichttprepo: kill off sopener
Thu, 25 Jun 2015 22:19:49 -0700 obsolete: replace references to 'sopener' with 'svfs'
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jun 2015 22:19:49 -0700] rev 25669
obsolete: replace references to 'sopener' with 'svfs'
Thu, 25 Jun 2015 22:18:56 -0700 exchange: replace references to 'sopener' with 'svfs'
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jun 2015 22:18:56 -0700] rev 25668
exchange: replace references to 'sopener' with 'svfs'
Thu, 25 Jun 2015 22:17:52 -0700 localrepo: kill off sopener (API)
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jun 2015 22:17:52 -0700] rev 25667
localrepo: kill off sopener (API) sopener is deprecated since 7034365089bf (Mercurial 2.3). It's annoying for extension authors to have to deal with both. Let's just kill it off.
Thu, 25 Jun 2015 22:16:36 -0700 share: replace reference to 'sopener' with 'svfs'
Siddharth Agarwal <sid0@fb.com> [Thu, 25 Jun 2015 22:16:36 -0700] rev 25666
share: replace reference to 'sopener' with 'svfs' sopener is deprecated. It's annoying for extension authors to have to deal with both. Let's just kill it off.
Thu, 25 Jun 2015 21:16:47 -0400 archive: don't assume '.' is being archived for changessincelatesttag stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 25 Jun 2015 21:16:47 -0400] rev 25665
archive: don't assume '.' is being archived for changessincelatesttag Hardcoding '.' is wrong, and yielded strange results when archiving old revisions. For example, when archiving the cset that adds the signature to 3.4 (c48850339988), the resulting value was previously 51 (the number of commits on stable between 3.4 and today), even though it was a direct descendant of a tag, with a {latesttagdistance} of 2. This still includes all other _ancestor_ paths not included in {latesttag}. Note that archiving wdir() currently blows up several lines above this when building the 'base' variable. Since wdir() isn't documented, ignore that it needs work to handle wdir() here for now.
Thu, 25 Jun 2015 20:27:36 +0800 hgweb: use css for stripey background in coal
Anton Shestakov <av6@dwimlabs.net> [Thu, 25 Jun 2015 20:27:36 +0800] rev 25664
hgweb: use css for stripey background in coal Since "b8ecc3830c89 or 25dae11bb044::c229a5e7511e" paper style used css for stripes in background for browsing files, for listing branches/tags/bookmarks, and so on. Since coal borrows many paper templates (e.g. shortlogentry.tmpl), it actually tried to do the same, but it didn't have the needed css classes. You can compare https://selenic.com/hg?style=coal with https://selenic.com/hg?style=paper and see how log view in coal style has plain white background, unlike the one in paper style. This wasn't intended. Let's copy css classes directly from style-paper.css and remove parity classes from elements that don't need them anymore. This makes plain white background have stripes again and makes coal/map even more similar to paper/map (which can ease porting changes or %including paper/map in future).
Wed, 24 Jun 2015 11:15:00 -0400 templatekw: correct typo in activebookmark documentation
Matt Harbison <matt_harbison@yahoo.com> [Wed, 24 Jun 2015 11:15:00 -0400] rev 25663
templatekw: correct typo in activebookmark documentation
Wed, 24 Jun 2015 13:41:27 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 24 Jun 2015 13:41:27 -0500] rev 25662
merge with stable
Tue, 23 Jun 2015 22:20:01 -0700 check-code: detect legacy exception syntax
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 23 Jun 2015 22:20:01 -0700] rev 25661
check-code: detect legacy exception syntax We just rewrote all files to use modern exception syntax. Ban the old form. This will detect the "except type, instance" and "except (type1, type2), instance" forms.
Tue, 23 Jun 2015 22:20:08 -0700 global: mass rewrite to use modern exception syntax
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 23 Jun 2015 22:20:08 -0700] rev 25660
global: mass rewrite to use modern exception syntax Python 2.6 introduced the "except type as instance" syntax, replacing the "except type, instance" syntax that came before. Python 3 dropped support for the latter syntax. Since we no longer support Python 2.4 or 2.5, we have no need to continue supporting the "except type, instance". This patch mass rewrites the exception syntax to be Python 2.6+ and Python 3 compatible. This patch was produced by running `2to3 -f except -w -n .`.
Tue, 23 Jun 2015 22:38:21 -0700 check-code: detect legacy octal syntax
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 23 Jun 2015 22:38:21 -0700] rev 25659
check-code: detect legacy octal syntax Now that we have mass rewriting all files to use the modern octal syntax, detect and ban the legacy syntax, which is no longer supported in Python 3.
Tue, 23 Jun 2015 22:30:33 -0700 global: mass rewrite to use modern octal syntax
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 23 Jun 2015 22:30:33 -0700] rev 25658
global: mass rewrite to use modern octal syntax Python 2.6 introduced a new octal syntax: "0oXXX", replacing "0XXX". The old syntax is not recognized in Python 3 and will result in a parse error. Mass rewrite all instances of the old octal syntax to the new syntax. This patch was generated by `2to3 -f numliterals -w -n .` and the diff was selectively recorded to exclude changes to "<N>l" syntax conversion, which will be handled separately.
Tue, 23 Jun 2015 14:28:15 -0700 revert: change the direction of revert -i
Laurent Charignon <lcharignon@fb.com> [Tue, 23 Jun 2015 14:28:15 -0700] rev 25657
revert: change the direction of revert -i After the discussion on the list about hg revert -i, it seems like we are satisfied with what we called proposition 2. It shows the changes to revert in the same direction as hg diff. This patch makes it the default option. It changes all the + in - and vice versa in the tests for revert -i.
Tue, 23 Jun 2015 13:46:58 -0700 revert: change a test to make the change of direction of revert -i easier
Laurent Charignon <lcharignon@fb.com> [Tue, 23 Jun 2015 13:46:58 -0700] rev 25656
revert: change a test to make the change of direction of revert -i easier Currently we are handling editing of newly-added files with the interactive interface. We are not handling editing of deleted files. In the test for revert, we were editing a newly-added file. Since we want to change the direction of revert -i, this editing of a newly-added file will become editing of a deleted file. Since we don't support that, this patch changes the test to make the rest of the series cleaner.
Sun, 21 Jun 2015 00:56:09 +0900 parser: update documentation about tokenizer and elements
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jun 2015 00:56:09 +0900] rev 25655
parser: update documentation about tokenizer and elements
Sun, 21 Jun 2015 00:49:26 +0900 parser: accept iterator of tokens instead of tokenizer function and program
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Jun 2015 00:49:26 +0900] rev 25654
parser: accept iterator of tokens instead of tokenizer function and program This can simplify the interface of parse() function. Our tokenizer tends to have optional arguments other than the message to be parsed. Before this patch, the "lookup" argument existed only for the revset, and the templater had to pack [program, start, end] to be passed to its tokenizer.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip