Wed, 11 Oct 2017 03:49:04 +0200 configitems: register the 'logtoprocess.commandexception' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:49:04 +0200] rev 34592
configitems: register the 'logtoprocess.commandexception' config
Wed, 11 Oct 2017 03:45:14 +0200 configitems: register the 'pager.pager' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:45:14 +0200] rev 34591
configitems: register the 'pager.pager' config
Wed, 11 Oct 2017 03:41:48 +0200 configitems: register the 'web.maxchanges' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:41:48 +0200] rev 34590
configitems: register the 'web.maxchanges' config
Wed, 11 Oct 2017 03:41:01 +0200 configitems: register the 'web.maxfiles' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:41:01 +0200] rev 34589
configitems: register the 'web.maxfiles' config
Wed, 11 Oct 2017 03:39:21 +0200 configitems: register the 'web.maxshortchanges' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:39:21 +0200] rev 34588
configitems: register the 'web.maxshortchanges' config
Wed, 11 Oct 2017 03:36:44 +0200 configitems: register the 'web.motd' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:36:44 +0200] rev 34587
configitems: register the 'web.motd' config
Wed, 11 Oct 2017 03:32:59 +0200 configitems: register the 'web.name' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:32:59 +0200] rev 34586
configitems: register the 'web.name' config
Wed, 11 Oct 2017 03:29:09 +0200 configitems: register the 'web.push_ssl' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:29:09 +0200] rev 34585
configitems: register the 'web.push_ssl' config
Wed, 11 Oct 2017 03:18:04 +0200 configitems: register the 'web.view' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 03:18:04 +0200] rev 34584
configitems: register the 'web.view' config
Wed, 11 Oct 2017 15:25:57 +0200 configitems: fix registration for 'blackbox.track' config
Boris Feld <boris.feld@octobus.net> [Wed, 11 Oct 2017 15:25:57 +0200] rev 34583
configitems: fix registration for 'blackbox.track' config Default mutable values could be problematic. Use a lambda that returns the value instead. Thanks to martin for catching this bug.
Tue, 10 Oct 2017 10:27:35 -0500 status: copy-edit and improve --terse and --verbose help
Kevin Bullock <kbullock+mercurial@ringworld.org> [Tue, 10 Oct 2017 10:27:35 -0500] rev 34582
status: copy-edit and improve --terse and --verbose help
Tue, 19 Sep 2017 23:13:46 +0900 templater: store revisions as ints so min/max won't compare them as strings
Yuya Nishihara <yuya@tcha.org> [Tue, 19 Sep 2017 23:13:46 +0900] rev 34581
templater: store revisions as ints so min/max won't compare them as strings Because a template value has no explicit type (like ancient PHP), ifcontains() has to coerce the type of the needle. Before, it was always converted to a string, which meant any container type should be a list/dict of strings. This no longer works since we've introduced min/max functions. In order to work around the untyped nature of templater, this patch adds a type specifier to hybrid dict/list. It isn't named as "valuetype" since the _hybrid class can also wrap a dict.
Mon, 09 Oct 2017 12:47:22 -0700 fsmonitor: update to match new dirstate refactor
Durham Goode <durham@fb.com> [Mon, 09 Oct 2017 12:47:22 -0700] rev 34580
fsmonitor: update to match new dirstate refactor The dirstate was refactored so dirstate._map is now at dirstate._map._map. Same for _copymap, is not _map.copymap. It seems none of the mercurial tests cover this stuff, but it was caught by our Facebook extension tests. Differential Revision: https://phab.mercurial-scm.org/D945
Tue, 26 Sep 2017 08:37:17 +0200 doc: rename README to README.rst
David Demelier <markand@malikania.fr> [Tue, 26 Sep 2017 08:37:17 +0200] rev 34579
doc: rename README to README.rst Many hosting services consider README without extension as plain text. By using .rst extension, we bring better formatting on many services (e.g. bitbucket).
Mon, 09 Oct 2017 08:35:55 +0200 test: use current user in the multi-user amend scenario
Boris Feld <boris.feld@octobus.net> [Mon, 09 Oct 2017 08:35:55 +0200] rev 34578
test: use current user in the multi-user amend scenario The obsfate template keyword that will be introduced in a later patch distinguish between current user and other users when displaying the obsfate users. Update the test before for clarity.
Fri, 06 Oct 2017 17:05:19 +0200 test: cleanup verbosity variant from fatelog test
Boris Feld <boris.feld@octobus.net> [Fri, 06 Oct 2017 17:05:19 +0200] rev 34577
test: cleanup verbosity variant from fatelog test Unlike the '{obsfate}' keyword defined in 'hg-evolve', the definition of hg fatelog in test-obsmarker-template.t is not verbosity dependent. Remove useless call to fatelog -v and fatelog -q.
Fri, 06 Oct 2017 16:36:41 +0200 test: rename obsfate template alias
Boris Feld <boris.feld@octobus.net> [Fri, 06 Oct 2017 16:36:41 +0200] rev 34576
test: rename obsfate template alias We will introduce an obsfate templatekw in the next patch that will conflict with the obsfate template in the test file, rename the one in test file to avoid this collision.
Fri, 06 Oct 2017 16:15:24 +0200 obsolete: add a devel.user.obsmarker
Boris Feld <boris.feld@octobus.net> [Fri, 06 Oct 2017 16:15:24 +0200] rev 34575
obsolete: add a devel.user.obsmarker In tests, we often want to use a different username in obs-markers without changing the default user. Add a 'devel.user.obsmarker'.
Thu, 05 Oct 2017 15:11:34 +0200 strip: factor out update target selection
Paul Morelle <paul.morelle@octobus.net> [Thu, 05 Oct 2017 15:11:34 +0200] rev 34574
strip: factor out update target selection The same algorithm was used in two places: one to find out which commit shall become the parent of wdir, and the other to prepare the wdir when keeping changes. Factoring it out prevents inconsistent changes in either occurrence.
Wed, 11 Oct 2017 03:48:11 -0700 contrib: add check-code rule banning use of readlink
Augie Fackler <augie@google.com> [Wed, 11 Oct 2017 03:48:11 -0700] rev 34573
contrib: add check-code rule banning use of readlink readlink doesn't always exist, such as on Solaris-derived platforms. Differential Revision: https://phab.mercurial-scm.org/D1000
Tue, 10 Oct 2017 11:03:14 -0400 tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com> [Tue, 10 Oct 2017 11:03:14 -0400] rev 34572
tests: use readlink.py instead of readlink The latter doesn't always exist, such as on Solaris-derived platforms. Differential Revision: https://phab.mercurial-scm.org/D999
Tue, 10 Oct 2017 11:02:53 -0400 tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com> [Tue, 10 Oct 2017 11:02:53 -0400] rev 34571
tests: use readlink.py instead of readlink The latter doesn't always exist, such as on Solaris-derived platforms. Differential Revision: https://phab.mercurial-scm.org/D998
Tue, 10 Oct 2017 11:02:40 -0400 tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com> [Tue, 10 Oct 2017 11:02:40 -0400] rev 34570
tests: use readlink.py instead of readlink The latter doesn't always exist, such as on Solaris-derived platforms. Differential Revision: https://phab.mercurial-scm.org/D997
Tue, 10 Oct 2017 11:02:23 -0400 tests: use readlink.py instead of readlink
Augie Fackler <augie@google.com> [Tue, 10 Oct 2017 11:02:23 -0400] rev 34569
tests: use readlink.py instead of readlink The latter doesn't always exist, such as on Solaris-derived platforms. Differential Revision: https://phab.mercurial-scm.org/D996
Wed, 11 Oct 2017 01:56:49 -0700 ui: recommend tweakdefaults in the default hgrc template
Augie Fackler <augie@google.com> [Wed, 11 Oct 2017 01:56:49 -0700] rev 34568
ui: recommend tweakdefaults in the default hgrc template Were I only slightly bolder, I'd make it on by default in the suggested user hgrc. Differential Revision: https://phab.mercurial-scm.org/D1001
Tue, 10 Oct 2017 01:03:24 +0530 tests: optimize test-copytrace-heuristics.t
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 10 Oct 2017 01:03:24 +0530] rev 34567
tests: optimize test-copytrace-heuristics.t test-copytrace-heuristics.t tests the heuristics algorithm of copytracing. The test has a pattern of making a server repo first and then cloning into a local repo for each test to have public and draft commits. This is done because if we have all draft commits and we have very less commits, heuristics will fallback to full copytracing as that will be fast. To avoid creating the server repo, we set the commit limit to -1 so that everytime we perform the heuristics algorithm even when having full drafts and tweak the config setting when we need to test the ability to fallback to full copytracing. This optimizes this test by 3 seconds. Before: real 0m41.503s user 0m36.068s sys 0m3.900s After: real 0m38.826s user 0m33.884s sys 0m3.396s Differential Revision: https://phab.mercurial-scm.org/D991
Thu, 05 Oct 2017 13:38:48 -0700 patch: do not cache translated messages (API)
Jun Wu <quark@fb.com> [Thu, 05 Oct 2017 13:38:48 -0700] rev 34566
patch: do not cache translated messages (API) Previously the code caches `i18n._` results in module variables. That causes issues after an encoding change. Instead of invalidating them manually, we now just recalculate the translated messages every time `filterpatch` gets called. This makes test-commit-interactive.t pass regardless of whether chg or demandimport is used or not. .. api: `patch.messages` now lives in `patch.getmessages()`. Extensions adding new messages should now wrap the `patch.getmessages` method instead of changing `patch.messages` directly. Differential Revision: https://phab.mercurial-scm.org/D959
Mon, 09 Oct 2017 10:09:36 -0700 fsmonitor: add new watchman notifications to fsmonitor extension
Eamonn Kent <ekent@fb.com> [Mon, 09 Oct 2017 10:09:36 -0700] rev 34565
fsmonitor: add new watchman notifications to fsmonitor extension The fsmonitor extension currently sends state-enter and state-leave notifications to watchman on the update operation. This commit creates additional notifications for the following events : - transaction creation and commit/abort. A state-enter notification will be sent when a transaction is created. It will provide the working copy parent's hash. A state-leave notification will be sent when the transaction is committed or aborted. It will provide the working copy parent's hash. - calls to set-parent will cause state-enter and state-leave notifications to be sent. The state-enter notification will be sent prior to the set-parent operation and the working copy parent's hash will be provided at this time. The state-leave notification will be sent after the set-parent operation completes providing the working copy parents hash. Test Plan: tested on dev server to check that necessary notifications were sent/received Differential Revision: https://phab.mercurial-scm.org/D989
Mon, 09 Oct 2017 10:09:36 -0700 fsmonitor: change the distance calculation
Eamonn Kent <ekent@fb.com> [Mon, 09 Oct 2017 10:09:36 -0700] rev 34564
fsmonitor: change the distance calculation Change the distance calculation in the fsmonitor extension. It is done in a method since anticipated changes will need to use this logic as well. Test Plan: Tested on development server. Differential Revision: https://phab.mercurial-scm.org/D988
Mon, 09 Oct 2017 16:31:43 +0200 configitems: update default value of 'phases.new-commit'
Boris Feld <boris.feld@octobus.net> [Mon, 09 Oct 2017 16:31:43 +0200] rev 34563
configitems: update default value of 'phases.new-commit' Now that mq is cleaned up, we can rely on the config register for the default value. We switch the default from the integer to human readable value to help with future automatic documentation that could be generated from the config register.
Mon, 09 Oct 2017 17:33:03 +0200 mq: use the newcommitphase utility
Boris Feld <boris.feld@octobus.net> [Mon, 09 Oct 2017 17:33:03 +0200] rev 34562
mq: use the newcommitphase utility We use the official API instead of doing the operation manually. This will help storing the default value for phases properly in the next changeset.
Tue, 26 Sep 2017 18:17:47 +0200 patch: rename "header" variable into "hdr" in diff()
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 26 Sep 2017 18:17:47 +0200] rev 34561
patch: rename "header" variable into "hdr" in diff() The "header" variable was hiding the eponymous class, hence preventing its usage.
Thu, 05 Oct 2017 08:03:57 -0700 merge: improve comments in mergestate._makerecords
Mark Thomas <mbthomas@fb.com> [Thu, 05 Oct 2017 08:03:57 -0700] rev 34560
merge: improve comments in mergestate._makerecords Differential Revision: https://phab.mercurial-scm.org/D955
Mon, 02 Oct 2017 14:05:30 -0700 commands: tidy up merge state decoding in resolve
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34559
commands: tidy up merge state decoding in resolve Make the mapping from merge state to label and display key explicit, and move construction of the dict out of the loop. Differential Revision: https://phab.mercurial-scm.org/D861
Mon, 02 Oct 2017 14:05:30 -0700 tests: add test for path conflicts during merge
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34558
tests: add test for path conflicts during merge Differential Revision: https://phab.mercurial-scm.org/D787
Mon, 02 Oct 2017 14:05:30 -0700 tests: add test for path conflicts during update
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34557
tests: add test for path conflicts during update Differential Revision: https://phab.mercurial-scm.org/D786
Mon, 02 Oct 2017 14:05:30 -0700 context: also consider path conflicts when clearing unknown files
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34556
context: also consider path conflicts when clearing unknown files When clearing unknown files to remove path conflicts, also delete files that conflict with the target file's path. Differential Revision: https://phab.mercurial-scm.org/D785
Mon, 02 Oct 2017 14:05:30 -0700 merge: check for path conflicts when merging (issue5628)
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34555
merge: check for path conflicts when merging (issue5628) When merging, check for any path conflicts introduced by the manifest merge and rename the conflicting file to a safe name. Differential Revision: https://phab.mercurial-scm.org/D784
Mon, 02 Oct 2017 14:05:30 -0700 util: add safename function for generating safe names to rename to
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34554
util: add safename function for generating safe names to rename to This function finds a name which does not clash with any other name in the manifest, and so can be used to safely rename a file. Differential Revision: https://phab.mercurial-scm.org/D783
Mon, 02 Oct 2017 14:05:30 -0700 merge: improve error messages for path conflicts during update
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34553
merge: improve error messages for path conflicts during update Differential Revision: https://phab.mercurial-scm.org/D782
Mon, 02 Oct 2017 14:05:30 -0700 merge: check for path conflicts when updating (issue5628)
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34552
merge: check for path conflicts when updating (issue5628) When updating to a new revision, check for path conflicts caused by unknown files in the working directory, and handle these by backing up the file or directory and replacing it. Differential Revision: https://phab.mercurial-scm.org/D781
Mon, 02 Oct 2017 14:05:30 -0700 merge: rename conflicts to fileconflicts in _checkunknownfiles
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34551
merge: rename conflicts to fileconflicts in _checkunknownfiles We will need to distinguish between file conflicts and path conflicts. Rename the conflicts variable so that it will be clearly distinct from pathconflicts, which will be introduced in a future commit. Differential Revision: https://phab.mercurial-scm.org/D780
Mon, 02 Oct 2017 14:05:30 -0700 merge: add _checkunknowndirs function for detecting path conflicts
Mark Thomas <mbthomas@fb.com> [Mon, 02 Oct 2017 14:05:30 -0700] rev 34550
merge: add _checkunknowndirs function for detecting path conflicts Add a new function which, given a file name, finds the shortest path for which there is a conflicting file or directory in the working directory. Differential Revision: https://phab.mercurial-scm.org/D779
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.
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip