Sun, 13 Mar 2016 02:06:21 +0100 cache: remove branch revision file before rewriting the branch name file
Mads Kiilerich <madski@unity3d.com> [Sun, 13 Mar 2016 02:06:21 +0100] rev 28556
cache: remove branch revision file before rewriting the branch name file New branch names are usually appended to the branch name file. If that fails or the file has been modified by another process, it is rewritten. That left a small opportunity that there could be references to non-existent entries in the file while it was rewritten. To avoid that, remove the revision branch cache file with the references to the branch name file before rewriting the branch name file. Worst case, when interrupted at the wrong time, the cache will be lost and rebuilt next time. It is unknown if this fixes a real problem that ever happened.
Mon, 14 Mar 2016 15:05:25 +0000 chg: do not redirect stdout to /dev/null
Jun Wu <quark@fb.com> [Mon, 14 Mar 2016 15:05:25 +0000] rev 28555
chg: do not redirect stdout to /dev/null Redirecting stdout to /dev/null has unwanted side effects, namely ui.write will stop working. This patch removes the redirection code and helps chg to pass test-bad-extension.t.
Mon, 14 Mar 2016 15:03:19 +0000 pager: skip uisetup if chg is detected
Jun Wu <quark@fb.com> [Mon, 14 Mar 2016 15:03:19 +0000] rev 28554
pager: skip uisetup if chg is detected chg has its own pager implementation that it wants to skip pager's uisetup. It is currently done by redirecting stdout to /dev/null, which has unintended side effects. This patch makes pager aware of chg and skip uisetup directly from pager. We may want to merge chg and pager's pager implementation to make this unnecessary in the future.
Mon, 14 Mar 2016 23:08:03 +0000 chgserver: add an explicit gc to trigger __del__
Jun Wu <quark@fb.com> [Mon, 14 Mar 2016 23:08:03 +0000] rev 28553
chgserver: add an explicit gc to trigger __del__ SocketServer.ForkingMixIn uses os._exit which will skip all cleanup handlers. We want to run __del__ to make things like transactions, {ssh,http}peer, atomictempfile, dirstateguard, etc. work. This patch adds a "gc.collect()" to trigger __del__. It is helpful for chg to pass some test cases in test-devel-warnings.t.
Tue, 15 Mar 2016 10:36:02 +0000 blackbox: do not assume self._bb{vfs,repo,fp} are set in blackboxui.__init__
Jun Wu <quark@fb.com> [Tue, 15 Mar 2016 10:36:02 +0000] rev 28552
blackbox: do not assume self._bb{vfs,repo,fp} are set in blackboxui.__init__ It's possible for the blackboxui code to do a "del self._bbvfs", then ui.copy() or similar attempt will fail. It will also fail when constructing a blackboxui from a non-blackbox ui. This patch fixes the issue by not assuming any _bb* attr is set.
Mon, 14 Mar 2016 23:28:14 +0000 chg: downgrade "failed to read channel" from abortmsg to debugmsg
Jun Wu <quark@fb.com> [Mon, 14 Mar 2016 23:28:14 +0000] rev 28551
chg: downgrade "failed to read channel" from abortmsg to debugmsg If the server has an uncaught exception, it will exit without being able to write the channel information. In this case, the client is likely to complain about "failed to read channel", which looks inconsistent with original hg. This patch silences the error message and makes uncaught exception behavior more like original hg. It will help chg to pass test-fileset.t.
Tue, 15 Mar 2016 00:42:33 +0000 histedit: do not close stdin
Jun Wu <quark@fb.com> [Tue, 15 Mar 2016 00:42:33 +0000] rev 28550
histedit: do not close stdin Closing stdin is unexpected by chgserver and is not a good idea generally. This patch refactors related code a bit and make sure stdin is not closed. It will make chg much happier on test-histedit*.t.
Tue, 15 Mar 2016 09:51:54 +0000 tests: reorder hg serve commands
Jun Wu <quark@fb.com> [Tue, 15 Mar 2016 09:51:54 +0000] rev 28549
tests: reorder hg serve commands chg currently does not support hg serve -d. It has a quick path testing if the command is hg serve -d and fallbacks to hg if so. But the test only works if "serve" is the first argument since the test wants to avoid false positives (for example, "-r serve" is different). This patch reorders "hg server" commands in tests, making them chg friendly.
Sun, 14 Feb 2016 01:06:12 +0900 templater: add debugtemplate command
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 01:06:12 +0900] rev 28548
templater: add debugtemplate command This is useful for debugging template parsing. Several tests are ported to this command.
Sat, 13 Feb 2016 23:20:47 +0900 templater: expand list of parsed templates to template node
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Feb 2016 23:20:47 +0900] rev 28547
templater: expand list of parsed templates to template node This patch eliminates a nested data structure other than the parsed tree. ('template', [(op, data), ..]) -> ('template', (op, data), ..) New expanded tree can be processed by common parser functions. This change will help implementing template aliases. Because a (template ..) node should have at least one child node, an empty template (template []) is mapped to (string ''). Also a trivial string (template [(string ..)]) node is unwrapped to (string ..) at parsing phase, instead of compiling phase.
Sun, 14 Feb 2016 15:42:49 +0900 templater: relax type of mapped template
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 15:42:49 +0900] rev 28546
templater: relax type of mapped template Now compiled template fragments are packed into a generic type, (func, data), a string can be a valid template. This change allows us to unwrap a trivial string node. See the next patch for details.
Sat, 13 Feb 2016 23:54:24 +0900 templater: lift parsed and compiled templates to generic data types
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Feb 2016 23:54:24 +0900] rev 28545
templater: lift parsed and compiled templates to generic data types Before this patch, parsed and compiled templates were kept as lists. That was inconvenient for applying transformation such as alias expansion. This patch changes the types of the outermost objects as follows: stage old new -------- -------------- ------------------------------ parsed [(op, ..)] ('template', [(op, ..)]) compiled [(func, data)] (runtemplate, [(func, data)]) New templater.parse() function has the same signature as revset.parse() and fileset.parse().
Tue, 15 Mar 2016 15:50:57 -0700 tests: python executable path should always be globbed
Danek Duvall <danek.duvall@oracle.com> [Tue, 15 Mar 2016 15:50:57 -0700] rev 28544
tests: python executable path should always be globbed Although this is coming in under the guise of consistency, part of the desire for this is that at least as part of the official Solaris builds, we build with a versioned python interpreter, such as "python2.7", which doesn't match "*python".
Mon, 14 Mar 2016 15:01:27 +0000 crecord: use ui.interface to choose curses interface
Simon Farnsworth <simonfar@fb.com> [Mon, 14 Mar 2016 15:01:27 +0000] rev 28543
crecord: use ui.interface to choose curses interface use ui.interface to select curses mode, instead of experimental.crecord
Mon, 14 Mar 2016 15:01:27 +0000 ui: add new config flag for interface selection
Simon Farnsworth <simonfar@fb.com> [Mon, 14 Mar 2016 15:01:27 +0000] rev 28542
ui: add new config flag for interface selection This patch introduces a new config flag ui.interface to select the interface for interactive commands. It currently only applies to chunks selection. The config can be overridden on a per feature basis with the flag ui.interface.<feature>. features for the moment can only be 'chunkselector', moving forward we expect to have 'histedit' and other commands there. If an incorrect value is given to ui.interface we print a warning and use the default interface: text. If HGPLAIN is specified we also use the default interface: text. Note that we fail quickly if a feature does not handle all the interfaces that we permit in ui.interface; in future, we could design a fallback path (e.g. blackpearl to curses, curses to text), but let's leave that until we need it.
(0) -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 tip