Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 21 Apr 2015 11:18:47 +0200] rev 25116
test-discovery: disable bundle2 for legacy test (
issue4610)
We need to disable the "bundle2" capability to ensure we stay on legacy
capability.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 15 May 2015 00:25:43 -0700] rev 25115
revset: fix iteration over ordered addset composed of non-ordered operands
Before this change, doing ordered iteration over an 'addset' object composed of
operands without fastasc or fastdesc method could result in duplicated entries.
This was the result of applying '_iterordered' on an unordered set.
We fix it by ensuring we iterate over the set in a sorted order. Using the fast
iterator when it exists on any operand. We kill the '_iterator' method in the
process because it did not make a lot of sense independently.
Thanks goes to Yuya Nishihara for reporting the issue and analysing the cause.
Drew Gottlieb <drgott@google.com> [Fri, 15 May 2015 15:43:26 -0700] rev 25114
match: add match.ispartial()
match.ispartial() will return the opposite of match.always() in core, but this
function will be extensible by extensions to produce another result even
if match.always() will be untouched.
This will be useful for narrowhg, where ispartial() will return False even if
the match won't always match. This would happen in the case where the only
time the match function is False is when the path is outside of the narrow
spec.
Martin von Zweigbergk <martinvonz@google.com> [Sat, 16 May 2015 11:28:04 -0700] rev 25113
util: drop alias for collections.deque
Now that util.deque is just an alias for collections.deque, let's just
remove it.
Adrian Buehlmann <adrian@cadifra.com> [Sat, 16 May 2015 09:03:21 +0200] rev 25112
util: kill Python 2.4 deque.remove hack
Gilles Moris <gilles.moris@free.fr> [Thu, 14 May 2015 17:38:38 +0200] rev 25111
summary: add a phase line (draft, secret) to the output
The number of draft and secret changesets are currently not summarized.
This is an important information because the number of drafts give some rough
idea of the number of outgoing changesets in typical workflows, without needing
to probe a remote repository. And a non-zero number of secrets means that
those changeset will not be pushed.
If the repository is "dirty" - some draft or secret changesets exists - then
summary will display a line like:
phases: X draft, Y secret (public)
The phase in parenthesis corresponds to the highest phase of the parents of
the working directory, i.e. the current phase.
By default, the line is not printed if the repository is "clean" - all
changesets are public - but if verbose is activated, it will display:
phases: (public)
On the other hand, nothing will be printed if quiet is in action.
A few tests have been added in test-phases.t to cover the -v and -q cases.
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 12:19:51 +0800] rev 25110
hgweb: also display changeset bookmarks in file log (style=paper)
There already are branches and tags in file log, now let's add what's been
missing: bookmarks.
Also, since coal borrows this template from paper, this change is effective for
coal as well.
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 13:30:34 +0800] rev 25109
tests: test branch/tag/bookmark display in test-hgweb-filelog.t
Displaying branches, tags and bookmarks is an obviously important feature of
hgweb and should be tested a bit more than not at all, so let's add a branch, a
tag and a bookmark to the test.
With this change it's evident that the default style (paper) doesn't show
bookmarks in filelog. Future patch will fix this.
Anton Shestakov <engored@ya.ru> [Fri, 15 May 2015 02:07:43 +0800] rev 25108
hgweb: split some long lines in paper, gitweb and monoblue styles
This will ease future patches for the templates.
As a result of this patch, paper style has one visual change in
log/shortlog/file log view: the spacing between commit message and the first
tag (or branch name, or bookmark) is now roughly who spaces wide instead of one
space wide. This spacing is consistent with the one between branch
names/tags/bookmarks themselves, so it looks better.
In gitweb style, the change from non-breakable space to regular space is
consistent with other elements.
In monoblue the change is not noticeable.
Augie Fackler <augie@google.com> [Wed, 13 May 2015 11:22:06 -0700] rev 25107
run-tests: add a --profile-runner option
While in the throes of a recent run-tests adventure, I found it useful
to have profiler output for the testrunner itself. Adding it was
simple enough and seems worth keeping around.
Gilles Moris <gilles.moris@free.fr> [Fri, 15 May 2015 10:24:59 +0200] rev 25106
test-http: drop compatibility check on Python >= 2.4.3
This is obsolete now that Python < 2.6 is no more supported.
This is thus a backout of
c499fff76440.
Yuya Nishihara <yuya@tcha.org> [Fri, 15 May 2015 22:38:24 +0900] rev 25105
revset: remove unused 'only' from methods table
The infix 'only' operator is mapped to 'only()' function by optimize(), so
it won't be looked up as a method. The test shows it.
Tony Tung <tonytung@fb.com> [Tue, 14 Apr 2015 16:23:54 -0400] rev 25104
shelve: allow --patch and --stat without --list for a single shelf
It's annoying having to specify --list and --patch/--stat when all you
really want to do is to dump a patch. This creates an explicit
--patch/--stat command that is executed if --list is not specified. It
ensures that 1) there is only one shelf name specified and 2) that the
shelf exists. Then it redirects to the original listcmd code.
Tony Tung <tonytung@fb.com> [Tue, 14 Apr 2015 16:23:07 -0400] rev 25103
shelve: refactor allowables to specify sets of valid operations
This will allow us to have --patch and --stat as standalone operations that
don't require --list, as well as pairing them with --list.
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 11:52:09 -0500] rev 25102
merge with stable
Tony Tung <tonytung@fb.com> [Thu, 14 May 2015 21:35:06 -0700] rev 25101
rebase: check that the bookmark is still valid when restoring (
issue4669)
After a rebase --abort, we attempt to restore the previously active
bookmark. We need to ensure that the bookmark still exists.
Ryan McElroy <rmcelroy@fb.com> [Tue, 14 Apr 2015 12:53:48 -0700] rev 25100
bookmarks: rename current to active in variables and comments
Today, the terms 'active' and 'current' are interchangeably used throughout the
codebase in reference to the active bookmark (the bookmark that will be updated
with the next commit). This leads to confusion among developers and users.
This patch is part of a series to standardize the usage to 'active' throughout
the mercurial codebase and user interface.
Tony Tung <tonytung@fb.com> [Thu, 14 May 2015 21:34:46 -0700] rev 25099
rebase: remove extraneous blank at the end of file
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 23:40:29 -0700] rev 25098
run-tests: include 'start' and 'end' in --time output
This is useful information to understand what is taking time in tests. Both are
included because I can see myself sorting this output using shell script. Having
both data makes it much easier than extracting 'start'+'real'.
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 07 May 2015 23:34:58 -0700] rev 25097
run-tests: track start and end time of tests
We currently have information about how long each test took, but we have no data
about their actual scheduling. So we now track when a test started and stopped
(in the referential of the whole tests run) to expose this information.
The data is currently in the json only because the json output is meant to be
extensible. Later changeset will includes this data in the text output and we
will be happy to bikeshed its formating there.
Yes, "end" is actually just "start" + "time", but computing it an including it
in the output is simple, cheap and convenient.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 15 May 2015 09:07:27 -0400] rev 25096
templater: look for mapfiles in template paths
This will allow %include statements to search the default template
paths in addition to the directory where the %including file is.
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Fri, 15 May 2015 09:04:32 -0400] rev 25095
config: give it an includepaths option for looking for config files
It is desirable to "derive" templates from the provided templates. A
simple way to do this is e.g.
%include map-cmdline.default
in your own mapfile. Then you only have to redefine a few templates
instead of copying over the whole thing. This %include mechanism
already works for the built-in templates because by default it *only*
looks for files that are in the same directory as the including
mapfile.
With this changeset, config grows an option to add more include paths
for config files.
Yuya Nishihara <yuya@tcha.org> [Fri, 15 May 2015 22:32:31 +0900] rev 25094
revset: map postfix '%' to only() to optimize operand recursively (
issue4670)
Instead of keeping 'onlypost' as a method, this patch rewrites it to 'only'
function. This way, 'x%' always has the same weight as 'only(x)'.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 May 2015 14:13:12 -0700] rev 25093
dirs.c: pass C string, not Python string, to _finddir()
The callers already have the C string, and although the
PyString_AS_STRING() macro is probably free, this simplifies the code.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 08 May 2015 14:11:00 -0700] rev 25092
dirs.c: extract 'cpath' variable in _delpath() to match _addpath()
The PyString_AS_STRING() macro is probably free, but this makes
_delpath() more similar to _addpath() and simplifies the next patch.
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Apr 2015 23:21:02 -0700] rev 25091
treemanifest: store submanifest revlog per directory
With this change, when tree manifests are enabled (in .hg/requires),
commits will be written with one manifest revlog per directory. The
manifest revlogs are stored in
.hg/store/meta/$dir/00manifest.[id].
Flat manifests can still be read and interacted with as usual (they
are also read into treemanifest instances). The functionality for
writing treemanifest as a flat manifest to disk is still left in the
code; tests still pass with '_treeinmem=True' hardcoded.
Exchange is not yet implemented.
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 10:29:39 -0500] rev 25090
hghave: use try/except/finally
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 10:00:46 -0500] rev 25089
setup: use try/except/finally
This will raise a syntax error for people who attempt to use Py2.4,
but that's already going to fail and we have no way to keep other
2.6isms from creeping in since we've removed the check-code rules and
the buildbot.
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 09:58:21 -0500] rev 25088
util: use try/except/finally
Matt Mackall <mpm@selenic.com> [Fri, 15 May 2015 09:58:02 -0500] rev 25087
tags: use try/except/finally