Sat, 28 Apr 2018 10:09:12 -0400 mpatch: ensure fragment start isn't past the end of orig (SEC) stable
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 10:09:12 -0400] rev 38189
mpatch: ensure fragment start isn't past the end of orig (SEC) Caught by oss-fuzz fuzzer during development. This defect is OVE-20180430-0004. A CVE has not been obtained as of this writing.
Sat, 28 Apr 2018 02:04:56 -0400 mpatch: protect against underflow in mpatch_apply (SEC) stable
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 02:04:56 -0400] rev 38188
mpatch: protect against underflow in mpatch_apply (SEC) Also caught by oss-fuzz fuzzer during development. This defect is OVE-20180430-0002. A CVE has not been obtained as of this writing.
Sat, 28 Apr 2018 00:42:16 -0400 mpatch: be more careful about parsing binary patch data (SEC) stable
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 00:42:16 -0400] rev 38187
mpatch: be more careful about parsing binary patch data (SEC) It appears to have been possible to trivially walk off the end of an allocated region with a malformed patch. Oops. Caught when writing an mpatch fuzzer for oss-fuzz. This defect is OVE-20180430-0001. A CVE has not been obtained as of this writing.
Wed, 06 Jun 2018 09:14:33 -0700 zstandard: pull in bug fixes from upstream 0.9.1 release (issue5884) stable
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 06 Jun 2018 09:14:33 -0700] rev 38186
zstandard: pull in bug fixes from upstream 0.9.1 release (issue5884) This changeset contains the meaningful code changes from python-zstandard's 0.9.1 release. The main fix is to restore support for compiling with mingw.
Wed, 06 Jun 2018 21:19:42 +0800 templatefuncs: only render text portion of minirst.format() result stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Jun 2018 21:19:42 +0800] rev 38185
templatefuncs: only render text portion of minirst.format() result When "keep" argument is provided, the function returns (text, pruned), where pruned is a list of sections from the original plain text that were pruned from the rendered result. Let's not output it together with the rendered HTML.
Wed, 06 Jun 2018 21:15:26 +0800 tests: demonstrate that hgweb renders "pruned" that minirst.format() returns stable
Anton Shestakov <av6@dwimlabs.net> [Wed, 06 Jun 2018 21:15:26 +0800] rev 38184
tests: demonstrate that hgweb renders "pruned" that minirst.format() returns Notice at the bottom of the help text there's "windows". It's a section that is in the original help text, but was pruned (because hgweb didn't ask for it).
Tue, 05 Jun 2018 23:49:54 -0400 rebase: avoid RevlogError when computing obsoletenotrebased (issue5907) stable
Matt Harbison <matt_harbison@yahoo.com> [Tue, 05 Jun 2018 23:49:54 -0400] rev 38183
rebase: avoid RevlogError when computing obsoletenotrebased (issue5907) The key to reproducing this seems to be missing an obsolete node that is not an ancestor of the destination.
Sat, 02 Jun 2018 13:44:44 -0400 rebase: prioritize indicating an interrupted rebase over update (issue5838) stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Jun 2018 13:44:44 -0400] rev 38182
rebase: prioritize indicating an interrupted rebase over update (issue5838) This should also cover the transplant extension, and any other non clearable states.
Sat, 02 Jun 2018 13:25:45 -0400 tests: demonstrate inconsistent messaging around interrupted rebases stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Jun 2018 13:25:45 -0400] rev 38181
tests: demonstrate inconsistent messaging around interrupted rebases
Thu, 31 May 2018 22:15:52 -0400 tests: adapt test-check-pylint to run on Windows stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 31 May 2018 22:15:52 -0400] rev 38180
tests: adapt test-check-pylint to run on Windows The line endings are explicitly converted because this was ending up with '\r (no-eol) (esc)' lines, in addition to the usual '\r (esc)' lines. I've seen the fakerc output on other recently installed systems though (10.13 and/or Fedora 26). Unfortunately, the output here uses '\\' on Windows, so glob away the whole path.
Thu, 31 May 2018 22:11:47 -0400 hghave: avoid a deadlock reading the child process's output stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 31 May 2018 22:11:47 -0400] rev 38179
hghave: avoid a deadlock reading the child process's output The output of `pylint` is voluminous enough that it fills the buffer on Windows, and waited for the parent to read it out. But the parent was waiting on the child to exit. I'm not sure what the intent of setting `ret = -1` in the exception handler just above this was...
Thu, 31 May 2018 09:19:09 -0400 lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902) stable
Matt Harbison <matt_harbison@yahoo.com> [Thu, 31 May 2018 09:19:09 -0400] rev 38178
lfs: bypass wrapped functions when reposetup() hasn't been called (issue5902) There are only a handful of methods that access repo attributes that are applied in reposetup(). The `diff` test covers all of the commands that call scmutil.prefetchfiles(). Along the way, I saw that adding files and upgrading the repo format were also problems (also tested here). I don't think running `hg serve` through the commandserver is sane, but I conditionalized both the capabilities and the wsgirequest handler because it's trivially correct. It doesn't look like there has ever been a caller of candownload(), so there's no test for that path. The upload case isn't testable, because uploadblobs() bails if there are no pointers. The requirement should be added any time pointers are introduced, and that would force the extension to be loaded specifically for the repo. This covers `debuglfsupload`, the pre-push hook (which isn't set until the repo is promoted to LFS), and uploadblobsfromrevs(), which can be called by other extensions. I think readfromstore() and writetostore() are only reachable as a flag processor for revlog.REVIDX_EXTSTORED, and a requirement is added as soon as that is seen, so I don't think those are a problem.
Sat, 26 May 2018 11:33:02 +0900 revlog: disallow setting uncompressed length to None
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 11:33:02 +0900] rev 38177
revlog: disallow setting uncompressed length to None Backed out changeset a4942675de6b
Sat, 26 May 2018 11:31:51 +0900 unionrepo: fill in uncompressed length of revlog entry
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 11:31:51 +0900] rev 38176
unionrepo: fill in uncompressed length of revlog entry It can be either -1 or a valid length, but shouldn't be None. IIUC, we can simply trust the length retrieved from the revlog to be overlaid. I don't bother thinking whether the compressed length can be copied as well. We'll need to fix it later.
Sun, 29 Apr 2018 19:48:16 -0400 fuzz: add clean target
Augie Fackler <augie@google.com> [Sun, 29 Apr 2018 19:48:16 -0400] rev 38175
fuzz: add clean target Differential Revision: https://phab.mercurial-scm.org/D3677
Mon, 30 Apr 2018 22:02:07 -0400 fuzzutil: make it possible to use absl when C++17 isn't supported
Augie Fackler <augie@google.com> [Mon, 30 Apr 2018 22:02:07 -0400] rev 38174
fuzzutil: make it possible to use absl when C++17 isn't supported Differential Revision: https://phab.mercurial-scm.org/D3676
Sat, 28 Apr 2018 22:18:50 -0400 fuzz: extract some common utilities and use modern C++ idioms
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 22:18:50 -0400] rev 38173
fuzz: extract some common utilities and use modern C++ idioms Alex Gaynor suggested we should probably copy the left and right sides of diffs to new blocks so we can detect over-reads in the diffing code, and I agree. Once I got into that, I realized we should do things with C++17 idioms rather than keep using malloc() and free(). This change is the result. I tried to split it more than this and failed. Everything still compiles and works in the oss-fuzz container, so I think we can count on C++17 being available! Differential Revision: https://phab.mercurial-scm.org/D3675
Sat, 28 Apr 2018 22:13:33 -0400 tests: update fuzzer tests to include both fuzzers
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 22:13:33 -0400] rev 38172
tests: update fuzzer tests to include both fuzzers Differential Revision: https://phab.mercurial-scm.org/D3674
Thu, 24 May 2018 12:19:50 +0200 transaction-summary: show phase changes statistics in pull/unbundle
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 24 May 2018 12:19:50 +0200] rev 38171
transaction-summary: show phase changes statistics in pull/unbundle Upon pull or unbundle, we display a message with the number of changesets which phase became public. Noticeably, this new message would appear even if no new changeset were added (below the "no changes found" message), thus indicating that something actually happened to the local repository.
Mon, 28 May 2018 01:36:34 -0400 outgoing: pay attention to `default:pushurl` for bookmarks and subrepos
Matt Harbison <matt_harbison@yahoo.com> [Mon, 28 May 2018 01:36:34 -0400] rev 38170
outgoing: pay attention to `default:pushurl` for bookmarks and subrepos The problem here was that `default:pushurl` and `default` get translated to a single entry in `ui.paths` named 'default', with an attribute for 'pushloc', 'loc', and 'rawloc'. ui.expandpath() then always takes the `rawloc` attribute. Maybe the ui.expandpath() API is busted and should be removed? Or maybe getpath() should return a copy that adds an attribute reflecting the URL of the path chosen? I thought that I could remove the code in hg._outgoing() and pass the location resolved in commands.py as `dest`, but unfortunately that code is needed there to resolve #branch type URLs. Maybe that should be pulled up to commands.py, because I can't see any reasonable behavior for a subrepo path that's constructed out of that type of URL. The push command already resolves this early, so that works properly. But it looks like bundle, histedit, largefiles, patchbomb, and summary use a similar pattern, so they are likely similarly affected.
Sat, 21 Apr 2018 17:27:57 +0200 revlog: make chainbase cache its result for the correct revision
Paul Morelle <paul.morelle@octobus.net> [Sat, 21 Apr 2018 17:27:57 +0200] rev 38169
revlog: make chainbase cache its result for the correct revision Previously, as 'rev' was our iterator, we were always caching the chain base for the second revision of the chain, or for the base itself.
Wed, 07 Mar 2018 11:10:22 +0100 revlog: make getcandidaterevs more consistent about updating tested revs set
Paul Morelle <paul.morelle@octobus.net> [Wed, 07 Mar 2018 11:10:22 +0100] rev 38168
revlog: make getcandidaterevs more consistent about updating tested revs set Like in previous cases, update the set of tested revisions after yielding
Mon, 26 Mar 2018 10:49:01 -0700 templatekw: make getrenamed() return only filename, not nodeid
Martin von Zweigbergk <martinvonz@google.com> [Mon, 26 Mar 2018 10:49:01 -0700] rev 38167
templatekw: make getrenamed() return only filename, not nodeid No callers cared about the nodeid and I want to make getrenamed() not look up the node (although it's currently free, I hope to store copy info in changesets and not include the nodeid). Differential Revision: https://phab.mercurial-scm.org/D3666
Sat, 26 May 2018 12:38:07 +0900 py3: wrap tempfile.NamedTemporaryFile() to return bytes fp.name
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 12:38:07 +0900] rev 38166
py3: wrap tempfile.NamedTemporaryFile() to return bytes fp.name Unlike its name, tempfile.NamedTemporaryFile is not a class, so I renamed the pycompat version to look like a plain function. Since temp.name uses in the infinitepush extension aren't bytes-safe, this patch leaves them unmodified. Another weird thing is tempfile.mktemp(), which does not accept bytes suffix nor prefix. Sigh.
Sat, 26 May 2018 12:20:36 +0900 py3: wrap tempfile.mkdtemp() to use bytes path
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 12:20:36 +0900] rev 38165
py3: wrap tempfile.mkdtemp() to use bytes path This also flips the default to use a bytes path on Python 3.
Sat, 26 May 2018 12:14:04 +0900 py3: wrap tempfile.mkstemp() to use bytes path
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 12:14:04 +0900] rev 38164
py3: wrap tempfile.mkstemp() to use bytes path This patch just flips the default to use a bytes path on Python 3. ca1cf9b3cce7 is backed out as the bundlepath should be bytes now.
Thu, 03 May 2018 18:39:58 +0900 extensions: remove strip_init=True from _disabledpaths()
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 18:39:58 +0900] rev 38163
extensions: remove strip_init=True from _disabledpaths() It's no longer used.
Thu, 03 May 2018 18:38:02 +0900 extensions: peek command table of disabled extensions without importing
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 18:38:02 +0900] rev 38162
extensions: peek command table of disabled extensions without importing With chg where demandimport disabled, and if disk cache not warm, it took more than 5 seconds to get "unknown command" error when you typo a command name. This is horrible UX. The new implementation is less accurate than the original one as Python can do anything at import time and cmdtable may be imported from another module, but I think it's good enough. Note that the new implementation has to parse .py files, which is slightly slower than executing .pyc if demandimport is enabled.
Thu, 26 Apr 2018 23:00:19 -0400 lfs: clarify pointer validation error messages
Matt Harbison <matt_harbison@yahoo.com> [Thu, 26 Apr 2018 23:00:19 -0400] rev 38161
lfs: clarify pointer validation error messages It wasn't obvious that LFS was involved from the error messages when `hg verify` fails.
Tue, 22 May 2018 23:22:15 -0400 terse: pconvert() entries added to the temporary terse dict for Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 22 May 2018 23:22:15 -0400] rev 38160
terse: pconvert() entries added to the temporary terse dict for Windows Recent additional testing revealed this problem on Windows: --- tests/test-status.t.err +++ tests/test-status.t.err @@ -109,7 +109,7 @@ tweaking defaults works $ hg status --cwd a --config ui.tweakdefaults=yes - ? . + ? ../a/ ? ../b/ ? ../in_root $ HGPLAIN=1 hg status --cwd a --config ui.tweakdefaults=yes @@ -120,7 +120,7 @@ ? b/in_b (glob) ? in_root $ HGPLAINEXCEPT=tweakdefaults hg status --cwd a --config ui.tweakdefaults=yes - ? . + ? ..\a\ ? ../b/ ? ../in_root (glob) AFAICT, the status list (input and output here) is always in '/' format. The '\' printed output on Windows is because each file is run through repo.pathto() -> dirstate.pathto() -> util.pathto(). (And that function states that the argument uses '/' separators.) I fixed a similar issue in 362096cfdb1f, and given the apparent need for these strings to be in '/' format, I wonder if cmdutil.dirnode() should be rewritten to avoid os.path.join(). But it looks like all entries added to the temporary terse dict should use '/' now, and cmdutil.tersedir() looks like the only user.
Thu, 24 May 2018 15:56:47 -0600 filemerge: don't pass function name as loadpath's module_name param
hindlemail <tom_hindle@sil.org> [Thu, 24 May 2018 15:56:47 -0600] rev 38159
filemerge: don't pass function name as loadpath's module_name param
Tue, 22 May 2018 18:10:37 +0200 phases: define an official tuple of phases we do not share
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 18:10:37 +0200] rev 38158
phases: define an official tuple of phases we do not share Same motivation as for `mutablephases`, having a single definition helps with updating phases logic.
Tue, 22 May 2018 18:10:00 +0200 phases: define an official tuple of mutable phases
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 18:10:00 +0200] rev 38157
phases: define an official tuple of mutable phases Such tuple was already manually defined in a couple of place. Having an official definition makes it easy to introduce of new phases.
Mon, 21 May 2018 17:33:50 +0200 repoview: use 'phasecache.getrevset' when computing 'unserved' filter
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 17:33:50 +0200] rev 38156
repoview: use 'phasecache.getrevset' when computing 'unserved' filter This reuses a precomputed set, being much faster than manual iteration. Computing the "unserved" filter speed up by 55%. before: wall 0.014671 comb 0.020000 user 0.020000 sys 0.000000 (best of 180) after: wall 0.006623 comb 0.010000 user 0.010000 sys 0.000000 (best of 401) The "unserved" filter is used to restrict the revisions client can pull from a server. (eg: secret changesets)
Sat, 26 May 2018 02:11:09 +0530 graft: drop --user and --date values info from hint in case of conflicts
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 26 May 2018 02:11:09 +0530] rev 38155
graft: drop --user and --date values info from hint in case of conflicts After previous patch, we have started preserving user and date values in graftstate and reusing them during `hg graft --continue`. Now passing --user and --date again with --continue makes no sense. Let's drop them from the hint. Differential Revision: https://phab.mercurial-scm.org/D3660
Fri, 25 May 2018 17:21:01 +0530 graft: reuse --user and --date values in `hg graft --continue` (BC)
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 17:21:01 +0530] rev 38154
graft: reuse --user and --date values in `hg graft --continue` (BC) Reading the user and date information from graftstate during `hg graft --continue` will help us in preserving the user and date arguments passed when `hg graft` was called. This patch reads that information and reuses that while running `hg graft --continue`. So after this patch, --user and --date values are preserved even if conflicts occur and user don't need to pass them again. The test changes demonstrate the fix. This is a backward incompatible change but I think of this more as a bug fix. Also thinking about removing the line from `hg help graft` which says --continue does not reapply other flags but need to check what are the other flags which needs to be preserved. Differential Revision: https://phab.mercurial-scm.org/D3659
Sat, 26 May 2018 01:52:42 +0530 tests: add test showing --continue not preserving --date and --user flags
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 26 May 2018 01:52:42 +0530] rev 38153
tests: add test showing --continue not preserving --date and --user flags This patch adds test showing that we don't preserve the user passed --date and --user values in `hg graft`. I was fixing that and realized this is untested. Adding tests before so that behavior change or the fix is easy to realize. Differential Revision: https://phab.mercurial-scm.org/D3658
Fri, 25 May 2018 16:14:15 +0530 graft: store user passed date and user information in graftstate
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 16:14:15 +0530] rev 38152
graft: store user passed date and user information in graftstate Right now, `hg help graft` says: The -c/--continue option does not reapply earlier options, except for --force. which should be treated as a bug. A good user experience is that the commands remember the arguments passed initially and preserve them during `hg graft --continue`. This patch starts storing the user and date information in graftstate if user passed it. Upcoming patches will make sure we preserve that information during --continue and them don't allow user to pass any new arguments with --continue. I don't think there is any another `--continue` flag which allows new options to be passed with it. Differential Revision: https://phab.mercurial-scm.org/D3657
Fri, 25 May 2018 16:00:37 +0530 graft: use cmdstate.delete() to delete the state file
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 16:00:37 +0530] rev 38151
graft: use cmdstate.delete() to delete the state file Previous patches start using state.cmdstate() class for statefiles. The class has a function delete() to delete the state file. This patch replaces the existing repo.vfs.unlink() with that delete() function. Differential Revision: https://phab.mercurial-scm.org/D3656
Thu, 24 May 2018 23:05:12 -0700 graph: add outputgraph() function, called by ascii() to print
John Stiles <johnstiles@gmail.com> [Thu, 24 May 2018 23:05:12 -0700] rev 38150
graph: add outputgraph() function, called by ascii() to print the graph to the ui. This allows a cleaner entrypoint for extensions to tweak the graph output without needing to rewrite all of ascii(), or needing to manually guess where the graph nodes/edges end and the rev note portion begins. This patch does not affect graph output or behavior in any way. Differential Revision: https://phab.mercurial-scm.org/D3655
Wed, 28 Feb 2018 03:07:48 +0530 graft: add test for reading old graftstate files with new mechanism
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Feb 2018 03:07:48 +0530] rev 38149
graft: add test for reading old graftstate files with new mechanism This tests the reading of old graftstate file using the new logic. The tests shows that if user is in middle of a graft and then updates their mercurial to the version where we have new graftstate format, we can still read the old graft state format files correctly. Differential Revision: https://phab.mercurial-scm.org/D2597
Fri, 25 May 2018 01:53:30 +0530 graft: start using the cmdstate class to read and write data to graftstate
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 01:53:30 +0530] rev 38148
graft: start using the cmdstate class to read and write data to graftstate This patch replaces the logic to read and write data to graftstate file to use the state.cmdstate() class. The previous graftstate format didn't had any version number on top of that, so we have to catch the CorruptedState error and then read the graftstate in case of old state files. This will help us to implement nice additions to graft commands like `--no-commit`, `--abort`, `--stop` flags. Passing on test-graft.t shows that things are working fine. Differential Revision: https://phab.mercurial-scm.org/D3654
Fri, 25 May 2018 01:25:31 +0530 graft: use state.cmdstate() to check whether graftstate exists
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 01:25:31 +0530] rev 38147
graft: use state.cmdstate() to check whether graftstate exists This is a step towards make graft use the new state.cmdstate() class. This patch replaces the ugly try-except with nice if-else conditionals. Differential Revision: https://phab.mercurial-scm.org/D3652
Fri, 25 May 2018 01:15:30 +0530 graft: factor out function to read graft state in separate function
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 01:15:30 +0530] rev 38146
graft: factor out function to read graft state in separate function Fatcoring out the logic in a separate function will help us in adding conditional logic for different versions of graft state files. Differential Revision: https://phab.mercurial-scm.org/D3651
Fri, 25 May 2018 01:46:06 +0530 state: removing remaining instances of opts class variable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 01:46:06 +0530] rev 38145
state: removing remaining instances of opts class variable The cmdstate class used to have a class variable opts which used to be a dict which stored all the data for the state. Recent cleanups removed the use of that variable. There were couple of instances left which are removed by this patch. Differential Revision: https://phab.mercurial-scm.org/D3653
Thu, 24 May 2018 23:26:28 +0900 help: mention pattern syntax of latesttag() template function
Yuya Nishihara <yuya@tcha.org> [Thu, 24 May 2018 23:26:28 +0900] rev 38144
help: mention pattern syntax of latesttag() template function
Wed, 23 May 2018 22:25:00 -0400 py3: replace str.format(x) with `str % x` in githelp
Matt Harbison <matt_harbison@yahoo.com> [Wed, 23 May 2018 22:25:00 -0400] rev 38143
py3: replace str.format(x) with `str % x` in githelp
Wed, 23 May 2018 22:17:04 -0400 githelp: drop the trailing period from single sentence output for consistency
Matt Harbison <matt_harbison@yahoo.com> [Wed, 23 May 2018 22:17:04 -0400] rev 38142
githelp: drop the trailing period from single sentence output for consistency There are several instances of multiple sentence output, which I left alone. That is already nonstandard style, so dropping the period doesn't seem like an improvement.
Wed, 04 Apr 2018 20:37:52 +0900 hgweb: wrap {entries}* of filelog with mappinglist
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:37:52 +0900] rev 38141
hgweb: wrap {entries}* of filelog with mappinglist They were lists of mappings.
Wed, 04 Apr 2018 20:37:03 +0900 hgweb: don't use dict(key=value) to build a mapping dict in filelog
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:37:03 +0900] rev 38140
hgweb: don't use dict(key=value) to build a mapping dict in filelog It wasn't Py3 compatible because mapping keys must be bytes.
Wed, 04 Apr 2018 20:31:16 +0900 hgweb: wrap {diffopts} of annotate by hybriddict()
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:31:16 +0900] rev 38139
hgweb: wrap {diffopts} of annotate by hybriddict() The diffopts here is a plain dict, which should be wrapped by hybriddict.
Wed, 04 Apr 2018 20:29:58 +0900 hgweb: wrap {parents} of {annotate} with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:29:58 +0900] rev 38138
hgweb: wrap {parents} of {annotate} with mappinggenerator It's a generator of at most two mappings, which has to be wrapped.
Wed, 04 Apr 2018 20:28:51 +0900 hgweb: wrap {annotate} with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:28:51 +0900] rev 38137
hgweb: wrap {annotate} with mappinggenerator No bare generator of mappings should be put in a template mapping.
Wed, 04 Apr 2018 20:24:04 +0900 hgweb: wrap {bookmarks} of summary with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:24:04 +0900] rev 38136
hgweb: wrap {bookmarks} of summary with mappinggenerator No bare generator of mappings should be put in a template mapping.
Wed, 04 Apr 2018 20:21:29 +0900 hgweb: wrap {lastchange} of bookmarks with mappinglist
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:21:29 +0900] rev 38135
hgweb: wrap {lastchange} of bookmarks with mappinglist It was an 1-length list of a mapping, can be wrapped with a mappinglist.
Wed, 04 Apr 2018 20:19:51 +0900 hgweb: wrap {entries}* of bookmarks with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:19:51 +0900] rev 38134
hgweb: wrap {entries}* of bookmarks with mappinggenerator They were functions returning a generator of mappings. The laziness is handled by the mappinggenerator class.
Wed, 23 May 2018 03:13:04 +0530 state: raise CorruptedState error isntead of ProgrammingError
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 23 May 2018 03:13:04 +0530] rev 38133
state: raise CorruptedState error isntead of ProgrammingError There are old state files which don't have a version number in top of them and hence we have to read them to check whether they are good or not. ProgrammingError is not apt for this case. Thanks to Yuya for suggesting CorruptedState error. Differential Revision: https://phab.mercurial-scm.org/D3644
Tue, 22 May 2018 11:20:55 -0700 localrepo: add docstring to _makedirstate to make it less likely to be removed
Kyle Lippincott <spectral@google.com> [Tue, 22 May 2018 11:20:55 -0700] rev 38132
localrepo: add docstring to _makedirstate to make it less likely to be removed Differential Revision: https://phab.mercurial-scm.org/D3643
Tue, 15 May 2018 14:35:41 +0200 scmutil: move repair.stripbmrevset as scmutil.bookmarkrevs (API)
David Demelier <markand@malikania.fr> [Tue, 15 May 2018 14:35:41 +0200] rev 38131
scmutil: move repair.stripbmrevset as scmutil.bookmarkrevs (API)
Tue, 22 May 2018 23:48:08 -0400 githelp: cleanup one more abort message
Matt Harbison <matt_harbison@yahoo.com> [Tue, 22 May 2018 23:48:08 -0400] rev 38130
githelp: cleanup one more abort message This makes the string localizable, uses the more standard hint argument, quotes the problem option so it stands out, and kills a stray apostrophe.
Tue, 22 May 2018 20:43:42 +0900 githelp: do not concatenate i18n messages dynamically so they can be collected
Yuya Nishihara <yuya@tcha.org> [Tue, 22 May 2018 20:43:42 +0900] rev 38129
githelp: do not concatenate i18n messages dynamically so they can be collected
Wed, 16 May 2018 14:59:32 -0700 narrow: only wrap dirstate functions once, instead of per-reposetup
Kyle Lippincott <spectral@google.com> [Wed, 16 May 2018 14:59:32 -0700] rev 38128
narrow: only wrap dirstate functions once, instead of per-reposetup chg will call reposetup multiple times, and we would end up double-wrapping (or worse) the dirstate functions; this can cause issues like OSError 'No such file or directory' during rebase operations, when we go to double-delete our narrowspec backup file. Differential Revision: https://phab.mercurial-scm.org/D3559
Tue, 22 May 2018 00:25:18 +0530 state: temporary silence pyflakes warning by removing variable assignment
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 00:25:18 +0530] rev 38127
state: temporary silence pyflakes warning by removing variable assignment The variable 'version' is going to be used in upcoming series where we will be using the version number to read a certain state file. However currently, pyflakes fails because of the variable not being used. Let's remove the assignment temporarily so that buildbots and test-suite is happy until I iterate over remaining part of the series. Differential Revision: https://phab.mercurial-scm.org/D3641
Tue, 22 May 2018 00:22:23 +0530 state: fix usage of an unassigned variable
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 22 May 2018 00:22:23 +0530] rev 38126
state: fix usage of an unassigned variable The variable iv was used in earlier iterations of the patches and was dropped since we made sure 'version' is always int. This usage of 'iv' should have been replaced by 'version' in the original patch only. Differential Revision: https://phab.mercurial-scm.org/D3640
Sun, 20 May 2018 18:53:03 +0530 py3: add b'' prefixes in tests/test-revset2.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 18:53:03 +0530] rev 38125
py3: add b'' prefixes in tests/test-revset2.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3637
Mon, 21 May 2018 23:26:53 +0530 py3: use encoding.strfromlocal() instead of pycompat.sysstr()
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 21 May 2018 23:26:53 +0530] rev 38124
py3: use encoding.strfromlocal() instead of pycompat.sysstr() opts['dateformat'] is provided by the user and can be encoded in local encoding. Thanks to Yuya for catching. Differential Revision: https://phab.mercurial-scm.org/D3642
Sun, 20 May 2018 23:05:18 -0400 tests: stabilize test-patch.t on Windows
Matt Harbison <matt_harbison@yahoo.com> [Sun, 20 May 2018 23:05:18 -0400] rev 38123
tests: stabilize test-patch.t on Windows $PYTHON needs to be quoted when invoking with cmd.exe, because the value expands to c:/Python27/python.exe, which seems to be interpreted as 'c' being a command. We can't just convert to '\', because there are a few places that run $PYTHON directly in MSYS. If unquoted there, it results in c:Python27python.exe being run. I wonder if we should bake the quotes into the environment variable to avoid this. It also wasn't happy with the quoting around exit1.py: c:/Python27/python.exe: can't open file ''$TESTTMP/d/exit1.py'': [Errno 22] Invalid argument
Mon, 21 May 2018 23:04:28 -0400 githelp: lowercase the start of output messages for consistency
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 May 2018 23:04:28 -0400] rev 38122
githelp: lowercase the start of output messages for consistency I left 'Mercurial' as a proper name capitalized.
Mon, 21 May 2018 22:57:05 -0400 githelp: rewrite a Yoda conditional
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 May 2018 22:57:05 -0400] rev 38121
githelp: rewrite a Yoda conditional
Mon, 21 May 2018 22:55:17 -0400 githelp: make several strings localizable
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 May 2018 22:55:17 -0400] rev 38120
githelp: make several strings localizable
Mon, 21 May 2018 22:41:55 -0400 githelp: cleanly abort if the `svn` command is unknown
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 May 2018 22:41:55 -0400] rev 38119
githelp: cleanly abort if the `svn` command is unknown Previously, the warning was lost above the sea of KeyError stacktrace output.
Mon, 21 May 2018 22:32:15 -0400 githelp: fail gracefully in a couple cases where arguments are missing
Matt Harbison <matt_harbison@yahoo.com> [Mon, 21 May 2018 22:32:15 -0400] rev 38118
githelp: fail gracefully in a couple cases where arguments are missing I didn't bother adding tests because the other commands that already handled missing arguments don't test these edge cases. I didn't read over all of the code, rather I scanned for `args` not being checked before indexing.
Wed, 07 Mar 2018 12:00:58 +0100 revlog: isgooddeltainfo takes the whole revinfo object
Paul Morelle <paul.morelle@octobus.net> [Wed, 07 Mar 2018 12:00:58 +0100] rev 38117
revlog: isgooddeltainfo takes the whole revinfo object Future changes will need other information about te revision.
Wed, 07 Mar 2018 12:00:07 +0100 revlog: make variable name 'd' more explicit in _isgooddeltainfo
Paul Morelle <paul.morelle@octobus.net> [Wed, 07 Mar 2018 12:00:07 +0100] rev 38116
revlog: make variable name 'd' more explicit in _isgooddeltainfo d -> deltainfo
Thu, 19 Apr 2018 07:57:06 +0200 debugdeltachain: r.start and r.length can be retrieved outside the loop
Paul Morelle <paul.morelle@octobus.net> [Thu, 19 Apr 2018 07:57:06 +0200] rev 38115
debugdeltachain: r.start and r.length can be retrieved outside the loop
Fri, 04 May 2018 15:00:55 +0200 revlog: in _getcandidaterevs, shorten revlog._generaldelta to gdelta
Paul Morelle <paul.morelle@octobus.net> [Fri, 04 May 2018 15:00:55 +0200] rev 38114
revlog: in _getcandidaterevs, shorten revlog._generaldelta to gdelta
Sat, 19 May 2018 14:24:36 -0400 pathencode: remove unused variable
Augie Fackler <augie@google.com> [Sat, 19 May 2018 14:24:36 -0400] rev 38113
pathencode: remove unused variable Caught by Yuya during review of 92ac9cf78dba. Differential Revision: https://phab.mercurial-scm.org/D3618
Sun, 20 May 2018 18:41:24 +0530 py3: add r'' prefixes to fix kwargs handling in hgext/sparse.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 18:41:24 +0530] rev 38112
py3: add r'' prefixes to fix kwargs handling in hgext/sparse.py This fixes two of sparse tests which were failing on Python 3. # skip-blame because just r'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3634
Sun, 20 May 2018 17:39:09 +0530 py3: use bytes in tests/printenv.py
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 17:39:09 +0530] rev 38111
py3: use bytes in tests/printenv.py This patch add b'' prefixes and adds some .encode() calls to convert str to bytes on Python 3. Differential Revision: https://phab.mercurial-scm.org/D3633
Sun, 20 May 2018 17:37:07 +0530 py3: use stringutil.pprint() to prevent b'' prefixes in output
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 17:37:07 +0530] rev 38110
py3: use stringutil.pprint() to prevent b'' prefixes in output This patch uses stringutil.pprint to print a list with bytes in it to prevent the b'' prefixes in the output. Differential Revision: https://phab.mercurial-scm.org/D3632
Sun, 20 May 2018 17:35:57 +0530 py3: use pycompat.fsencode to convert path to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 17:35:57 +0530] rev 38109
py3: use pycompat.fsencode to convert path to bytes Differential Revision: https://phab.mercurial-scm.org/D3631
Sun, 20 May 2018 17:34:53 +0530 py3: add b'' prefixes in tests/test-ssh.t and tests/test-ssh-bundle1.t
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 17:34:53 +0530] rev 38108
py3: add b'' prefixes in tests/test-ssh.t and tests/test-ssh-bundle1.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3630
Sun, 20 May 2018 17:33:18 +0530 py3: add b'' prefixes in contrib/hg-ssh
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 17:33:18 +0530] rev 38107
py3: add b'' prefixes in contrib/hg-ssh # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3629
Fri, 18 May 2018 16:28:45 +0530 state: write the version number in plain text on top of state files
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 18 May 2018 16:28:45 +0530] rev 38106
state: write the version number in plain text on top of state files We will soon be using CBOR format to write the data in state files. But we should not write the version number of the state files in CBOR format and we should rather write it in plain text because in future we can change the format of state files and we should be able to parse the version number of state file without requiring to understand a certain format. This will help us in making sure we have a good compatibility story with other versions of state files. Differential Revision: https://phab.mercurial-scm.org/D3579
Fri, 18 May 2018 16:34:19 +0530 state: set canonical=True to write deterministically
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 18 May 2018 16:34:19 +0530] rev 38105
state: set canonical=True to write deterministically Passing canonical=True to cbor.dump() will help in writing the data deterministically. This will sort all the sets and dicts before writing to the file. Thanks indygreg for recommending to use it. Differential Revision: https://phab.mercurial-scm.org/D3578
Wed, 28 Mar 2018 16:31:16 +0530 state: don't have a dict like interface for cmdstate class
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 28 Mar 2018 16:31:16 +0530] rev 38104
state: don't have a dict like interface for cmdstate class This patch changes the cmdstate class to stop having a dict like interface and delete the __nonzero__ function. After this patch, the save fuction takes a dict to store the data and read function returns a dict of the data stored. Differential Revision: https://phab.mercurial-scm.org/D3572
Wed, 21 Feb 2018 17:20:22 +0530 state: import the file to write state files from evolve extension
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 21 Feb 2018 17:20:22 +0530] rev 38103
state: import the file to write state files from evolve extension The current way of writing state files is very obscure with each state file having it's own format to store state files. There is no centralized way to write state files in a good format. Moreover the current state files are not extensible, you cannot add more data to store in state files in reliable ways. To solve the problem, I wrote my own serialization and deserialization format, looked into existing formats like Protobuf, MessagePack, JSON but CBOR looks very promising and is suggested by people in the community. The current interface to store state files is to directly write data in files when things abort. Using the class imported by this commit, we can create objects which has a dict like interface and can store data on the object and store it on the file when things abort. The evolve extension is using the state file for `evolve`, `grab` commands and using it for resolution of orphaness, phase-divergence and content-divergence. The file is moved from changeset e4ac2e2c2086f977afa35e23a62f849e9305a225 of the evolve extension which is also tagged as 7.3.0. The following changes are made to the file while moving to core: * import util from current directory as this file in mercurial/ now * make cmdstate class extend object * removed mutable default value for opts in cmdstate.__init__ * some doc changes to replace out of core things with in-core ones evolve extension can be found at https://bitbucket.org/marmoute/mutable-history Differential Revision: https://phab.mercurial-scm.org/D2591
Mon, 14 May 2018 13:05:14 +0200 revlog: suggest other parent when a parent was refused for a delta (issue5481)
Paul Morelle <paul.morelle@octobus.net> [Mon, 14 May 2018 13:05:14 +0200] rev 38102
revlog: suggest other parent when a parent was refused for a delta (issue5481) Without aggressivemergedeltas, ensure that when we decline the closest parent (by revision number), the other parent is examined too.
Mon, 14 May 2018 22:02:44 -0400 status: add default of --terse=u to tweakdefaults (BC)
Augie Fackler <augie@google.com> [Mon, 14 May 2018 22:02:44 -0400] rev 38101
status: add default of --terse=u to tweakdefaults (BC) This is in line with both Git and Subversion, and strikes me as a more humane behavior. Test output changes are expected once you read test-status.t, and I feel like we've still got adequate coverage on things. Differential Revision: https://phab.mercurial-scm.org/D3628
Mon, 14 May 2018 22:01:27 -0400 status: add a config knob for setting default of --terse
Augie Fackler <augie@google.com> [Mon, 14 May 2018 22:01:27 -0400] rev 38100
status: add a config knob for setting default of --terse I want --terse=u basically 100% of the time, but there's not a good way to do that before this patch. I'm very unhappy with how the default value for --terse looks rigt now, but it does *work*. The alternative would be to define an "optional string" flag type using fancyopts.customopt and then use that, leaving the default as None. Does anyone have a strong preference for that, or a better idea? Differential Revision: https://phab.mercurial-scm.org/D3627
Sat, 19 May 2018 16:50:30 -0400 tests: port inline extensions in test-obsolete.t to Python 3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:50:30 -0400] rev 38099
tests: port inline extensions in test-obsolete.t to Python 3 Still some lingering failure in here, but it's much better. Differential Revision: https://phab.mercurial-scm.org/D3626
Sat, 19 May 2018 16:22:15 -0400 py3: consolidate down some (case ...) entries
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:22:15 -0400] rev 38098
py3: consolidate down some (case ...) entries Differential Revision: https://phab.mercurial-scm.org/D3625
Sat, 19 May 2018 16:21:53 -0400 py3: re-sort test whitelist
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:21:53 -0400] rev 38097
py3: re-sort test whitelist Differential Revision: https://phab.mercurial-scm.org/D3624
Sat, 19 May 2018 16:02:39 -0400 tests: fix test-subrepo-paths.t on Python 3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 16:02:39 -0400] rev 38096
tests: fix test-subrepo-paths.t on Python 3 The Python 3 group reference error message is a little more helpful, so we'll allow the extra output. I tried matching this with an (re) line, but decided it wasn't worth the effort. Differential Revision: https://phab.mercurial-scm.org/D3623
Sat, 19 May 2018 15:53:31 -0400 tests: fix test-parseindex2 on Python 3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:53:31 -0400] rev 38095
tests: fix test-parseindex2 on Python 3 parsers.versionerrortext is a sysstr, but it's only ever used in this test on the Python side, so I'm okay to just handle it like this. Differential Revision: https://phab.mercurial-scm.org/D3622
Sat, 19 May 2018 15:47:32 -0400 tests: use [(] instead of \( to avoid warning on py3
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:47:32 -0400] rev 38094
tests: use [(] instead of \( to avoid warning on py3 From a recent test run of mine: run-tests.py:1633: DeprecationWarning: invalid escape sequence '\(' This lets us encode the expectation without the badness. Differential Revision: https://phab.mercurial-scm.org/D3621
Sat, 19 May 2018 15:15:51 -0400 tests: fix test-patch.t on pickier /bin/sh implementations
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:15:51 -0400] rev 38093
tests: fix test-patch.t on pickier /bin/sh implementations FreeBSD sh(1) doesn't accept -d, so we weren't testing what we expected there. Let's just use a simple Python script instead. Differential Revision: https://phab.mercurial-scm.org/D3620
Sat, 19 May 2018 15:14:56 -0400 patch: add debug message to show external patch tool invocation
Augie Fackler <augie@google.com> [Sat, 19 May 2018 15:14:56 -0400] rev 38092
patch: add debug message to show external patch tool invocation Differential Revision: https://phab.mercurial-scm.org/D3619
Sat, 19 May 2018 20:04:54 +0530 py3: add 13 new passing tests to whitelist
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 20:04:54 +0530] rev 38091
py3: add 13 new passing tests to whitelist Differential Revision: https://phab.mercurial-scm.org/D3615
Sat, 19 May 2018 18:59:21 +0530 py3: check for None before comparing with integers
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:59:21 +0530] rev 38090
py3: check for None before comparing with integers Comparing None and integers on Python 3 is not allowed and raise error. Differential Revision: https://phab.mercurial-scm.org/D3614
Sat, 19 May 2018 18:58:35 +0530 py3: use `except error as e` instead of `except error, e`
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:58:35 +0530] rev 38089
py3: use `except error as e` instead of `except error, e` The latter throws SyntaxError on Python 3. Differential Revision: https://phab.mercurial-scm.org/D3613
Sat, 19 May 2018 18:56:00 +0530 py3: use pycompat.fsencode() to convert tempfile name to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:56:00 +0530] rev 38088
py3: use pycompat.fsencode() to convert tempfile name to bytes Differential Revision: https://phab.mercurial-scm.org/D3612
Sat, 19 May 2018 18:55:30 +0530 py3: add b'' prefixes in tests/test-parseindex.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:55:30 +0530] rev 38087
py3: add b'' prefixes in tests/test-parseindex.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3611
Sat, 19 May 2018 18:52:56 +0530 py3: fix .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:52:56 +0530] rev 38086
py3: fix .write() calls in few tests This patch adds b'' prefixes to make sure we write bytes and add `and None` in the end to suppress the output by .write() calls. Differential Revision: https://phab.mercurial-scm.org/D3610
Sat, 19 May 2018 18:51:14 +0530 py3: bytestr() bytes to get bytechar while iterating on it
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:51:14 +0530] rev 38085
py3: bytestr() bytes to get bytechar while iterating on it Iterating on bytes give you ascii values instead of bytechr so we need to wrap the bytes in pycompat.bytestr() to get bytechr while iterating. Differential Revision: https://phab.mercurial-scm.org/D3609
Sat, 19 May 2018 18:49:07 +0530 py3: slice over bytes to prevent getting the ascii values
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:49:07 +0530] rev 38084
py3: slice over bytes to prevent getting the ascii values Differential Revision: https://phab.mercurial-scm.org/D3608
Sat, 19 May 2018 18:48:26 +0530 py3: use utils.stringutil.forcebytestr to convert error to bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:48:26 +0530] rev 38083
py3: use utils.stringutil.forcebytestr to convert error to bytes Differential Revision: https://phab.mercurial-scm.org/D3607
Sat, 19 May 2018 18:47:20 +0530 py3: make sure we open files in bytes mode
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:47:20 +0530] rev 38082
py3: make sure we open files in bytes mode we internally deal with bytes and should read files in bytes mode. Differential Revision: https://phab.mercurial-scm.org/D3606
Sat, 19 May 2018 18:45:53 +0530 py3: add b'' prefix in test/test-fileset.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:45:53 +0530] rev 38081
py3: add b'' prefix in test/test-fileset.t # skip-blame because just a b'' prefix Differential Revision: https://phab.mercurial-scm.org/D3605
Sat, 19 May 2018 18:43:13 +0530 py3: suppress the output from .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:43:13 +0530] rev 38080
py3: suppress the output from .write() calls in few tests Differential Revision: https://phab.mercurial-scm.org/D3604
Sat, 19 May 2018 18:42:18 +0530 py3: use print as a function in tests/test-parseindex.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:42:18 +0530] rev 38079
py3: use print as a function in tests/test-parseindex.t Differential Revision: https://phab.mercurial-scm.org/D3603
Sat, 19 May 2018 18:41:02 +0530 py3: use print as a function in tests/test-pull.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:41:02 +0530] rev 38078
py3: use print as a function in tests/test-pull.t Differential Revision: https://phab.mercurial-scm.org/D3602
Sat, 19 May 2018 18:33:36 +0530 py3: add b'' prefixes in tests/test-rebuildstate.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:33:36 +0530] rev 38077
py3: add b'' prefixes in tests/test-rebuildstate.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3601
Sat, 19 May 2018 18:32:57 +0530 py3: add b'' prefixes in tests/test-progress.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:32:57 +0530] rev 38076
py3: add b'' prefixes in tests/test-progress.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3600
Sat, 19 May 2018 18:32:24 +0530 py3: add b'' prefixes in tests/test-profile.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:32:24 +0530] rev 38075
py3: add b'' prefixes in tests/test-profile.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3599
Sat, 19 May 2018 18:31:15 +0530 py3: add b'' prefixes in tests/test-pager.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:31:15 +0530] rev 38074
py3: add b'' prefixes in tests/test-pager.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3598
Sat, 19 May 2018 18:30:20 +0530 py3: add b'' prefixes in tests/test-hgrc.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:30:20 +0530] rev 38073
py3: add b'' prefixes in tests/test-hgrc.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3597
Sat, 19 May 2018 18:28:52 +0530 py3: add b'' prefixes in tests/test-extensions-afterloaded.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:28:52 +0530] rev 38072
py3: add b'' prefixes in tests/test-extensions-afterloaded.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3596
Sat, 19 May 2018 18:27:57 +0530 py3: add b'' prefixes in tests/test-custom-filters.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:27:57 +0530] rev 38071
py3: add b'' prefixes in tests/test-custom-filters.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3595
Sat, 19 May 2018 18:26:38 +0530 py3: add b'' prefixes in tests/test-bugzilla.t
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 19 May 2018 18:26:38 +0530] rev 38070
py3: add b'' prefixes in tests/test-bugzilla.t # skip-blame because just b'' prefixes Differential Revision: https://phab.mercurial-scm.org/D3594
(0) -30000 -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 tip