Wed, 12 Mar 2014 13:19:20 -0400 util: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:19:20 -0400] rev 20679
util: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:29:07 -0400 webcommands: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:29:07 -0400] rev 20678
webcommands: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:15:37 -0400 hgwebdir_mod: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:15:37 -0400] rev 20677
hgwebdir_mod: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:15:09 -0400 filemerge: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:15:09 -0400] rev 20676
filemerge: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:14:31 -0400 changegroup: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:14:31 -0400] rev 20675
changegroup: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:13:42 -0400 extdiff: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:13:42 -0400] rev 20674
extdiff: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:13:10 -0400 bugzilla: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:13:10 -0400] rev 20673
bugzilla: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:12:26 -0400 synthrepo: move from dict() construction to {} literals
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:12:26 -0400] rev 20672
synthrepo: move from dict() construction to {} literals The latter are both faster and more consistent across Python 2 and 3.
Wed, 12 Mar 2014 13:00:51 -0400 wireproto: remove todict() and use {} literals instead
Augie Fackler <raf@durin42.com> [Wed, 12 Mar 2014 13:00:51 -0400] rev 20671
wireproto: remove todict() and use {} literals instead
Tue, 11 Mar 2014 16:19:08 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 11 Mar 2014 16:19:08 -0500] rev 20670
merge with stable
Mon, 10 Mar 2014 15:00:41 -0500 templater: deprecate --style now that -T exists
Matt Mackall <mpm@selenic.com> [Mon, 10 Mar 2014 15:00:41 -0500] rev 20669
templater: deprecate --style now that -T exists
Sat, 08 Mar 2014 17:38:50 -0600 templating: make -T much more flexible
Matt Mackall <mpm@selenic.com> [Sat, 08 Mar 2014 17:38:50 -0600] rev 20668
templating: make -T much more flexible It can now accept styles and paths and references to settings in [templates].
Sat, 08 Mar 2014 16:14:08 -0600 changeset_templater: remove use_template method
Matt Mackall <mpm@selenic.com> [Sat, 08 Mar 2014 16:14:08 -0600] rev 20667
changeset_templater: remove use_template method
Sat, 08 Mar 2014 16:01:58 -0600 cmdutil: make helper function to process template args
Matt Mackall <mpm@selenic.com> [Sat, 08 Mar 2014 16:01:58 -0600] rev 20666
cmdutil: make helper function to process template args
Sat, 08 Mar 2014 15:27:25 -0600 commands: add -T alternative to --template
Matt Mackall <mpm@selenic.com> [Sat, 08 Mar 2014 15:27:25 -0600] rev 20665
commands: add -T alternative to --template
Fri, 07 Mar 2014 14:29:26 -0500 config: clarify and exemplify the user name in the sample config file
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 07 Mar 2014 14:29:26 -0500] rev 20664
config: clarify and exemplify the user name in the sample config file
Mon, 10 Mar 2014 01:01:43 +0900 templater: make strings in template expressions be "string-escape"-ed correctly stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 10 Mar 2014 01:01:43 +0900] rev 20663
templater: make strings in template expressions be "string-escape"-ed correctly Changeset 64b4f0cd7336 (released with 2.8.1) fixed "recursively evaluate string literals as templates" problem (issue4102) by moving the location of "string-escape"-ing from "tokenizer()" to "compiletemplate()". But some parts in template expressions below are not processed by "compiletemplate()", and it may cause unexpected result. - 'expr' of 'if(expr, then, else)' - 'expr's of 'ifeq(expr, expr, then, else)' - 'sep' of 'join(list, sep)' - 'text' and 'style' of 'rstdoc(text, style)' - 'text' and 'chars' of 'strip(text, chars)' - 'pat' and 'repl' of 'sub(pat, repl, expr)' For example, '\n' of "{join(extras, '\n')}" is not "string-escape"-ed and treated as a literal '\n'. This breaks "Display the contents of the 'extra' field, one per line" example in "hg help templates". Just "string-escape"-ing on each parts above may not work correctly, because inside expression of nested ones already applies "string-escape" on string literals. For example: - "{join(files, '\n')}" doesn't return "string-escape"-ed string, but - "{join(files, if(branch, '\n', '\n'))}" does To fix this problem, this patch does: - introduce "rawstring" token and "runrawstring" method to handle strings not to be "string-escape"-ed correctly, and - make "runstring" method return "string-escape"-ed string, and delay "string-escape"-ing until evaluation This patch invokes "compiletemplate()" with "strtoken=exp[0]" in "gettemplate()", because "exp[1]" is not yet evaluated. This code path is tested via mapping ("expr % '{template}'"). In the other hand, this patch invokes it with "strtoken='rawstring'" in "_evalifliteral()", because "t" is the result of "arg" evaluation and it should be "string-escape"-ed if "arg" is "string" expression. This patch doesn't test "string-escape"-ing on 'expr' of 'if(expr, then, else)', because it doesn't affect the result.
Mon, 10 Mar 2014 01:01:43 +0900 templater: apply "stringify()" on sub expression to get string correctly stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 10 Mar 2014 01:01:43 +0900] rev 20662
templater: apply "stringify()" on sub expression to get string correctly Templating syntax allows nested expression to be specified as parts below, but they are evaluated as a generator and don't work correctly. - 'sep' of 'join(list, sep)' - 'text' and 'chars' of 'strip(text, chars)' In the former case, 'sep' returns expected string only for the first separation, and empty one for the second or later, because the generator has only one element. In the latter case, templating is aborted by exception, because the generator doesn't have 'strip()' method (as 'text') and can't be passed as the argument to 'str.strip()' (as 'chars'). This patch applies "stringify()" on these sub expression to get string correctly.
Mon, 10 Mar 2014 01:01:42 +0900 templater: avoid recursive evaluation of string literals completely stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 10 Mar 2014 01:01:42 +0900] rev 20661
templater: avoid recursive evaluation of string literals completely Changeset 3d8bfe2ecf6d (released with 2.8.1) fixed "recursively evaluate string literals as templates" problem (issue4103) by introducing "_evalifliteral()". But some parts in template expressions below are still processed by the combination of "compiletemplate()" and "runtemplate()", and may cause same problem unexpectedly. - 'init' and 'hang' of 'fill(text, width, init, hang)' - 'expr' of 'sub(pat, repl, expr)' - 'label' of 'label(label, expr)' This patch processes them by "_evalifliteral()" instead of the combination of "compiletemplate()" and "runtemplate()" to avoid recursive evaluation of string literals completely.
Thu, 06 Mar 2014 17:26:49 -0600 status: improve explanation of ' ' status
Matt Mackall <mpm@selenic.com> [Thu, 06 Mar 2014 17:26:49 -0600] rev 20660
status: improve explanation of ' ' status a) it shows for states other than 'A' b) it only shows with --copies
Tue, 18 Feb 2014 13:07:08 -0800 revset: changed methods in spanset to return ordered sets
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 18 Feb 2014 13:07:08 -0800] rev 20659
revset: changed methods in spanset to return ordered sets Now __sub__ and __and__ can smartly return ordered lazysets.
Tue, 25 Feb 2014 10:36:23 -0800 revset: added sort method to orderedlazyset
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 25 Feb 2014 10:36:23 -0800] rev 20658
revset: added sort method to orderedlazyset
Fri, 07 Feb 2014 08:44:18 -0800 revset: added order methods to lazyset classes
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 07 Feb 2014 08:44:18 -0800] rev 20657
revset: added order methods to lazyset classes This will allow revsets to ask for an ordered set when possible to be able to work lazily with it.
Thu, 06 Mar 2014 12:37:28 +0100 setdiscovery: document algorithms used
Olle Lundberg <geek@nerd.sh> [Thu, 06 Mar 2014 12:37:28 +0100] rev 20656
setdiscovery: document algorithms used This is taken from: http://programmers.stackexchange.com/questions/208998 And modified slightly.
Thu, 20 Feb 2014 09:17:22 +0100 doc: gendoc.py creates valid output for option descriptions with newlines
Simon Heimberg <simohe@besonet.ch> [Thu, 20 Feb 2014 09:17:22 +0100] rev 20655
doc: gendoc.py creates valid output for option descriptions with newlines gendoc.py did not handle the hanging indentation for descriptions. Work around this by joining all in one single line (same as in minirst since previous patch). This problem occurred when translations of option lines were very long. Do not bother the translators with this detail. On a long option description, the translator continued on a new line as usual. gendoc.py created invalid rst syntax like this: -o, --option Description line 1 description line 2 The new output is: -o, --option Description line 1 description line 2 The lines could theoretically become very long, but line breaking is handled when generating the final documentation.
Wed, 19 Feb 2014 17:32:21 +0100 minirst: create valid output when table data contains a newline
Simon Heimberg <simohe@besonet.ch> [Wed, 19 Feb 2014 17:32:21 +0100] rev 20654
minirst: create valid output when table data contains a newline When table data contained a newline, the result of minirst.maketable did not look nice plus it was not recognised by minirst.format: == === ==== l1 1 one l2 2 2 22 l3 == === ==== This problem occurred when the description of options had a very long translation which was split by newlines. Do not bother a translator with this detail. The multiline translations for option descriptions have been fixed in baf1600adfbe in it.po, de.po and ro.po. I manually did the same as this patch does, I removed the newlines. When a newline was in the description, this created unusable help output: $ hg help somecommand hg somecommand [option]... with somecommand, you can... options: == =================== ======================================================= =================================== --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -n --norm normal desc --newline VALUE line1 line2 == =================== =============== =========================================================================== now this looks much nicer: ... options: --longdesc VALUE xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -n --norm normal desc --newline VALUE line1 line2
Wed, 05 Mar 2014 14:03:08 +0100 tests: match time by a glob to fix intermittent failures of test-lock-badness.t
Simon Heimberg <simohe@besonet.ch> [Wed, 05 Mar 2014 14:03:08 +0100] rev 20653
tests: match time by a glob to fix intermittent failures of test-lock-badness.t Sometimes the lock was a bit slower and took 2 seconds. Do not fail the test by this. The glob ? matches from 0 to 9 seconds, which should be enough safety.
Wed, 05 Mar 2014 10:49:43 -0800 merge: adds documentation to the mergestate class
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 10:49:43 -0800] rev 20652
merge: adds documentation to the mergestate class Document most the new function involved in the new serialisation process (and a few others).
Wed, 05 Mar 2014 10:22:43 -0800 merge: add blank line between mergestate's method
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 05 Mar 2014 10:22:43 -0800] rev 20651
merge: add blank line between mergestate's method This class is now too big to be a single big block of continuous text.
Mon, 03 Mar 2014 23:21:24 +0900 cmdserver: allow to start server without repository
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 23:21:24 +0900] rev 20650
cmdserver: allow to start server without repository Typical use case is to clone repository through command server. Clone may require user interaction, so command-server protocol is beneficial over raw stdio channels.
Mon, 03 Mar 2014 23:11:17 +0900 cmdserver: prepare test for starting server without repository
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 23:11:17 +0900] rev 20649
cmdserver: prepare test for starting server without repository
Thu, 06 Mar 2014 01:24:03 +0100 histedit: move logic for finding child nodes to new function
Olle Lundberg <geek@nerd.sh> [Thu, 06 Mar 2014 01:24:03 +0100] rev 20648
histedit: move logic for finding child nodes to new function This function will be used in later patches.
Wed, 05 Mar 2014 22:02:45 +0100 histedit: clean up lock imports
Olle Lundberg <geek@nerd.sh> [Wed, 05 Mar 2014 22:02:45 +0100] rev 20647
histedit: clean up lock imports We are alread importing the release function from lock, no need to actually import the module too.
Wed, 05 Mar 2014 17:42:05 -0800 localrepo: changed revs to use spanset instead of baseset
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 05 Mar 2014 17:42:05 -0800] rev 20646
localrepo: changed revs to use spanset instead of baseset Performance benchmarking: $ time hg log -qf -l1 ... real 0m1.420s user 0m1.249s sys 0m0.167s $ time ~/local/hg/hg log -qf -l1 ... real 0m0.719s user 0m0.614s sys 0m0.103s
Wed, 05 Mar 2014 09:31:05 +0000 extensions: use normpath to allow trailing '\' on Windows (issue4187)
Ed Morley <emorley@mozilla.com> [Wed, 05 Mar 2014 09:31:05 +0000] rev 20645
extensions: use normpath to allow trailing '\' on Windows (issue4187) Fixes same issue as 5c794e7331e7 but now works on Windows too. With this patch a trailing backward slash won't prevent the extension from being found on Windows, and we continue to support any combination of forward and back slashes within the path.
Tue, 04 Mar 2014 09:56:59 -0600 tests: fix unused imports from inotify removal caught by pyflakes
Matt Mackall <mpm@selenic.com> [Tue, 04 Mar 2014 09:56:59 -0600] rev 20644
tests: fix unused imports from inotify removal caught by pyflakes
Thu, 27 Feb 2014 17:27:03 -0800 revset: added ordered generatorset classes with __contains__ method
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 27 Feb 2014 17:27:03 -0800] rev 20643
revset: added ordered generatorset classes with __contains__ method They stop iterating as soon as they go past the value they are looking for, so, for values not in the generator they return faster.
Tue, 25 Feb 2014 20:29:46 +0100 merge: use the right ancestor when both sides copied the same file
Mads Kiilerich <madski@unity3d.com> [Tue, 25 Feb 2014 20:29:46 +0100] rev 20642
merge: use the right ancestor when both sides copied the same file The tests shows no real changes because of this ... but there must be some weird corner cases where using the right ancestor for the merge planning is better than using the wrong one.
Tue, 25 Feb 2014 20:29:14 +0100 copies: when both sides made the same copy, report it as a copy
Mads Kiilerich <madski@unity3d.com> [Tue, 25 Feb 2014 20:29:14 +0100] rev 20641
copies: when both sides made the same copy, report it as a copy Not used yet ... but shows up in debug output.
Sun, 02 Mar 2014 18:36:02 +0100 merge: handle create+delete prompts in calculateupdates
Mads Kiilerich <madski@unity3d.com> [Sun, 02 Mar 2014 18:36:02 +0100] rev 20640
merge: handle create+delete prompts in calculateupdates I would like to move it all the way to the interactive resolve state like merges are ... but this is a first intermediate step.
Fri, 28 Feb 2014 02:26:03 +0100 merge: handle acceptremove of create+delete early in manifest merge
Mads Kiilerich <madski@unity3d.com> [Fri, 28 Feb 2014 02:26:03 +0100] rev 20639
merge: handle acceptremove of create+delete early in manifest merge
Sun, 02 Mar 2014 18:30:41 +0100 largefiles: override calculateupdates instead of manifestmerge
Mads Kiilerich <madski@unity3d.com> [Sun, 02 Mar 2014 18:30:41 +0100] rev 20638
largefiles: override calculateupdates instead of manifestmerge That will give calculateupdates a purpose in life ... and be convenient later.
Tue, 25 Feb 2014 20:28:40 +0100 tests: add systematic test of merge ancestor calculation
Mads Kiilerich <madski@unity3d.com> [Tue, 25 Feb 2014 20:28:40 +0100] rev 20637
tests: add systematic test of merge ancestor calculation There is probably some overlap with the existing tests - it is hard to figure out what these tests are doing.
Sun, 02 Mar 2014 18:25:19 +0100 tests: add test case for criss cross merge
Mads Kiilerich <madski@unity3d.com> [Sun, 02 Mar 2014 18:25:19 +0100] rev 20636
tests: add test case for criss cross merge The test do not fit in any existing test file...
Mon, 03 Mar 2014 15:34:09 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 03 Mar 2014 15:34:09 -0600] rev 20635
merge with stable
Mon, 03 Mar 2014 12:54:46 -0800 revset: changed generatorset code to remove unnecesary function call
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 03 Mar 2014 12:54:46 -0800] rev 20634
revset: changed generatorset code to remove unnecesary function call Removed _nextitem() method, now __iter__ has that logic and __contains__ uses __iter__ to check for membership.
Mon, 03 Mar 2014 15:50:45 +0900 phase: say "Returns 0" instead of "Return 0" like other command help stable
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 15:50:45 +0900] rev 20633
phase: say "Returns 0" instead of "Return 0" like other command help
Mon, 03 Mar 2014 15:50:41 +0900 dirstate: remove double imports of errno
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 15:50:41 +0900] rev 20632
dirstate: remove double imports of errno
Mon, 03 Mar 2014 15:50:51 +0900 cmdserver: mask return code of runcommand in the same way as dispatch.run
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 15:50:51 +0900] rev 20631
cmdserver: mask return code of runcommand in the same way as dispatch.run "hg help" does not state that the code for abort is 255, but it's confusing to have different code between hg command and command server. Tests of python-hglib 1.2 passed with this change.
Mon, 03 Mar 2014 15:50:48 +0900 cmdserver: include non-zero return code of runcommand in test output
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 15:50:48 +0900] rev 20630
cmdserver: include non-zero return code of runcommand in test output
Mon, 03 Mar 2014 19:41:30 +0900 cmdserver: recreate mq object on runcommand in case queue path was changed
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 19:41:30 +0900] rev 20629
cmdserver: recreate mq object on runcommand in case queue path was changed repo.mq needs to be recreated after queue path change. Since there is little benefit to keep invalidated mq object, it always delete repo.mq.
Mon, 03 Mar 2014 19:41:26 +0900 cmdserver: reload mq on each runcommand request to avoid corruption
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 19:41:26 +0900] rev 20628
cmdserver: reload mq on each runcommand request to avoid corruption If mq was changed by another process, command server should invalidate caches. Otherwise, mq status would go wrong.
Mon, 03 Mar 2014 19:41:23 +0900 localrepo: add hook point to invalidate everything on each command-server run
Yuya Nishihara <yuya@tcha.org> [Mon, 03 Mar 2014 19:41:23 +0900] rev 20627
localrepo: add hook point to invalidate everything on each command-server run MQ extension will wrap this function to invalidate its state. repo.invalidate cannot be wrapped for this purpose because qpush obtains repo.lock in the middle of the operation, triggering repo.invalidate. Also, it seems wrong to obtain lock earlier because mq data is non-store parts.
Mon, 03 Mar 2014 23:37:59 +0530 paper: overlapping of section title on help pages (issue4051) stable
anuraggoel <anurag.dsps@gmail.com> [Mon, 03 Mar 2014 23:37:59 +0530] rev 20626
paper: overlapping of section title on help pages (issue4051) Now there will be no overlap lines between various section title on help pages. http://selenic.com/repo/hg/help/config
Sat, 01 Mar 2014 20:08:41 -0600 contrib: drop tmplrewrite
Matt Mackall <mpm@selenic.com> [Sat, 01 Mar 2014 20:08:41 -0600] rev 20625
contrib: drop tmplrewrite Needed for the 1.3 transition in 2009, no longer relevant
Sat, 01 Mar 2014 19:51:22 -0600 extensions: mark win32text deprecated
Matt Mackall <mpm@selenic.com> [Sat, 01 Mar 2014 19:51:22 -0600] rev 20624
extensions: mark win32text deprecated Happened a long time ago.
Sat, 01 Mar 2014 19:44:14 -0600 extensions: remove interhg
Matt Mackall <mpm@selenic.com> [Sat, 01 Mar 2014 19:44:14 -0600] rev 20623
extensions: remove interhg Has been built-in for a few releases.
Sat, 01 Mar 2014 16:20:15 -0600 extensions: remove the inotify extension (BC)
Matt Mackall <mpm@selenic.com> [Sat, 01 Mar 2014 16:20:15 -0600] rev 20622
extensions: remove the inotify extension (BC) This extension has always had correctness issues and has been unmaintained for years. It is now removed in favor of the third-party hgwatchman which is maintained and appears to be correct. Users with inotify enabled in their config files will fall back to standard status performance.
Sat, 01 Mar 2014 21:08:43 -0500 merge main and crew
Augie Fackler <raf@durin42.com> [Sat, 01 Mar 2014 21:08:43 -0500] rev 20621
merge main and crew
Sat, 01 Mar 2014 21:08:28 -0500 merge with stable
Augie Fackler <raf@durin42.com> [Sat, 01 Mar 2014 21:08:28 -0500] rev 20620
merge with stable
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip