Mon, 02 Oct 2017 14:05:30 -0700 merge: backup conflicting directories when getting files
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34549
merge: backup conflicting directories when getting files During batchget, if a target file conflicts with a directory, or if the directory a target file is in conflicts with a file, backup and remove the conflicting file or directory before performing the get. Differential Revision: https://phab.mercurial-scm.org/D778
Mon, 02 Oct 2017 14:05:30 -0700 merge: add merge action 'pr' to rename files during update
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34548
merge: add merge action 'pr' to rename files during update Add a new merge action to handle a path conflict by renaming the conflicting file to a safe name. The rename is just to avoid problems on the filesystem. The conflict is still considered unresolved until the user marks the original path as resolved. Differential Revision: https://phab.mercurial-scm.org/D777
Mon, 02 Oct 2017 14:05:30 -0700 merge: add merge action 'p' to record path conflicts during update
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34547
merge: add merge action 'p' to record path conflicts during update Add a new merge action to record path conflicts. A status message is printed, and the path conflict is added to the merge state. Differential Revision: https://phab.mercurial-scm.org/D776
Mon, 02 Oct 2017 14:05:30 -0700 commands: update the resolve command to handle path conflicts
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34546
commands: update the resolve command to handle path conflicts The resolve command must support displaying path conflicts and marking them as resolved or unresolved. Differential Revision: https://phab.mercurial-scm.org/D775
Mon, 02 Oct 2017 14:05:30 -0700 merge: add pathconflict merge state
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34545
merge: add pathconflict merge state Path conflicts that occur during merges are represented by 'pu' (unresolved) and 'pr' (resolved) records in the merge state. These are stored on disk in 'P' records. Differential Revision: https://phab.mercurial-scm.org/D774
Mon, 02 Oct 2017 14:05:30 -0700 tests: add a test demonstrating basic path conflict failures
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34544
tests: add a test demonstrating basic path conflict failures Differential Revision: https://phab.mercurial-scm.org/D773
Mon, 02 Oct 2017 14:05:30 -0700 scmutil: handle conflicting files and dirs in origbackuppath
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34543
scmutil: handle conflicting files and dirs in origbackuppath When ui.origbackuppath is set, .orig files are stored outside of the working copy. However conflicts can occur when files or directories end up having the same name. These conflicts cause Mercurial to abort, even if they've been created as a result of different backups. Make sure we always replace files or directories in the origbackuppath if they conflict with another file or directory. Test Plan: Add new unit test for conflicting paths. Differential Revision: https://phab.mercurial-scm.org/D680
Sun, 01 Oct 2017 12:21:50 +0100 extdata: show debug message if external command exits with non-zero status
Yuya Nishihara <yuya@tcha.org> [Sun, 01 Oct 2017 12:21:50 +0100] rev 34542
extdata: show debug message if external command exits with non-zero status This isn't fatal because it's quite common for grep to exit with 1. Thanks to Foozy for spotting this.
Sat, 30 Sep 2017 08:57:50 +0100 templatekw: allow accessing to nested namespace item by its template name
Yuya Nishihara <yuya@tcha.org> [Sat, 30 Sep 2017 08:57:50 +0100] rev 34541
templatekw: allow accessing to nested namespace item by its template name Since we have the dot operator, it makes more sense to write {namespaces.tags % "{tag}"} instead of {namespaces.tags % "{name}"}
Sat, 30 Sep 2017 08:50:24 +0100 templatekw: get rid of temporary dicts from shownamespaces()
Yuya Nishihara <yuya@tcha.org> [Sat, 30 Sep 2017 08:50:24 +0100] rev 34540
templatekw: get rid of temporary dicts from shownamespaces()
Mon, 18 Sep 2017 23:53:05 +0900 templatekw: rename peerpaths to peerurls per naming convention (BC)
Yuya Nishihara <yuya@tcha.org> [Mon, 18 Sep 2017 23:53:05 +0900] rev 34539
templatekw: rename peerpaths to peerurls per naming convention (BC) Since each element is called as "url", the template keyword should be named as "<whatever>urls". {peerurls} is now stabilized.
Mon, 18 Sep 2017 23:31:01 +0900 templatekw: make experimental {peerpaths} return a single-level dict (BC)
Yuya Nishihara <yuya@tcha.org> [Mon, 18 Sep 2017 23:31:01 +0900] rev 34538
templatekw: make experimental {peerpaths} return a single-level dict (BC) This was planned as in c0d8de2724ce, "{peerpaths.default.pushurl} will be translated to peerpaths['default'].makemap()['pushurl'], which means {peerpaths} should be a single-level dict and sub-options should be makemap()-ed."
Mon, 18 Sep 2017 23:49:05 +0900 templatekw: fix scope of peerpath url bound to generator
Yuya Nishihara <yuya@tcha.org> [Mon, 18 Sep 2017 23:49:05 +0900] rev 34537
templatekw: fix scope of peerpath url bound to generator I had to explicitly bind 'd' to the generator. Otherwise, the last 'd' would be used.
Mon, 18 Sep 2017 23:07:17 +0900 templater: extend dot operator as a short for get(dict, key)
Yuya Nishihara <yuya@tcha.org> [Mon, 18 Sep 2017 23:07:17 +0900] rev 34536
templater: extend dot operator as a short for get(dict, key)
Sat, 09 Sep 2017 19:32:56 +0900 templater: add dot operator to easily access a sub item
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Sep 2017 19:32:56 +0900] rev 34535
templater: add dot operator to easily access a sub item This and the next patch will allow us to access a deeply-nested item by foo.bar.baz syntax.
Sat, 09 Sep 2017 19:13:25 +0900 templater: wrap get/min/max result so map operation can apply to element
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Sep 2017 19:13:25 +0900] rev 34534
templater: wrap get/min/max result so map operation can apply to element See the test for usage example. wraphybridvalue() takes a key/value pair because a hybrid dict passes a key to its makemap() function. Since makemap() of showmanifest() doesn't need a key, it's set to None.
Mon, 02 Oct 2017 07:18:24 +0100 dispatch: move initialization of sys.std* files
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Oct 2017 07:18:24 +0100] rev 34533
dispatch: move initialization of sys.std* files I'll add another Python 3 hack.
Mon, 02 Oct 2017 06:52:10 +0100 py3: work around the scope of exception variable in dispatch.run()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Oct 2017 06:52:10 +0100] rev 34532
py3: work around the scope of exception variable in dispatch.run() https://stackoverflow.com/questions/29268892/
Sat, 07 Oct 2017 22:07:10 +0900 chg: just forward --time to command server
Yuya Nishihara <yuya@tcha.org> [Sat, 07 Oct 2017 22:07:10 +0900] rev 34531
chg: just forward --time to command server Since we've removed the use of atexit in de5c9d0e02ea, --time just works.
Mon, 09 Oct 2017 02:30:23 -0700 windows: add an experimental option for long paths support
Kostia Balytskyi <ikostia@fb.com> [Mon, 09 Oct 2017 02:30:23 -0700] rev 34530
windows: add an experimental option for long paths support This commit adds an experimental --long-paths-support flag to build_hgexe on Windows. It is off by default, but when supplied, causes setup.py to embed some XML into the generated hg.exe, which in turn tells Windows to allow this exe to use long paths (given that the appropriate registry setting is enabled as well). This was tested on Windows 10 14393 and 15063. This commit introduces a badly-named initialize_options function, but its name is dictated by distutils, rather than chosen. # no-check-commit
Sun, 08 Oct 2017 22:07:47 +0200 configitems: register the 'experimental.graphstyle.grandparent' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 22:07:47 +0200] rev 34529
configitems: register the 'experimental.graphstyle.grandparent' config
Sun, 08 Oct 2017 22:07:21 +0200 configitems: register the 'experimental.graphstyle.missing' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 22:07:21 +0200] rev 34528
configitems: register the 'experimental.graphstyle.missing' config
Sun, 08 Oct 2017 22:06:35 +0200 configitems: register the 'experimental.graphstyle.parent' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 22:06:35 +0200] rev 34527
configitems: register the 'experimental.graphstyle.parent' config
Sun, 08 Oct 2017 21:41:37 +0200 configitems: register the 'devel.empty-changegroup' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:41:37 +0200] rev 34526
configitems: register the 'devel.empty-changegroup' config
Sun, 08 Oct 2017 21:41:22 +0200 configitems: register the 'devel.cache-vfs' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:41:22 +0200] rev 34525
configitems: register the 'devel.cache-vfs' config
Sun, 08 Oct 2017 21:36:26 +0200 configitems: register the 'devel.warn-config-default' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:36:26 +0200] rev 34524
configitems: register the 'devel.warn-config-default' config
Sun, 08 Oct 2017 21:41:10 +0200 configitems: register the 'devel.warn-config' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:41:10 +0200] rev 34523
configitems: register the 'devel.warn-config' config
Sun, 08 Oct 2017 21:48:40 +0200 configitems: register 'merge.checkunknown' and 'merge.checkignored'
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:48:40 +0200] rev 34522
configitems: register 'merge.checkunknown' and 'merge.checkignored' They both use the same function defining a default, so we need to update them at the same time.
Sun, 08 Oct 2017 21:47:14 +0200 configitems: register the 'diff.*' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 21:47:14 +0200] rev 34521
configitems: register the 'diff.*' config All the config were already using a unified function with a forced default, so, registering them all at once seems safe.
Sun, 08 Oct 2017 20:43:46 +0200 configitems: register the 'experimental.mmapindexthreshold' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:43:46 +0200] rev 34520
configitems: register the 'experimental.mmapindexthreshold' config
Sun, 08 Oct 2017 20:42:19 +0200 configitems: register the 'experimental.maxdeltachainspan' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:42:19 +0200] rev 34519
configitems: register the 'experimental.maxdeltachainspan' config
Sun, 08 Oct 2017 20:16:09 +0200 configitems: register the 'commands.show.aliasprefix' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:16:09 +0200] rev 34518
configitems: register the 'commands.show.aliasprefix' config
Sun, 08 Oct 2017 20:11:34 +0200 configitems: register the 'blackbox.track' config
Boris Feld <boris.feld@octobus.net> [Sun, 08 Oct 2017 20:11:34 +0200] rev 34517
configitems: register the 'blackbox.track' config
Sun, 08 Oct 2017 04:39:42 +0530 copies: add docs for config `experimental.copytrace.sourcecommitlimit`
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 08 Oct 2017 04:39:42 +0530] rev 34516
copies: add docs for config `experimental.copytrace.sourcecommitlimit` This patch adds documentation for the config option. The config name does not convey much and hence documentation was required. Differential Revision: https://phab.mercurial-scm.org/D986
Thu, 05 Oct 2017 14:29:13 -0400 hgweb: extract function for loading style from request context
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:29:13 -0400] rev 34515
hgweb: extract function for loading style from request context Also make it work on Python 3. Differential Revision: https://phab.mercurial-scm.org/D970
Thu, 05 Oct 2017 14:27:21 -0400 request: coerce content-type to native str
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:27:21 -0400] rev 34514
request: coerce content-type to native str Again, required by WSGI. Differential Revision: https://phab.mercurial-scm.org/D969
Thu, 05 Oct 2017 14:26:09 -0400 request: use trivial iterator over dictionary keys
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:26:09 -0400] rev 34513
request: use trivial iterator over dictionary keys Differential Revision: https://phab.mercurial-scm.org/D968
Thu, 05 Oct 2017 14:22:02 -0400 hgweb: when constructing or adding to a wsgi environ dict, use native strs
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:22:02 -0400] rev 34512
hgweb: when constructing or adding to a wsgi environ dict, use native strs That's what's required of us to work with the WSGI API on Python 3. Differential Revision: https://phab.mercurial-scm.org/D967
Thu, 05 Oct 2017 14:17:50 -0400 hgweb: produce native string for etag value
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:17:50 -0400] rev 34511
hgweb: produce native string for etag value Also use %d since we know mtime is numeric. Differential Revision: https://phab.mercurial-scm.org/D966
Thu, 05 Oct 2017 14:13:20 -0400 hgweb: in protocol adapter, look for bytes instances, not str
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:13:20 -0400] rev 34510
hgweb: in protocol adapter, look for bytes instances, not str Differential Revision: https://phab.mercurial-scm.org/D963
Thu, 05 Oct 2017 14:12:51 -0400 hgweb: in protocol adapter, avoid control reaching end of non-void function
Augie Fackler <augie@google.com> [Thu, 05 Oct 2017 14:12:51 -0400] rev 34509
hgweb: in protocol adapter, avoid control reaching end of non-void function This greatly confounded some Python 3 porting work, once it was managing to get this far. Differential Revision: https://phab.mercurial-scm.org/D962
Thu, 05 Oct 2017 14:18:55 -0700 test-check-code: fail new commits which use 'atexit' instead of 'ui.atexit'
Saurabh Singh <singhsrb@fb.com> [Thu, 05 Oct 2017 14:18:55 -0700] rev 34508
test-check-code: fail new commits which use 'atexit' instead of 'ui.atexit' Callbacks registered with 'atexit' are sometimes not called (like when hg aborts and calls os._exit). On the other hand, callbacks registered with 'ui.atexit' are called in most cases. Therefore, encouraging the use of 'ui.atexit' by failing the test 'test-check-code.t' appropriately. Test Plan: Ran the test 'test-check-code.t' after importing 'atexit' in one of the py files and confirmed that the test fails. Differential Revision: https://phab.mercurial-scm.org/D961
Thu, 05 Oct 2017 20:46:49 +0000 test-push-race: use 'ui.atexit' instead of python's 'atexit'
Saurabh Singh <singhsrb@fb.com> [Thu, 05 Oct 2017 20:46:49 +0000] rev 34507
test-push-race: use 'ui.atexit' instead of python's 'atexit' Callbacks registered with 'atexit' are sometimes not called (like when a process is killed by the SIGTERM signal). Therefore, this commit replaces it with 'ui.atexit' which ensures that the callbacks are always called. This also makes the test compatible with chg. Test Plan: Ran the test 'test-push-race.t' with and without the '--chg' option. Differential Revision: https://phab.mercurial-scm.org/D957
Mon, 02 Oct 2017 04:48:06 +0530 py3: use '%d' for integers instead of '%s'
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 02 Oct 2017 04:48:06 +0530] rev 34506
py3: use '%d' for integers instead of '%s' Differential Revision: https://phab.mercurial-scm.org/D973
Mon, 02 Oct 2017 04:46:17 +0530 py3: fix keyword arguments handling in mq
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 02 Oct 2017 04:46:17 +0530] rev 34505
py3: fix keyword arguments handling in mq This patch fixes the handling of keyword arguments to functions on Python 3. On python3, the keys of keyword arguments need to str which is unicode. So any keyword argument will get will have str keys and any dictionary we pass as kwargs must have all the keys as str. This patch uses pycompat.(strkwargs|byteskwargs) to do so conversion between bytes keys and str keys and use r'' if there are very less uses and conversion can be prevented. Differential Revision: https://phab.mercurial-scm.org/D972
Thu, 05 Oct 2017 20:41:50 -0700 test-rebase-base: clarify it is about the "--base" flag
Jun Wu <quark@fb.com> [Thu, 05 Oct 2017 20:41:50 -0700] rev 34504
test-rebase-base: clarify it is about the "--base" flag It happened several times that people use `test-rebase-base.t` as a general purposed test file for rebase. But it is intended to be only related to the `--base` flag. This patch split, renamed the test, and added a note to clarify. Differential Revision: https://phab.mercurial-scm.org/D975
Fri, 30 Jun 2017 03:36:10 +0200 configitems: register the 'convert.p4.encoding' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:36:10 +0200] rev 34503
configitems: register the 'convert.p4.encoding' config
Fri, 30 Jun 2017 03:42:34 +0200 configitems: register the 'gpg.key' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:42:34 +0200] rev 34502
configitems: register the 'gpg.key' config
Fri, 30 Jun 2017 03:42:33 +0200 configitems: register the 'gpg.cmd' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:42:33 +0200] rev 34501
configitems: register the 'gpg.cmd' config
Fri, 30 Jun 2017 03:42:50 +0200 configitems: register the 'keywordset.svn' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:42:50 +0200] rev 34500
configitems: register the 'keywordset.svn' config
Fri, 30 Jun 2017 03:42:35 +0200 configitems: register the 'hgk.path' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:42:35 +0200] rev 34499
configitems: register the 'hgk.path' config
Fri, 30 Jun 2017 03:44:18 +0200 configitems: register the 'share.poolnaming' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:44:18 +0200] rev 34498
configitems: register the 'share.poolnaming' config
Fri, 30 Jun 2017 03:44:17 +0200 configitems: register the 'share.pool' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:44:17 +0200] rev 34497
configitems: register the 'share.pool' config
Fri, 30 Jun 2017 03:44:19 +0200 configitems: register the 'shelve.maxbackups' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:44:19 +0200] rev 34496
configitems: register the 'shelve.maxbackups' config
Fri, 30 Jun 2017 03:43:33 +0200 configitems: register the 'pager.attend' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:33 +0200] rev 34495
configitems: register the 'pager.attend' config
Fri, 30 Jun 2017 03:43:46 +0200 configitems: register the 'perf.stub' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:46 +0200] rev 34494
configitems: register the 'perf.stub' config
(0) -30000 -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 tip