Pulkit Goyal <7895pulkit@gmail.com> [Sun, 03 Jun 2018 17:02:38 +0530] rev 38233
configitems: drop the deprecated alias for commands.update.check
experimental.updatecheck was deprecated and should have been removed once 4.4
was released. Let's drop it now.
Differential Revision: https://phab.mercurial-scm.org/D3679
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 02 Jun 2018 15:55:28 +0530] rev 38232
graft: correct documentation about options can be reapplied
Now options --user and --date can be reapplied after we hit a conflict.
Differential Revision: https://phab.mercurial-scm.org/D3678
Matt Harbison <matt_harbison@yahoo.com> [Sat, 02 Jun 2018 22:18:12 -0400] rev 38231
cmdutil: use internal separators when building the terse list
Status uses internal separators, so this is more correct. See c974320d20b9 and
362096cfdb1f. A utility method is still needed, so that the paths starting with
'/' aren't created when `self.path` is empty.
Sushil khanchi <sushilkhanchi97@gmail.com> [Wed, 30 May 2018 14:20:09 +0530] rev 38230
advanceboundary: add dryrun parameter
Added logic to find those csets whose phase will be changed (when
running without --dryrun) while advancing boundary and return those csets.
Differential Revision: https://phab.mercurial-scm.org/D3671
Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> [Wed, 30 May 2018 17:37:17 +0530] rev 38229
grep: enable passing wdir as a revision
When you pass wdir() to the -r flag, it catches the WdirUnsupported error
and falls back to an alternate path.
Differential Revision: https://phab.mercurial-scm.org/D3673
Matt Harbison <matt_harbison@yahoo.com> [Fri, 01 Jun 2018 23:33:17 -0400] rev 38228
outgoing: drop an extraneous URL parse
This was left over from dfb888aae17a. 'branches' wasn't used, and the only
thing parseurl() would do is slice any branch fragment off 'dest'. But path.loc
and path.pushloc already have the fragment removed.
David Demelier <markand@malikania.fr> [Mon, 14 May 2018 12:38:05 +0200] rev 38227
config: rename allow_archive to allow-archive
As part of ConfigConsolidationPlan [1], rename the option according to
the new UI guidelines [2] and add an alias for backward compatibility.
[1]: https://www.mercurial-scm.org/wiki/ConfigConsolidationPlan
[2]: https://www.mercurial-scm.org/wiki/UIGuideline#adding_new_options
Yuya Nishihara <yuya@tcha.org> [Sat, 21 Apr 2018 17:31:03 +0900] rev 38226
hgweb: fill {rename} even if ?linerange is specified
Otherwise, {rename % ...} would fail.
Hopefully this is the last hgweb patch so I can start fixing templater
stuff.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:53:16 +0900] rev 38225
hgweb: wrap {earlycommands} and {othercommands} of help with mappinggenerator
They were generators of mappings.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:51:49 +0900] rev 38224
hgweb: wrap {topics}es of help with mappinggenerator or mappinglist
The former 'topics' was a generator function, and the latter was a list of
mappings.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:48:37 +0900] rev 38223
hgweb: wrap {edges} of {nodes} of graph with mappinglist
This was a list of mappings.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:48:00 +0900] rev 38222
hgweb: wrap {nodes} of graph with mappinggenerator
It was a generator of mappings, which shouldn't be put in template mappings.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:46:12 +0900] rev 38221
hgweb: adapt {jsdata} of graph to mappinggenerator
The laziness is handled by the mappinggenerator class.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 20:44:18 +0900] rev 38220
hgweb: wrap {nextentry} of graph with mappinglist
It's a 0/1-length list of a mapping.
Yuya Nishihara <yuya@tcha.org> [Fri, 01 Jun 2018 23:02:36 +0900] rev 38219
setup: write version constant as bytes literal
Spotted while bulk-rewriting string literals to b''s.
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:53:28 +0800] rev 38218
spartan: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:39:35 +0800] rev 38217
monoblue: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:33:49 +0800] rev 38216
gitweb: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 18:01:54 +0800] rev 38215
paper: don't show '[up]' in file view when in root directory already
Anton Shestakov <av6@dwimlabs.net> [Thu, 31 May 2018 16:52:02 +0800] rev 38214
spartan: add missing closing tags
Browsers apparently don't care about this, but let's fix it for humans.
Joerg Sonnenberger <joerg@bec.de> [Fri, 20 Apr 2018 15:21:03 +0200] rev 38213
templatefilters: add commonprefix
The commonprefix filter takes a list of files names like files() and
returns the longest directory name common to all elements.
Differential Revision: https://phab.mercurial-scm.org/D3439
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 20 May 2018 19:07:51 +0530] rev 38212
py3: add 3 new passing tests to whitelist
We ave crossed the 500 mark!
Differential Revision: https://phab.mercurial-scm.org/D3638
Nicola Spanti <nicola.spanti@logilab.fr> [Thu, 24 May 2018 09:56:28 +0000] rev 38211
serve: add option print-url
It can be used to open hgweb in a web browser. Example :
xdg-open "`hg serve --print-url`".
Differential Revision: https://phab.mercurial-scm.org/D3649
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 11:33:02 +0900] rev 38210
revlog: disallow setting uncompressed length to None
Backed out changeset a4942675de6b
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 11:31:51 +0900] rev 38209
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.
Augie Fackler <augie@google.com> [Sun, 29 Apr 2018 19:48:16 -0400] rev 38208
fuzz: add clean target
Differential Revision: https://phab.mercurial-scm.org/D3677
Augie Fackler <augie@google.com> [Mon, 30 Apr 2018 22:02:07 -0400] rev 38207
fuzzutil: make it possible to use absl when C++17 isn't supported
Differential Revision: https://phab.mercurial-scm.org/D3676
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 22:18:50 -0400] rev 38206
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
Augie Fackler <augie@google.com> [Sat, 28 Apr 2018 22:13:33 -0400] rev 38205
tests: update fuzzer tests to include both fuzzers
Differential Revision: https://phab.mercurial-scm.org/D3674
Denis Laxalde <denis.laxalde@logilab.fr> [Thu, 24 May 2018 12:19:50 +0200] rev 38204
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.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 28 May 2018 01:36:34 -0400] rev 38203
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.
Paul Morelle <paul.morelle@octobus.net> [Sat, 21 Apr 2018 17:27:57 +0200] rev 38202
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.
Paul Morelle <paul.morelle@octobus.net> [Wed, 07 Mar 2018 11:10:22 +0100] rev 38201
revlog: make getcandidaterevs more consistent about updating tested revs set
Like in previous cases, update the set of tested revisions after yielding
Martin von Zweigbergk <martinvonz@google.com> [Mon, 26 Mar 2018 10:49:01 -0700] rev 38200
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
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 12:38:07 +0900] rev 38199
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.
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 12:20:36 +0900] rev 38198
py3: wrap tempfile.mkdtemp() to use bytes path
This also flips the default to use a bytes path on Python 3.
Yuya Nishihara <yuya@tcha.org> [Sat, 26 May 2018 12:14:04 +0900] rev 38197
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.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 18:39:58 +0900] rev 38196
extensions: remove strip_init=True from _disabledpaths()
It's no longer used.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 18:38:02 +0900] rev 38195
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.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 26 Apr 2018 23:00:19 -0400] rev 38194
lfs: clarify pointer validation error messages
It wasn't obvious that LFS was involved from the error messages when `hg verify`
fails.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 22 May 2018 23:22:15 -0400] rev 38193
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.
hindlemail <tom_hindle@sil.org> [Thu, 24 May 2018 15:56:47 -0600] rev 38192
filemerge: don't pass function name as loadpath's module_name param
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 18:10:37 +0200] rev 38191
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.
Boris Feld <boris.feld@octobus.net> [Tue, 22 May 2018 18:10:00 +0200] rev 38190
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.
Boris Feld <boris.feld@octobus.net> [Mon, 21 May 2018 17:33:50 +0200] rev 38189
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)
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 26 May 2018 02:11:09 +0530] rev 38188
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
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 25 May 2018 17:21:01 +0530] rev 38187
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
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 26 May 2018 01:52:42 +0530] rev 38186
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