Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 04:06:24 +0530] rev 28934
tests: make test-trusted use print_function
There was some confusing output format at some places in
test-trusted.py.out, the new print function ends with a newline by
default whereas the old print statement uses a space generally. So the
output in test-trusted.py.out is changed because of some confusing
output format which was produced by print statement
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:38:23 +0530] rev 28933
tests: make test-doctest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:35:27 +0530] rev 28932
tests: make test-hgwebdir-paths use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:22:45 +0530] rev 28931
tests: make test-lrucachedict use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:10:41 +0530] rev 28930
tests: make test-lrucachedict use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:08:16 +0530] rev 28929
tests: make test-manifest use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 03:04:23 +0530] rev 28928
tests: make test-pathencode use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 16 Apr 2016 02:59:36 +0530] rev 28927
tests: make test-simplemerge use absolute_import
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 01:37:29 -0700] rev 28926
crecord: cleanup the remains of commit confirmation
The confirmation screen is now only used for the 'review' option we simplify
the code and rename the function.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Thu, 14 Apr 2016 01:27:18 -0700] rev 28925
crecord: drop the extra confirmation screen
The commit confirmation is not very useful -- it gives no way to view what you
have selected, so you're blindly choosing whether to proceed or not, and it adds
a lot of unnecessary friction to committing. In addition, we now have a working
'review' choice for those who really want to review the final change.
Ryan McElroy initially submitted a config option to make this optional, but we
never saw a V2. However as the freeze is near and curses have never been
officially out of the door, I think it is worth skipping the config and trying
getting it right for this release.
Yuya Nishihara <yuya@tcha.org> [Fri, 15 Apr 2016 20:37:11 +0900] rev 28924
update: resurrect bare update from null parent to tip-most branch head
The situation is tricky if repository has no "default" branch, because "null"
revision belongs to non-existent "default" branch.
Before
e1dd0de26557, bare update from null would bring us to the tip-most
non-closed branch head.
e1dd0de26557 removed the special handling of missing
"default" branch since we wanted to stick to the uncommitted branch in that
case. But, if the parent is "null" revision, and if the missing branch is
"default", it shouldn't be an uncommitted branch. In this case, bare update
should bring us to the tip-most head as before.
This should fix the test breakage introduced by
e1dd0de26557.
timeless <timeless@mozdev.org> [Tue, 12 Apr 2016 14:43:36 +0000] rev 28923
tests: run import-checker with tests .t files
timeless <timeless@mozdev.org> [Tue, 12 Apr 2016 21:43:56 +0000] rev 28922
import-checker: parse python code from .t files
timeless <timeless@mozdev.org> [Wed, 13 Apr 2016 16:34:59 +0000] rev 28921
import-checker: track filenames for SyntaxErrors
timeless <timeless@mozdev.org> [Wed, 13 Apr 2016 16:36:19 +0000] rev 28920
import-checker: track SyntaxErrors
We don't really need to report SyntaxErrors, since in theory
docchecker or a test will catch them, but they happen, and
we can't just have the code crash, so for now, we're reporting
them.
timeless <timeless@mozdev.org> [Mon, 11 Apr 2016 22:34:04 +0000] rev 28919
import-checker: refactor source reading
This will allow .t files to generate multiple sources.
It will also allow .py doctests to generate additional sources.
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 01:06:45 +0530] rev 28918
tests: make test-pathencode use print_function
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 01:03:24 +0530] rev 28917
tests: make test-run-tests use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:58:31 +0530] rev 28916
tests: make test-symlink-os-yes-fs-no use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:56:08 +0530] rev 28915
tests: make test-ui-color use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:53:35 +0530] rev 28914
tests: make test-url use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 14 Apr 2016 00:49:58 +0530] rev 28913
tests: make test-trusted use absolute_import
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Mar 2016 20:31:56 +0900] rev 28912
templater: add parsing and expansion rules to process "templatealias" section
The debugtemplate command is updated to show expanded tree, but still the
template engine doesn't support alias expansion. That's why the test says
"parse error" for now.
Yuya Nishihara <yuya@tcha.org> [Sun, 27 Mar 2016 20:29:03 +0900] rev 28911
templater: add function to parse whole string as template expression
This will be a parser of template aliases, and it can also be used for
processing quoted string templates in map files. That's why this function
isn't defined in the upcoming _aliasrules class.
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 17:27:34 +0900] rev 28910
parser: factor out _trygetfunc() that extracts function name and arguments
This provides a customization point for templater. In templater, there are
two ways to call a unary function: func(x) and x|func. They are processed
differently in templater due to historical reasons, but they should be
handled in the same way while expanding aliases. In short, x|func should be
processed as syntactic sugar for func(x).
_funcnode and _getlist() are replaced by _trygetfunc().
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 17:21:11 +0900] rev 28909
parser: make _getalias() return (alias, pattern-args) pair
This allows us to factor out a function that extracts a function (name, args)
pair. See the next patch for why.
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 16:50:16 +0900] rev 28908
parser: drop redundant comparison between alias declaration tree and pattern
Since _getalias() explicitly tests the type and name of the pattern tree, we
don't need to compare "a.tree == tree" for 'symbol', and "a.tree == tree[:2]"
for 'func', where tree is either ('symbol', name) or ('func', ('symbol', name)).
This change helps implementing better handling of template aliases. See the
subsequent patches for details.
The alias.tree field is removed as it is no longer used.
timeless <timeless@mozdev.org> [Thu, 14 Apr 2016 14:26:37 +0000] rev 28907
patchbomb: fix public-is-missing hint
Without this, there is no space between a hash and the -r preceding the next
line in the use hg push hint
timeless <timeless@mozdev.org> [Thu, 14 Apr 2016 14:36:52 +0000] rev 28906
tests: clarify patchbomb repo is public not remote
timeless <timeless@mozdev.org> [Wed, 13 Apr 2016 13:51:39 +0000] rev 28905
run-tests: set HGMODULEPOLICY for --pure
Without this, my python 2.6 virtualenv test run with --pure and
--local fails with:
+ ImportError: Python minor version mismatch: The Mercurial extension modules were compiled with Python 2.7.8, but Mercurial is currently using Python with sys.hexversion=
33950192: Python 2.6.9 (unknown, Apr 13 2016, 12:40:12)
+ [GCC 4.9.2
20141101 (Red Hat 4.9.2-1)]
+ at: ~/hg/py26/bin/python
Nathaniel Manista <nathaniel@google.com> [Thu, 14 Apr 2016 15:26:18 -0400] rev 28904
cmdutil: avoid recycling variable name "name" in namespaces code
This just feels like asking for future trouble and confusion.
liscju <piotr.listkiewicz@gmail.com> [Tue, 05 Apr 2016 06:53:33 +0200] rev 28903
update: fix bare update to work on new branch
So far bare update on new branch results in
'abort: branch new-branch not found'. This commit fixes
this by updating to the parent of wctx.
The effect of updating to the parent of wctx is to move to the paren't
branch - this means that it is no longer necessary to prevent you from
updating if you would lose your newly created branch.
liscju <piotr.listkiewicz@gmail.com> [Wed, 13 Apr 2016 09:56:51 +0200] rev 28902
remove: fix --force option help description (
issue5177)
Before this commit --force option help description stated
that file was removed and deleted even if file was added
or modified which is not true. Force option removes added
file only from dirstate, it doesn't delete it from the
filesystem.
Martijn Pieters <mjpieters@fb.com> [Tue, 05 Apr 2016 17:39:59 +0100] rev 28901
logtoprocess: new experimental extension
This extension lets you direct specific ui.log() information to shell
commands, spawned in the background. This can be used to, say, capture
timings, commandfailure tracebacks, etc., making the output available
to other command-line tools.
Mads Kiilerich <madski@unity3d.com> [Wed, 13 Apr 2016 00:16:21 +0200] rev 28900
convert: keep converted hg parents that are outside convert.hg.revs (BC)
Before, when converting revisions without also including their already
converted parents in convert.hg.revs, the parents would no longer be parents.
That seems unfortunate and we dare to assume that nobody ever wants that.
Instead, preserve parents that are outside the current convert range but
already have been converted.
The parents returned in getcommit() are unconditionally converted, so we
introduce a separate optparents with optional parents.
Mads Kiilerich <madski@unity3d.com> [Thu, 24 Mar 2016 16:01:07 -0700] rev 28899
tests: coverage of ancestry with convert in multiple non-overlapping steps
This exposes that parent information is lost in cases where it is possible to
preserve it - and where it thus would make sense if that was what happened.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 22:58:15 +0900] rev 28898
revset: rename findaliases() to expandaliases()
This function returns a full tree of alias expansion applied, which sounds
different from what "findaliases" would do.
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 16:30:59 +0900] rev 28897
parser: add short comment how aliases are expanded in phases
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 16:19:31 +0900] rev 28896
parser: reorder alias expansion routine to return early
I think it improves readability to move trivial cases first, and unindent
blocks.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 22:15:44 +0900] rev 28895
parser: move functions that process alias expansion to rule-set class
They will be commonly used by revset and templater. It isn't easy to understand
how _expand() works, so I'll add comments by a follow-up patch.
The local variable 'alias' is renamed to 'a' to avoid shadowing the global
'alias' class.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 22:10:48 +0900] rev 28894
revset: unindent codes in _getalias() function
We generally do return early if tree isn't a tuple.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 19:24:15 +0900] rev 28893
parser: extract helper that creates a dict of aliases
This will be common between revset and templater.
The local variable 'alias' is renamed to 'a' to avoid shadowing the global
'alias' class.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 18:33:30 +0900] rev 28892
parser: construct alias object by rule-set class
It was odd that the revsetalias did the whole parsing stuff in __init__().
Instead, this patch adds a factory function to the aliasrules class, and
makes the alias (= revsetalias) class a plain-old value object.
santiagopim <santiagopim@gmail.com> [Fri, 08 Apr 2016 16:42:43 +0200] rev 28891
graphmod: shorten graph
Shorten the graph, cutting the all vertical (not oblique) edges rows.
Activate with 'graphshorten = true' in [experimental] section.
Example graph with deactivated option:
$ hg log --graph --template '{rev} {desc|firstline}' --rev 1035:1015
o 1035 Merge with BOS
|\
| o 1034 Fix help output, and a few broken tests.
| |
| o 1033 Merge with MPM.
| |\
| | o 1032 Get patchbomb working with tip again.
| | |
| | o 1031 Rewrite log command. New version is faster and more featureful.
| | |
| | o 1030 Merge with MPM.
| | |\
| | | o 1029 Emacs: implement hg-incoming, hg-outgoing and hg-push.
| | | |
| | | o 1028 Add commands.debugconfig.
| | | |
| | | o 1027 Emacs: fix up hg-log and hg-diff to operate more uniformly.
| | | |
| | | o 1026 Merge with MPM.
| | | |\
| | | | o 1025 Merge with MPM.
| | | | |
| | | | ~
| | | o 1024 Sync buffers prior to doing a diff.
| | | |
| | | ~
o | | 1023 Minor tweak to the revgen algorithm
|/ /
o | 1022 Minor hgwebdir tweaks
| |
o | 1021 Add Makefile to the manifest
| |
o | 1020 Add default make rule
| |
o | 1019 Create helper functions for I/O to files in the working directory
| |
o | 1018 Add some aliases
| |
o | 1017 Fix up help for binary options
|/
o 1016 Teach annotate about binary files
|
o 1015 Add automatic binary file detection to diff and export
|
~
Example graph with activated option:
$ hg log --graph --template '{rev} {desc|firstline}' --rev 1035:1015
o 1035 Merge with BOS
|\
| o 1034 Fix help output, and a few broken tests.
| o 1033 Merge with MPM.
| |\
| | o 1032 Get patchbomb working with tip again.
| | o 1031 Rewrite log command. New version is faster and more featureful.
| | o 1030 Merge with MPM.
| | |\
| | | o 1029 Emacs: implement hg-incoming, hg-outgoing and hg-push.
| | | o 1028 Add commands.debugconfig.
| | | o 1027 Emacs: fix up hg-log and hg-diff to operate more uniformly.
| | | o 1026 Merge with MPM.
| | | |\
| | | | o 1025 Merge with MPM.
| | | | |
| | | | ~
| | | o 1024 Sync buffers prior to doing a diff.
| | | |
| | | ~
o | | 1023 Minor tweak to the revgen algorithm
|/ /
o | 1022 Minor hgwebdir tweaks
o | 1021 Add Makefile to the manifest
o | 1020 Add default make rule
o | 1019 Create helper functions for I/O to files in the working directory
o | 1018 Add some aliases
o | 1017 Fix up help for binary options
|/
o 1016 Teach annotate about binary files
o 1015 Add automatic binary file detection to diff and export
|
~
Jason Gauci <jjg@fb.com> [Mon, 11 Apr 2016 12:06:18 -0700] rev 28890
tests: ensure that 'hg update' is disabled during histedit (
issue3655)
Matt Harbison <matt_harbison@yahoo.com> [Tue, 12 Apr 2016 00:34:02 -0400] rev 28889
test-remove: drop a useless Windows specific conditional
The Windows branch didn't pick up the 'deleting' progress bar addition from
62e73d42bd14. But since the Windows branch already globbed the error message,
let's just drop the other branch.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 23:04:35 -0400] rev 28888
test-blackbox: add missing glob for Windows
The test warns instead of completes without this.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 21:56:01 -0400] rev 28887
test-largefiles: stabilize output for Windows
Systems with unix-permissions have a test above this that adds an additional
head.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 21:47:43 -0400] rev 28886
test-import: fix output on Windows
There's a symlink conditionalized test above this that causes the rev to be 1.
It isn't important to this test, so ignore it.
Matt Harbison <matt_harbison@yahoo.com> [Tue, 15 Mar 2016 21:45:32 -0400] rev 28885
test-install: fix output on Windows
See
1ff28873830e.
timeless <timeless@mozdev.org> [Thu, 07 Apr 2016 00:34:07 +0000] rev 28884
check-code: reject import urllib
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 23:22:12 +0000] rev 28883
pycompat: switch to util.urlreq/util.urlerr for py3 compat
timeless <timeless@mozdev.org> [Thu, 07 Apr 2016 00:05:48 +0000] rev 28882
pycompat: add util.urlerr util.urlreq classes for py3 compat
python3 url.request and url.error are mapped as util.urlreq/util.urlerr
python2 equivalents from urllib/urllib2 are mapped according to the py3
hierarchy
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Mar 2016 16:49:56 -0700] rev 28881
test-progress: disable mocking-time tests on chg
It's hard to make these tests compatible with chg because a mocked time.time()
is recorded and accessed by progbar at random timing. I don't think it's worth
fixing this test as it is considered a unit test of time estimates, so just
ignores on chg.
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Mar 2016 14:55:56 -0700] rev 28880
hghave: add "chg" flag to skip tests that can't be compatible with chg
Several tests fail with chg for several reasons such as loaded chgserver
extension, running uisetup() per server instead of per runcommand, etc.
Since these tests can't/shouldn't be changed to be chg friendly, we need
a flag to skip them.
This patch explicitly drops CHGHG environment if chg isn't involved. This
way, hghave can just check if CHGHG exists.
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 19:09:12 +0000] rev 28879
tests: add new test for #! shebang lines
* use #!/bin/sh not e.g. #!/usr/bin/sh
* use #!/usr/bin/env python not e.g. #!/usr/bin/python
Mads Kiilerich <madski@unity3d.com> [Sun, 27 Mar 2016 13:00:28 -0700] rev 28878
largefiles: introduce push --lfrev to control which revisions are pushed
The default of pushing all largefiles referenced in outgoing revisions is safe,
but also expensive and sometimes not what is needed. We thus introduce a
--lfrev option, similar to what pull already has.
By specifying an empty set of revisions (or null), it is possible to get lazy
(and insecure!) pushes of revisions without referenced largefiles, similar to
how pull works.
Mads Kiilerich <madski@unity3d.com> [Wed, 13 Apr 2016 01:45:45 +0200] rev 28877
largefiles: don't access repo.changelog directly in getlfilestoupload
Make it possible to pass both nodes and revisions to getlfilestoupload.
Mads Kiilerich <madski@unity3d.com> [Wed, 13 Apr 2016 01:09:11 +0200] rev 28876
localrepo: refactor prepushoutgoinghook to take a pushop
prepushoutgoinghook was introduced in
6c383c871fdb and largefiles is the only
in-tree use of it. Refactor it to be more useful for other use cases in
largefiles.
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 00:08:25 +0900] rev 28875
parser: unify parser function of alias declaration and definition
We no longer have to keep them separately.
Yuya Nishihara <yuya@tcha.org> [Tue, 29 Mar 2016 00:05:14 +0900] rev 28874
revset: unify function that parses alias declaration and definition
We no longer need separate parsers. Only difference between _parsealiasdecl()
and _parsealiasdefn() is whether or not to flatten 'or' tree. Since alias
declaration should have no 'or' operator, there was no practical difference.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 18:10:07 +0900] rev 28873
parser: move alias definition parser to common rule-set class
The original _parsealiasdefn() function is split into common _builddefn()
and revset-specific _parsealiasdefn(). revset._relabelaliasargs() is removed
as it is no longer used.
The doctests are ported by using the dummy parse().
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 18:00:51 +0900] rev 28872
parser: move _relabelaliasargs() to common rule-set class
This has no doctest because it will be covered by _builddefn() introduced
by the next patch.
revset._relabelaliasargs() will be removed soon.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 17:54:03 +0900] rev 28871
parser: move alias declaration parser to common rule-set class
The original _parsealiasdecl() function is split into common _builddecl()
and revset-specific _parsealiasdecl(). And the original _parsealiasdecl()
call is temporarily replaced by rules._builddecl(), which should be eliminated
later.
The doctests are mostly ported by using the dummy parse(), but the test for
'foo bar' is kept in _parsealiasdecl() as it checks if "pos != len(decl)" is
working. Also, 'foo($1)' test is added to make sure the alias tokenizer can
handle '$1' symbol, which is the only reason why we need _parsealiasdecl().
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 16:55:23 +0900] rev 28870
parser: add stub class that will host alias parsing and expansion
This class will keep syntax rules that are necessary to parse and expand
aliases. The implementations will be extracted from the revset module. In
order to make the porting easier, this class keeps parsedecl and parsedefn
separately, which will be unified later. Also, getlist and funcnode will
be refactored by future patches for better handling of the template aliases.
The following public functions will be added:
aliasrules.build(decl, defn) -> aliasobj
parse decl and defn into an object that keeps alias name, arguments
and replacement tree.
aliasrules.buildmap(aliasitems) -> aliasdict
helper to build() a dict of alias objects from a list of (decl, defn)
aliasrules.expand(aliasdict, tree) -> tree
expand aliases in tree recursively
Because these functions aren't introduced by this series, there would remain
a few wrapper functions in the revset module. These ugly wrappers should be
eliminated by the next series.
This class is considered an inheritable namespace, which will host only
class/static methods. That's because it won't have no object-scope variables.
I'm not a big fan of using class as a syntax sugar, but I admit it can improve
code readability at some level. So let's give it a try.
Yuya Nishihara <yuya@tcha.org> [Mon, 29 Feb 2016 17:43:39 +0900] rev 28869
revset: narrow scope of "except ParseError" block in _parsealiasdecl()
This helps to factor out a common function. "if True" will be removed soon.
Kostia Balytskyi <ikostia@fb.com> [Tue, 12 Apr 2016 04:06:50 -0700] rev 28868
obsstore: move delete function from obsstore class to repair module
Since one of the original patches was accepted already and people on the
mailing list still have suggestions as to how this should be improved, I'm
implementing those suggestions in the following patches (this and the ones that
might follow).
Kostia Balytskyi <ikostia@fb.com> [Tue, 12 Apr 2016 03:40:53 -0700] rev 28867
debugobsolete: style fixes to debugobsolete that slipped from original commit
Matt Mackall <mpm@selenic.com> [Wed, 09 Mar 2016 10:47:33 -0500] rev 28866
import: document --exact behavior in more detail
Adrian Buehlmann <adrian@cadifra.com> [Mon, 11 Apr 2016 19:46:50 +0200] rev 28865
util: add doctest to datestr()
Florent Gallaire <fgallaire@gmail.com> [Tue, 12 Apr 2016 00:30:28 +0200] rev 28864
date: fix boundary check of negative integer
Jun Wu <quark@fb.com> [Sun, 10 Apr 2016 22:00:34 +0100] rev 28863
chg: server exited with code 0 without being connectable is an error
Before this patch, if the server started by chg has exited with code 0 without
creating a connectable unix domain socket at the specified address, chg will
exit with code 0, which is not the correct behavior. It can happen, for
example, CHGHG is set to /bin/true.
This patch addresses the issue by checking the exit code of the server and
printing a new error message if the server exited normally but cannot be
reached.
Oleg Afanasyev <olegaf@fb.com> [Fri, 08 Apr 2016 23:33:28 -0700] rev 28862
shelve: refactor directory name into constant
Shelve directory name extracted into constant to avoid typos/duplication.
timeless <timeless@mozdev.org> [Sun, 10 Apr 2016 20:55:37 +0000] rev 28861
pycompat: switch to util.stringio for py3 compat
timeless <timeless@mozdev.org> [Sun, 10 Apr 2016 21:32:08 +0000] rev 28860
py3: use multi-line import in test-wireproto.py
The reason I did it is that I had a later commit that was adding to the list.
timeless <timeless@mozdev.org> [Sun, 10 Apr 2016 21:32:05 +0000] rev 28859
py3: use absolute_import in test-hgweb-non-interactive.t
timeless <timeless@mozdev.org> [Sun, 10 Apr 2016 21:32:01 +0000] rev 28858
py3: use absolute_import in test-hgweb-no-request-uri.t
timeless <timeless@mozdev.org> [Sun, 10 Apr 2016 21:31:58 +0000] rev 28857
py3: use absolute_import in test-hgweb-no-path-info.t
Jun Wu <quark@fb.com> [Mon, 11 Apr 2016 00:18:27 +0100] rev 28856
chg: use fsetcloexec instead of closing lockfd manually
Since we have the fsetcloexec utility function, use it instead of closing
lockfd manually.
Jun Wu <quark@fb.com> [Mon, 11 Apr 2016 00:17:17 +0100] rev 28855
chg: extract the logic of setting FD_CLOEXEC to a utility function
Setting FD_CLOEXEC is useful for other fds such like lockfd and sockdirfd,
move the logic from hgc_open to util.
Jun Wu <quark@fb.com> [Sun, 10 Apr 2016 03:14:32 +0100] rev 28854
chg: add fchdirx as a utility function
As part of the series to support long socket paths, we need to use fchdir and
check its result in several places. Make it a utility function.
Jun Wu <quark@fb.com> [Sun, 10 Apr 2016 22:58:11 +0100] rev 28853
chg: check lockfd at freecmdserveropts
We check for sockdirfd at freecmdserveropts but not lockfd, which is a bit
strange to people new to the code. Add a comment and an assert to make it
clear that lockfd should be closed earlier.
Jun Wu <quark@fb.com> [Sun, 10 Apr 2016 23:56:00 +0100] rev 28852
chg: add sockdirfd to cmdserveropts
As part of the series to support long socket paths, we need to add the fd of
the directory to the cmdserveropts structure so we can use basenames instead
of full paths for sockname, redirectsockname, and lockfile.
Jun Wu <quark@fb.com> [Sun, 10 Apr 2016 21:56:05 +0100] rev 28851
chg: fix spelling in the error message about error waiting for cmdserver
This is a trivial spelling and grammar fix.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 10 Apr 2016 11:02:58 -0700] rev 28850
sslutil: document and slightly refactor validation logic
This main purpose of this patch is to make it clearer that fingerprint
pinning takes precedence over CA verification. This will make
subsequent refactoring to the validation code easier to read.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 10 Apr 2016 11:00:41 -0700] rev 28849
sslutil: require a server hostname when wrapping sockets (API)
All callers appear to be passing the hostname. So this shouldn't
break anything. By specifying the hostname, more validation options
from the ssl module are available to us. Although this patch stops
short of using them.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 10 Apr 2016 10:59:45 -0700] rev 28848
sslutil: move and document verify_mode assignment
Consolidating all the SSLContext options setting makes the code a
bit easier to read.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 10 Apr 2016 10:54:53 -0700] rev 28847
tests: use --insecure instead of web.cacerts=!
--insecure is the proper and documented way to do this. The end result
is the same: dispatch will set web.cacerts to ! when --insecure is
passed.
This patch is necessary to refactor handling of web.cacerts in upcoming
patches.
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 10 Apr 2016 10:58:47 -0700] rev 28846
help: remove references to "Python 2.6 or later"
We require Python 2.6. So there is no value to these docs.
Kostia Balytskyi <ikostia@fb.com> [Mon, 04 Apr 2016 02:05:10 -0700] rev 28845
commands: make --rev and --index compatible in debugobsolete
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 19:38:57 +0900] rev 28844
tests: enable import checker for tests/**.py files
Several known-bad files are excluded as they couldn't be trivially fixed.
In principle, we should fix them first, however, it would have more risk
to keep Py3k porting going without the test coverage.
Still contrib/**.py aren't covered, which needs another round.
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Apr 2016 23:38:00 +0900] rev 28843
tests: stop direct symbol import of mercurial modules in test-status-inprocess
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Apr 2016 23:35:45 +0900] rev 28842
tests: alias ui as uimod in test-revlog-ancestry/test-ui-verbosity
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Apr 2016 23:23:43 +0900] rev 28841
tests: move stdlib imports before mercurial modules in test-parseindex2
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Apr 2016 23:22:38 +0900] rev 28840
tests: stop direct symbol import of pprint.pprint in tests-minirst
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Apr 2016 23:30:18 +0900] rev 28839
tests: import mercurial modules by name in test-propertycache
This is our convention, and silences import-checker.py that would say
imports weren't lexically sorted.
Yuya Nishihara <yuya@tcha.org> [Tue, 05 Apr 2016 23:33:55 +0900] rev 28838
tests: remove unused import of mercurial.repoview from test-propertycache
I don't see any reason to import it, but if there is a reason, please disregard
this and the next patch.
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 11:23:31 +0900] rev 28837
templater: drop deprecated handling of KeyError from changeset_templater
It's been superseded by
09cde75e0613 and the previous patch. templater.mapfile
is no longer used and removed.
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 20:34:34 +0000] rev 28836
test-commandserver: handle cStringIO.StringIO/io.StringIO divergence
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 20:31:31 +0000] rev 28835
pycompat: add util.stringio to handle py3 divergence
util.stringio = cStringIO.StringIO / io.StringIO
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 22:35:52 +0000] rev 28834
pycompat: alias xrange to range in py3
timeless <timeless@mozdev.org> [Fri, 08 Apr 2016 14:03:05 +0000] rev 28833
pycompat: fix demand import handling of Queue
When demandimport is enabled, simply importing a non existent module does
not trigger ImportError, a property access is necessary.
timeless <timeless@mozdev.org> [Tue, 29 Mar 2016 17:43:23 +0000] rev 28832
util: use __code__ (available since py2.6)
Yuya Nishihara <yuya@tcha.org> [Sun, 03 Apr 2016 11:20:50 +0900] rev 28831
templater: give better error message for invalid engine type
Before, KeyError was caught at changeset_templater._show(), which said "no
key named '%s'" as it was intended to catch the KeyError of unknown map key.
Instead, we should catch KeyError explicitly for better error indication.
For those who don't know what the template engine is (read "everyone"), it is
hidden extension feature that allows switching template syntax in map file.
See
d8c5a7f25a40 for details.
Durham Goode <durham@fb.com> [Thu, 07 Apr 2016 14:10:49 -0700] rev 28830
transaction: allow running file generators after finalizers
Previously, transaction.close would run the file generators before running the
finalizers (see the list below for what is in each). Since file generators
contain the bookmarks and the dirstate, this meant we made the dirstate and
bookmarks visible to external readers before we actually wrote the commits into
the changelog, which could result in missing bookmarks and missing working copy
parents (especially on servers with high commit throughput, since pulls might
fail to see certain bookmarks in this situation).
By moving the changelog writing to be before the bookmark/dirstate writing, we
ensure the commits are present before they are referenced.
This implementation allows certain file generators to be after the finalizers.
We didn't want to move all of the generators, since it's important that things
like phases actually run before the finalizers (otherwise you could expose
commits as public when they really shouldn't be).
For reference, file generators currently consist of: bookmarks, dirstate, and
phases. Finalizers currently consist of: changelog, revbranchcache, and fncache.
timeless <timeless@mozdev.org> [Thu, 07 Apr 2016 11:11:55 +0000] rev 28829
run-tests: move install.err into test area
Without this, sometimes installerrs generated errors
about no such file. It also did not work well when you
had multiple tests runners running around.
It also did not make sense to pollute the repository test
directory with the log file.
timeless <timeless@mozdev.org> [Fri, 08 Apr 2016 18:35:49 +0000] rev 28828
help: report source of aliases
timeless <timeless@mozdev.org> [Fri, 08 Apr 2016 16:05:52 +0000] rev 28827
compact: add color labels to -Tcompact
Adrian Buehlmann <adrian@cadifra.com> [Fri, 08 Apr 2016 22:15:06 +0200] rev 28826
util: fix doc for datestr()
timezone parameter was removed with
c3182eeb70ea
Florent Gallaire <fgallaire@gmail.com> [Fri, 08 Apr 2016 14:11:03 +0200] rev 28825
date: reallow negative timestamp, fix for Windows buggy gmtime() (
issue2513)
DVCS are very useful to store various texts (as legislation) written before
Unix epoch. Fri, 13 Dec 1901 is a nice gain over Thu, 01 Jan 1970.
Revert
dd24f3e7ca9e and
e1002cf9fe54, fix
c208dcd0f709. Add tests.
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 19:08:04 +0000] rev 28824
tests: use /usr/bin/env python for test-status-inprocess.py
everyone else uses it, and the next commit will add a rule for it
Augie Fackler <augie@google.com> [Wed, 06 Apr 2016 22:26:47 -0400] rev 28823
run-tests: fix broken regular expression
The regular expression in use passed tests because the test repo only
has single-digit changesets present. When I tried to use this for real
today, it broke, because the regular expression would only match a
single digit.
https://xkcd.com/1171/, or something like that.
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 05 Apr 2016 12:19:45 -0700] rev 28822
test: don't rely on __del__ in test-devel-warnings.t
Whatever the future of __del__ in Mercurial is, that devel-warning test is not
about testing the automatic transaction rollback and we should explicitly call
release.
This change make this tests pass with pypy, as pypy try less hard to call
__del__ at program exit.
Martijn Pieters <mjpieters@fb.com> [Tue, 05 Apr 2016 20:01:23 +0100] rev 28821
dispatch: split out warning message generation to separate function
Allow for patching warning message generation, or for patching out the ui.log /
ui.warn behaviour (but still generate the warning message).
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 20:08:18 +0000] rev 28820
check-code: reject import Queue, suggest util.queue class for py3 compat
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 20:07:51 +0000] rev 28819
scmutil: use util.queue/util.empty for py3 compat
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 20:00:49 +0000] rev 28818
pycompat: add empty and queue to handle py3 divergence
While the pycompat module will actually handle divergence, please
access these properties from the util module:
util.queue = Queue.Queue / queue.Queue
util.empty = Queue.Empty / queue.Empty
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Apr 2016 15:39:13 +0200] rev 28817
convert: kill dead code
gitread is unused with the new commandline-based code.
Julien Cristau <julien.cristau@logilab.fr> [Mon, 04 Apr 2016 15:38:48 +0200] rev 28816
convert: don't ignore errors from git diff-tree
timeless <timeless@mozdev.org> [Wed, 06 Apr 2016 18:19:36 +0000] rev 28815
crecord: check for untracked arguments
hg commit tracked untracked -- fails complaining about untracked
prior to this commit,
hg commit -i tracked untracked -- did not fail
This is corrected by calling the refactored localrepo.checkcommitpatterns