Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 May 2018 10:38:36 -0700] rev 38007
packaging: move mercurial.spec to contrib/packaging/
Differential Revision: https://phab.mercurial-scm.org/D3545
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 May 2018 10:31:34 -0700] rev 38006
packaging: move builddeb into contrib/packaging/
Differential Revision: https://phab.mercurial-scm.org/D3544
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 May 2018 10:28:00 -0700] rev 38005
packaging: move packagelib.sh into contrib/packaging/
This required some minor path adjustments in scripts referencing
this path.
Differential Revision: https://phab.mercurial-scm.org/D3543
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 May 2018 10:33:11 -0700] rev 38004
packaging: move some docker scripts into contrib/packaging/
This required some minor path adjustments in the scripts.
Differential Revision: https://phab.mercurial-scm.org/D3542
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 May 2018 13:17:01 -0700] rev 38003
packaging: move most of contrib/docker to contrib/packaging/docker
contrib/ is kind of a dumping ground for all kinds of random things.
Many of the files in contrib/ are related to packaging. But sorting
out how everything is related is a lot of effort since it is all
mixed together.
This commit starts the process of refactoring everything related
to packaging so it all lives under one roof.
Most content from contrib/docker is simply moved to
contrib/packaging/docker and all references are updated.
Differential Revision: https://phab.mercurial-scm.org/D3541
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 May 2018 12:12:12 -0700] rev 38002
setup: reformat options argument
This makes things a bit more easier to manage IMO.
Differential Revision: https://phab.mercurial-scm.org/D3540
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 12 May 2018 10:53:53 -0700] rev 38001
contrib: remove fixpax.py
This was used as part of bdist_mpkg. And we stopped using bdist_mpkg
after
db5084d27df5.
Differential Revision: https://phab.mercurial-scm.org/D3539
Yuya Nishihara <yuya@tcha.org> [Tue, 15 May 2018 22:12:55 +0900] rev 38000
push: continue without locking on lock failure other than EEXIST (
issue5882)
This code was added by
3f5e75c22585 "push: make locking of source optional
(
issue3684)", but EACCES isn't the only error that could be triggered by
filesystem permission. I think catching LockUnavailable is more appropriate
than testing errno value by caller.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 May 2018 23:28:02 -0700] rev 37999
revlog: handle errors from index_node() in nt_insert() and index_slice_del()
Same idea as in
a9d9802d577e (revlog: don't say "not found" on
internal error, 2018-05-04).
Differential Revision: https://phab.mercurial-scm.org/D3558
David Demelier <markand@malikania.fr> [Mon, 14 May 2018 13:11:04 +0200] rev 37998
help: add new deprecated topic
Add a deprecated topic which lists most of the commands and options that are not
recommended anymore.
Matt Harbison <matt_harbison@yahoo.com> [Mon, 14 May 2018 23:00:30 -0400] rev 37997
phabricator: split auth.url into the standard auth.schemes and auth.prefix
It seems better to reuse the existing function to find the proper [auth] block,
even if not all of the possible settings may be of interest.
The other callers of readauthforuri() make a trip through the password database
to fetch the user from the URI. But in the little experimenting I did here, the
username always came back as None. Since readauthforuri() wants it to make sure
that user@prefix matches user@url, it seems that parsing the URL and pulling out
the user component should be equivalent.
Matt Harbison <matt_harbison@yahoo.com> [Sat, 12 May 2018 00:34:01 -0400] rev 37996
phabricator: migrate [phabricator.auth] to [auth]
This resurrects the warning mechanism removed in
20a4543e9a2b. I'm not worried
about the copy/paste of the code for a brief transitional period.
Yuya Nishihara <yuya@tcha.org> [Sat, 12 May 2018 15:33:09 +0900] rev 37995
dispatch: unify handling of None returned by a command function
A command function may return None in place of 0 just for convenience, but
dispatch() doesn't need to inherit that property. This patch makes it be
friendly to callers.
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 11 May 2018 21:23:48 -0700] rev 37994
dispatch: minor code refactor
This hopefully makes things slightly easier to read.
Differential Revision: https://phab.mercurial-scm.org/D3537
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 21:17:55 +0900] rev 37993
hgweb: drop unused argument 'tmpl' from webutil.compare()
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 21:17:10 +0900] rev 37992
hgweb: convert {comparison} to a mappinggenerator with named template
No bare generator.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 21:14:30 +0900] rev 37991
hgweb: rename 'context' argument of webutil.compare() to avoid name conflicts
The meaning of 'context' depends on context. Here it is the number of the
context lines in unified diff.
Yuya Nishihara <yuya@tcha.org> [Wed, 04 Apr 2018 00:08:10 +0900] rev 37990
hgweb: convert comparison {lines} to a mappinggenerator with named template
Bare generator can't be restarted.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:57:00 +0900] rev 37989
hgweb: move getblock() closure out of compare()
(Please use 'hg diff -w' to get readable diff from this patch.)
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:54:08 +0900] rev 37988
hgweb: move compline() closure out of compare()
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:50:00 +0900] rev 37987
hgweb: convert {diff} to a mappinggenerator with named template
No more bare generator. Fortunately, this one is associated with a single
template, so it can be a mappinggenerator.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:43:41 +0900] rev 37986
hgweb: use template context to render {lines} of {diff}
This is a preferred way to process nested templates.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:42:15 +0900] rev 37985
hgweb: wrap {lines} of {diff} with mappedgenerator
This can't be a mappinggenerator as it switches the templates conditionally.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:38:19 +0900] rev 37984
hgweb: move prettyprintlines() closure out of diffs()
This will be wrapped with mappedgenerator.
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 22:27:05 +0530] rev 37983
remotenames: enable the storage config option if extension is enabled
Before this patch, the config option to store remotenames was set to False by
default and remotenames extension does not set it True. So if you enable
remotenames extension without setting 'experimental.remotenames=True', you won't
get the remotenames.
This patch makes remotenames enable the config option if then extension is
enabled which makes sense.
Differential Revision: https://phab.mercurial-scm.org/D3520
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 22:42:54 +0530] rev 37982
tests: clone the repo over ssh in tests/test-logexchange.t
Cloning a local repo in tests, and normally too does not perform the actual
clone, rather it copies the file contents. This makes remotenames information
not being transferred. Let's clone over ssh so that we can test remotenames
correctly.
Differential Revision: https://phab.mercurial-scm.org/D3519
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 29 Apr 2018 22:39:45 +0530] rev 37981
remotenames: check the remotepath with url containing user information too
Current logic to match a remotepatch to a user defined path first removes the
authentication information from the url and then tries to match it. However this
is not true every time. If we clone a repo using ssh, the default path contains
the user information too.
Differential Revision: https://phab.mercurial-scm.org/D3518
Julien Cristau <jcristau@debian.org> [Sat, 12 May 2018 22:29:28 +0200] rev 37980
bdiff: fix yet more fallout from xdiff long/int64 conversion (
issue5885)
"l" in Py_BuildValue's format string means long, so passing int64_t
instead results in fireworks on 32bit architectures.
Differential Revision: https://phab.mercurial-scm.org/D3538
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 May 2018 09:16:26 -0700] rev 37979
shortest: avoid magic number "41"
As suggested by Yuya. Feel free to fold into D3502.
Differential Revision: https://phab.mercurial-scm.org/D3531
Martin von Zweigbergk <martinvonz@google.com> [Fri, 11 May 2018 07:31:51 -0700] rev 37978
revlog: handle error from node lookup
I missed this in D3499. Thanks to Yuya for spotting it.
Differential Revision: https://phab.mercurial-scm.org/D3530
Matt Harbison <matt_harbison@yahoo.com> [Fri, 11 May 2018 22:07:43 -0400] rev 37977
debugextensions: process extensions loaded from the local repository too
Matt Harbison <matt_harbison@yahoo.com> [Thu, 10 May 2018 22:13:13 -0400] rev 37976
phabricator: drop support for the deprecated `phabricator.token` config
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 18:22:02 +0900] rev 37975
help: load module doc of disabled extension in extensions.disabledcmd()
This helps rewriting _finddisablecmd() to not load the module.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 18:15:43 +0900] rev 37974
extensions: extract closure that looks for commands from disabled module
I'll rewrite this function to not load disabled extensions.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 18:13:43 +0900] rev 37973
extensions: drop dead code trying to exclude deprecated disabled commands
Here 'ext' is a tuple, which means ext.__doc__ describes about the Python
tuple type. Fixing this would break 'hg help glog', which currently shows
some nice explanation, so this patch just removes the dead code.
$ hg help glog
'glog' is provided by the following extension:
graphlog command to view revision graphs from a shell (DEPRECATED)
(use 'hg help extensions' for information on enabling extensions)
Yuya Nishihara <yuya@tcha.org> [Fri, 11 May 2018 21:53:26 +0900] rev 37972
util: drop remainder of dateutil/procutil aliases (API)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 03 May 2018 15:57:12 -0700] rev 37971
shortest: move revnum-disambiguation out of revlog
I want to be able to change how we disambiguate and I think having
revlog.shortest() worry only about finding a prefix that's unambiguous
among nodeids makes more sense.
This slows down `hg log -T '{shortest(node,1)}\n'` from 4.0s to 4.1s.
Differential Revision: https://phab.mercurial-scm.org/D3502
Martin von Zweigbergk <martinvonz@google.com> [Thu, 03 May 2018 15:25:16 -0700] rev 37970
shortest: remove unnecessary check for revnum in isvalid()
We now always disambiguating against revnums after we've found an
otherwise valid prefix, so we can safely remove the early isrev()
check in isvalid().
Differential Revision: https://phab.mercurial-scm.org/D3501
Martin von Zweigbergk <martinvonz@google.com> [Thu, 03 May 2018 15:01:33 -0700] rev 37969
shortest: make pure code also disambigute against revnums at end
This makes the pure code more similar to the native code in that it
first finds a prefix that's unambiguous among nodeids and then adds
hex digits until it no longer looks like a revnum. It will allow us to
even better separate the disambiguation with revnums in a later patch.
With this patch `hg log -r 0::50 -T '{shortest(node,1)}'` with no
native code goes from 25s to 43s. It wasn't exactly usable to begin
with, so I don't feel too bad about it.
Differential Revision: https://phab.mercurial-scm.org/D3500
Martin von Zweigbergk <martinvonz@google.com> [Wed, 02 May 2018 23:17:58 -0700] rev 37968
revlog: use node tree (native code) for shortest() calculation
I want to rewrite revlog.shortest() to disambiguate only among hex
nodeids and then disambiguate the result with revnums at a higher
level (in scmutil). However, that would slow down `hg log -T
'{shortest(node,1)}\n'` from 5.0s to 6.8s, which I wasn't sure would
be acceptable. So this patch makes revlog.shortest() use the node tree
for finding the length of the shortest prefix that's unambiguous among
nodeids. Once that has been found, it makes it longer until it is also
not ambiguous with a revnum.
This speeds up `hg log -T '{shortest(node,1)}\n'` from 5.0s to 4.0s.
Differential Revision: https://phab.mercurial-scm.org/D3499
Martin von Zweigbergk <martinvonz@google.com> [Mon, 07 May 2018 16:49:31 -0700] rev 37967
shelve: reduce scope of merge tool config override
The config override seems to have a much greater scope than it needed
to. I *think* it's only relevant in the while merging files. The
rebase step also cares about the merge tool, but we seem to be
explicitly passing it to rebase (around line 755).
Differential Revision: https://phab.mercurial-scm.org/D3517
Matt Harbison <matt_harbison@yahoo.com> [Thu, 10 May 2018 21:43:32 -0400] rev 37966
util: drop _deprecatedfunc()
It was only needed for the previously removed forwarding.
Matt Harbison <matt_harbison@yahoo.com> [Thu, 10 May 2018 21:41:19 -0400] rev 37965
util: drop deprecated forwarding to procutil (API)
Matt Harbison <matt_harbison@yahoo.com> [Fri, 11 May 2018 00:58:51 -0400] rev 37964
tests: migrate demandimport.py away from deprecated `util` module symbols
Matt Harbison <matt_harbison@yahoo.com> [Thu, 10 May 2018 22:00:41 -0400] rev 37963
templatekw: drop deprecated showlist() and showdict() (API)
Matt Harbison <matt_harbison@yahoo.com> [Thu, 10 May 2018 21:37:23 -0400] rev 37962
util: drop deprecated forwarding to dateutil (API)
Matt Harbison <matt_harbison@yahoo.com> [Thu, 10 May 2018 21:34:40 -0400] rev 37961
util: drop deprecated forwarding to stringutil (API)
Augie Fackler <augie@google.com> [Fri, 11 May 2018 00:55:01 -0400] rev 37960
scmutil: remove deprecated revpairnodes method (API)
Augie Fackler <augie@google.com> [Fri, 11 May 2018 00:54:37 -0400] rev 37959
merge: drop support for using updateresults as tuples (API)
Augie Fackler <augie@google.com> [Fri, 11 May 2018 00:54:12 -0400] rev 37958
cmdutil: drop deprecated log helper methods (API)
Matt Harbison <matt_harbison@yahoo.com> [Thu, 10 May 2018 21:53:48 -0400] rev 37957
cmdutil: drop deprecated precursor of registrar.command (API)
Augie Fackler <augie@google.com> [Fri, 11 May 2018 00:53:29 -0400] rev 37956
cmdutil: remove deprecated _revertprefetch code (API)
Augie Fackler <augie@google.com> [Fri, 11 May 2018 00:50:21 -0400] rev 37955
tests: fix deprecation warning in test-url.py
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:34:55 +0900] rev 37954
hgweb: remove unused argument 'tmpl' from listfilediffs()
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:33:54 +0900] rev 37953
hgweb: use template context to render {files} of changelist entries
This is a preferred way to process nested templates.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:32:16 +0900] rev 37952
hgweb: wrap {files} of changelist entries with mappedgenerator
This also switches the associated templates conditionally, which can't be
a mappinggenerator.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:31:11 +0900] rev 37951
hgweb: use template context to render {files} of changesetentry()
This is a preferred way to process nested templates.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:29:11 +0900] rev 37950
hgweb: wrap {files} of changesetentry() with mappedgenerator
This can't be easily adapted to mappinggenerator because the associated
templates are switched per item.
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 23:25:32 +0900] rev 37949
hgweb: extract generator of {files} from changesetentry()
This will be wrapped with mappedgenerator.
Yuya Nishihara <yuya@tcha.org> [Sat, 16 Jan 2016 19:23:53 +0900] rev 37948
templatefilters: document the json filter
I don't know the exact reason why it was undocumented, but that would be
because unicode is difficult for humans. Since the json filter can now get
localstr back to UTF-8 as long as it is unprocessed (i.e. {desc|json} works,
but {desc|firstline|json} doesn't), it seems good enough to advertise the
json filter.