Fri, 01 Feb 2019 22:52:09 -0800 status: if ui.relative-paths=no, don't use relative paths even with patterns
Martin von Zweigbergk <martinvonz@google.com> [Fri, 01 Feb 2019 22:52:09 -0800] rev 41577
status: if ui.relative-paths=no, don't use relative paths even with patterns Without ui.relative-paths or command.status.relative set, you get this behavior: hgext$ hg st M hgext/narrow/narrowrepo.py hgext$ hg st . M narrow/narrowrepo.py hgext$ hg st narrow M narrow/narrowrepo.py I think it's surprising that some of those produce relative paths. I suspect it works that way because "hg st ." was an easy way of getting relative paths. Perhaps not much thought was given to how it should behave when the pattern was not ".". It also feels wrong to conflate the request for relative patterns with matching of of patterns. Since we can now start fresh and define the behavior of ui.relative-paths as we want, I suggest we make ui.relative-paths=no consistently not give relative paths. So that's what this paths starts doing for `hg status`. Differential Revision: https://phab.mercurial-scm.org/D5802
Tue, 29 Jan 2019 15:49:20 -0800 files: respect ui.relative-paths
Martin von Zweigbergk <martinvonz@google.com> [Tue, 29 Jan 2019 15:49:20 -0800] rev 41576
files: respect ui.relative-paths Differential Revision: https://phab.mercurial-scm.org/D5801
Fri, 01 Feb 2019 22:28:55 -0800 config: introduce a new value for ui.relative-paths getting old behavior
Martin von Zweigbergk <martinvonz@google.com> [Fri, 01 Feb 2019 22:28:55 -0800] rev 41575
config: introduce a new value for ui.relative-paths getting old behavior The few places I've modified so far to respect ui.relative-paths have traditionally defaulted showing the path from the repo root. However, some commands (at least `hg files`) default to showing paths relative to the cwd. Let's allow a special value for ui.relative-paths to preserve the old behavior, so we can use that as default value for it. I don't expect that anyone would want to set this value, so perhaps we could have relied on it being unset, but I don't really like behaviors that can only be achieved by a unset config option. Differential Revision: https://phab.mercurial-scm.org/D5800
Tue, 05 Feb 2019 21:31:33 +0300 py3: use pycompat.bytestr() on extra values because it can be int
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 05 Feb 2019 21:31:33 +0300] rev 41574
py3: use pycompat.bytestr() on extra values because it can be int One such example is {'close': 1} which marks a branch as closed. This makes test-convert-mtn.t pass on Python 3. Differential Revision: https://phab.mercurial-scm.org/D5864
Tue, 05 Feb 2019 21:30:30 +0300 py3: add some b'' prefixes in hgext/convert/monotone.py
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 05 Feb 2019 21:30:30 +0300] rev 41573
py3: add some b'' prefixes in hgext/convert/monotone.py # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D5863
Tue, 05 Feb 2019 21:29:55 +0300 py3: use '%d' for integers instead of '%s'
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 05 Feb 2019 21:29:55 +0300] rev 41572
py3: use '%d' for integers instead of '%s' I think this is the last of these occurences because I have got the test passing on python3 in a later patch. Differential Revision: https://phab.mercurial-scm.org/D5862
Tue, 05 Feb 2019 21:17:46 +0300 py3: add 1 new passing test found by buildbot
Pulkit Goyal <pulkit@yandex-team.ru> [Tue, 05 Feb 2019 21:17:46 +0300] rev 41571
py3: add 1 new passing test found by buildbot This will make py3 buildbot green again. Differential Revision: https://phab.mercurial-scm.org/D5861
Mon, 04 Feb 2019 21:23:44 -0800 merge: don't unnecessarily calculate absolute path
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Feb 2019 21:23:44 -0800] rev 41570
merge: don't unnecessarily calculate absolute path I think this also makes the code clearer (and prepares for a later patch that replaces origpath()). Differential Revision: https://phab.mercurial-scm.org/D5849
Mon, 04 Feb 2019 21:21:55 -0800 merge: don't unnecessarily calculate backup path
Martin von Zweigbergk <martinvonz@google.com> [Mon, 04 Feb 2019 21:21:55 -0800] rev 41569
merge: don't unnecessarily calculate backup path Differential Revision: https://phab.mercurial-scm.org/D5848
Sun, 03 Feb 2019 22:49:28 -0800 largefiles: drop "rel" prefix from filename variables
Martin von Zweigbergk <martinvonz@google.com> [Sun, 03 Feb 2019 22:49:28 -0800] rev 41568
largefiles: drop "rel" prefix from filename variables The prefixes were meant to indicate that these paths are repo-relative as opposed to absolute. However, that's what the majority of paths in our code base are, so "rel" made me think they were instead cwd-relative. Let's just drop the prefixes. Differential Revision: https://phab.mercurial-scm.org/D5847
Mon, 21 Jan 2019 17:41:59 +0000 branchmap: add some clarifications and clean up flow
Martijn Pieters <mj@octobus.net> [Mon, 21 Jan 2019 17:41:59 +0000] rev 41567
branchmap: add some clarifications and clean up flow - Remove indentation where it is not needed. - Swap the subset test branches to follow along logically and put the 'empty' case last. Differential Revision: https://phab.mercurial-scm.org/D5637
Mon, 21 Jan 2019 16:37:23 +0000 branchmap: updating triggers a write
Martijn Pieters <mj@octobus.net> [Mon, 21 Jan 2019 16:37:23 +0000] rev 41566
branchmap: updating triggers a write Rather than separate updating and writing, create a subclass that doesn't write on update. This minimises chances we forget to write out updates somewhere. This also makes refactoring and improving the branchmap functionality easier. Differential Revision: https://phab.mercurial-scm.org/D5636
Mon, 21 Jan 2019 16:04:48 +0000 branchmap: make branchcache responsible for reading
Martijn Pieters <mj@octobus.net> [Mon, 21 Jan 2019 16:04:48 +0000] rev 41565
branchmap: make branchcache responsible for reading Encapsulate reading in a classmethod, to make it clear what kind of object is being handled. This is part of a stack of refactoring changes to help performance improvements down the line. Differential Revision: https://phab.mercurial-scm.org/D5635
Mon, 04 Feb 2019 09:10:07 -0800 attr: make some docstrings raw strings
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 09:10:07 -0800] rev 41564
attr: make some docstrings raw strings This avoids a SyntaxWarning in Python 3.8 due to invalid \ escapes. Differential Revision: https://phab.mercurial-scm.org/D5817
Sun, 27 Jan 2019 13:37:37 +0900 revset: leverage getintrange() helper in relation-subscript operation (API)
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Jan 2019 13:37:37 +0900] rev 41563
revset: leverage getintrange() helper in relation-subscript operation (API) Now a range expression is parsed by a relation function itself since the upper layer have no knowledge about the default first/last bounds.
Sun, 27 Jan 2019 13:28:45 +0900 revset: allow to parse single integer as a range
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Jan 2019 13:28:45 +0900] rev 41562
revset: allow to parse single integer as a range Even though this wouldn't be any useful in followlines(), it helps to unify range processing.
Sun, 27 Jan 2019 13:18:53 +0900 revset: extract a helper to parse integer range
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Jan 2019 13:18:53 +0900] rev 41561
revset: extract a helper to parse integer range It's getting common. As a first step, this patch adds getintrange() and makes followlines() use it. I wanted to unify the error messages to make the function interface simple, but I failed to phrase it briefly.
Thu, 31 Jan 2019 14:47:34 -0800 commit: if interactive, look elsewhere for whitespace settings (BC)
Kyle Lippincott <spectral@google.com> [Thu, 31 Jan 2019 14:47:34 -0800] rev 41560
commit: if interactive, look elsewhere for whitespace settings (BC) Previously, when doing `commit -i`, we respected `diff.ignorews` and other whitespace-related settings, which is probably unexpected. The primary reason for this is to support hgext.record's commandline options, it's probably accidental that the `[diff]` settings were also considered. See comments on issue6042 and D5490. This can cause problems (issue5839, issue6042). It is assumed by the author that the `[diff]` section is primarily for *viewing* diffs, and that it is unlikely what people intend when attempting to commit or revert. With this change, if a user wants the behavior, they can clone their `[diff]` settings to `commands.commit.interactive.<setting>`. This is thus a mild BC change, but one I suspect is not going to be relied on by anyone. Note: while doing a partial commit/revert, we do not know what command the user is actually running. This means that the split extension, which ends up calling into this code, will respect the `commands.commit.interactive.<setting>` settings, and not a hypothetical `commands.split.interactive.<setting>`. This *also* means that setting `commands.commit.interactive.ignoreblanklines`, for example, will still cause issue5839. Considering the highly unlikely chance that a user actually sets `commands.commit.interactive.<setting>`, the author deems this risk acceptable. Differential Revision: https://phab.mercurial-scm.org/D5834
Thu, 31 Jan 2019 14:29:24 -0800 diff: when looking for diff configs, support a configurable prefix
Kyle Lippincott <spectral@google.com> [Thu, 31 Jan 2019 14:29:24 -0800] rev 41559
diff: when looking for diff configs, support a configurable prefix In a future commit, I want to make it possible to have the diff options pulled from (as an example) `commands.commit.interactive.ignorews`; previously we only supported this for customizable sections (so this would have needed a `commit-interactive` section and been named `commit-interactive.ignorews`, which felt a bit weird. Differential Revision: https://phab.mercurial-scm.org/D5833
Thu, 31 Jan 2019 14:27:25 -0800 config: extract diff-related coreconfigitem()s to a helper method
Kyle Lippincott <spectral@google.com> [Thu, 31 Jan 2019 14:27:25 -0800] rev 41558
config: extract diff-related coreconfigitem()s to a helper method We already have 'annotate' and 'diff' that use the same set of options, and I want to add more in a followup commit, so I'm attempting to reduce maintenance burden and duplication by making it possible to register all of them at once. Differential Revision: https://phab.mercurial-scm.org/D5832
Mon, 28 Jan 2019 18:05:05 -0800 commit: ignore diff whitespace settings when doing `commit -i` (issue5839)
Kyle Lippincott <spectral@google.com> [Mon, 28 Jan 2019 18:05:05 -0800] rev 41557
commit: ignore diff whitespace settings when doing `commit -i` (issue5839) Previously, we respected options like `diff.ignoreblanklines` and `diff.ignorews`. This can cause problems when the user is attempting to actually commit the blank line change. Specifically, the split extension can get into an infinite loop because it detects that the working copy is not clean, but when we get the diff we don't see the changes, so it just skips popping up the chunk selection flow, saying there's no changes to record. These options are primarily meant for viewing diffs; it is highly unlikely that someone is actually intending to add extraneous whitespace and have it ignored if they attempt to interactively commit (but *not* ignored if they non-interactively commit). Differential Revision: https://phab.mercurial-scm.org/D5744
Mon, 04 Feb 2019 14:43:26 -0800 tests: add syntax warnings on Python 3.8 in python-zstandard
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:43:26 -0800] rev 41556
tests: add syntax warnings on Python 3.8 in python-zstandard These are warnings from upstream test code. Let's just acknowledge them for now. These should go away in a future python-zstandard release :) Differential Revision: https://phab.mercurial-scm.org/D5846
Mon, 04 Feb 2019 14:38:23 -0800 check-py3-compat: manually format and print warnings
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:38:23 -0800] rev 41555
check-py3-compat: manually format and print warnings The warnings mechanism may print to stderr on Python 3. Independent buffering of stdout and stderr can lead to warnings output not being printed properly. This commit traps warnings when executing individual files and prints warnings to stdout so output is deterministic. Differential Revision: https://phab.mercurial-scm.org/D5845
Mon, 04 Feb 2019 14:25:00 -0800 check-py3-compat: provide filename to ast.parse()
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:25:00 -0800] rev 41554
check-py3-compat: provide filename to ast.parse() This ensures any warning/error messages print a valid filename instead of potentially '<unknown>'. Differential Revision: https://phab.mercurial-scm.org/D5844
Mon, 04 Feb 2019 14:22:50 -0800 doc: escape backslash
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:22:50 -0800] rev 41553
doc: escape backslash This avoids a SyntaxWarning on Python 3.8 due to invalid \ escape. Differential Revision: https://phab.mercurial-scm.org/D5843
Mon, 04 Feb 2019 14:16:52 -0800 testparseutil: escape backslash in docstring
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:16:52 -0800] rev 41552
testparseutil: escape backslash in docstring This is funky. This inline Python code is part of a docstring, which means the string is interpreted first. So any backslashes need double escaping. So even though this is already a br'', we still need to escape. Differential Revision: https://phab.mercurial-scm.org/D5842
Mon, 04 Feb 2019 14:14:25 -0800 tests: use raw strings in test-help.t
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:14:25 -0800] rev 41551
tests: use raw strings in test-help.t This avoids SyntaxWarning on Python 3.8 due to invalid \ escapes. Differential Revision: https://phab.mercurial-scm.org/D5841
Mon, 04 Feb 2019 14:10:10 -0800 tests: escape backslash in makepatch.py inline file
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:10:10 -0800] rev 41550
tests: escape backslash in makepatch.py inline file This avoids some SyntaxWarning on Python 3.8 due to unescaped \. Differential Revision: https://phab.mercurial-scm.org/D5840
Mon, 04 Feb 2019 14:05:26 -0800 tests: use raw strings in test-cbor.py
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:05:26 -0800] rev 41549
tests: use raw strings in test-cbor.py To avoid SyntaxWarning on Python 3.8 due to invalid \ escape. Differential Revision: https://phab.mercurial-scm.org/D5839
Mon, 04 Feb 2019 14:03:15 -0800 showstack: use raw docstring
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:03:15 -0800] rev 41548
showstack: use raw docstring Avoids a SyntaxWarning on Python 3.8 due to invalid \ escape. Differential Revision: https://phab.mercurial-scm.org/D5838
Mon, 04 Feb 2019 14:00:57 -0800 tests: use raw string in test-check-code.t
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 14:00:57 -0800] rev 41547
tests: use raw string in test-check-code.t To avoid a SyntaxWarning on Python 3.8 due to invalid \ escape. Differential Revision: https://phab.mercurial-scm.org/D5837
Mon, 04 Feb 2019 09:47:13 -0800 run-tests: set attributes in sorted order
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 04 Feb 2019 09:47:13 -0800] rev 41546
run-tests: set attributes in sorted order Python 3.8 preserves insertion order in serialized output (https://bugs.python.org/issue34160). Older Pythons serialized in sorted order. Let's make insertion order sorted so behavior is consistent across Python versions. Differential Revision: https://phab.mercurial-scm.org/D5831
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -32 +32 +50 +100 +300 +1000 +3000 +10000 tip