- Jun 19, 2017
-
-
Matt Harbison authored
When hghave testing goes awry, the output order was changing on Windows. diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t --- a/tests/test-run-tests.t +++ b/tests/test-run-tests.t @@ -920,10 +920,10 @@ > EOF > done $ rt -j 2 - .... + ....skipped: unknown feature: notarealhghavefeature\r (esc) + + # Ran 5 tests, 0 skipped, 0 warned, 0 failed. - skipped: unknown feature: notarealhghavefeature - $ cd .. $ rm -rf broken Since 'skipped: unknown feature: notarealhghavefeature\n\n' is printed to stdout and the rest to stderr, it seems like maybe stdio isn't line buffered on Windows. When a program exits, stdout is flushed before stderr[1]. [1] https://blogs.msdn.microsoft.com/oldnewthing/20060519-09/?p=31133
-
Matt Harbison authored
On Windows, output streams are buffered when redirected to a file, and TerminateProcess() apparently doesn't trigger a flush. This left test-http-proxy.t missing part of the last line when it cat'd proxy.log[1]. Flushing stderr is all that is needed (on py27 anyway). I originally flushed stdout too, but that added additional output to the log: $ cat proxy.log + Accept: $LOCALIP (localhost)\r (esc) + Serving HTTP on 0.0.0.0 port 20810 ...\r (esc) + connect to localhost:$HGPORT\r (esc) * - - [*] "GET http://localhost:$HGPORT/?cmd=capabilities HTTP/1.1" - - (glob) + bye\r (esc) + connect to localhost:$HGPORT\r (esc) * - - [*] "GET http://localhost:$HGPORT/?cmd=branchmap HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) + bye\r (esc) + connect to localhost:$HGPORT\r (esc) * - - [*] "GET http://localhost:$HGPORT/?cmd=stream_out HTTP/1.1" - - x-hgproto-1:0.1 0.2 comp=*zlib,none,bzip2 (glob) + bye\r (esc) + connect to localhost:$HGPORT\r (esc) ... [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-April/096987.html
-
- Jun 18, 2017
-
-
Yuya Nishihara authored
Also unified "a changeset" to "changesets".
-
- Feb 19, 2017
-
-
Yuya Nishihara authored
context.py seems not a good place to host these functions. % wc -l mercurial/context.py mercurial/dagop.py 2306 mercurial/context.py 424 mercurial/dagop.py 2730 total
-
- Oct 16, 2016
-
-
Yuya Nishihara authored
This module hosts the following functions. They are somewhat similar (e.g. scanning revisions using heap queue or stack) and seem non-trivial in algorithmic point of view. - _revancestors() - _revdescendants() - reachableroots() - _toposort() I was thinking of adding revset._fileancestors() generator for better follow() implementation, but it would be called from context.py as well. So I decided to create new module. Naming is hard. I couldn't come up with any better module name, so it's called "dag operation" now. I rejected the following candidates: - ancestor.py - existing, revlog-level DAG algorithm - ancestorset.py - doesn't always return a set - dagalgorithm.py - hard to type - dagutil.py - existing - revancestor.py - I want to add fileancestors() % wc -l mercurial/dagop.py mercurial/revset.py 339 mercurial/dagop.py 2020 mercurial/revset.py 2359 total
-
- Jun 16, 2017
-
-
Sean Farley authored
-
Sean Farley authored
Even on CentOS 7, git is at version 1.8. It seems git 1.9 is when ext::sh was introduced so we a check for that. The way these functions are written follows the same style and format for the way we check svn and bzr versions.
-
- Jun 18, 2017
-
-
Martin von Zweigbergk authored
children() is slow
-
Martin von Zweigbergk authored
children() is slow
-
- Jun 17, 2017
-
-
Pulkit Goyal authored
The file() constructor has been removed in python 3.
-
Pulkit Goyal authored
-
Pulkit Goyal authored
-
Pulkit Goyal authored
Python 3 does not let you use '%s' for integers.
-
Pulkit Goyal authored
This make test-ancestor.py pass on Python 3.
-
Pulkit Goyal authored
range() on python 3 returns a generator whereas on python 2 returns a list. So to get a list on python 3, we passed it into list()
-
- May 27, 2017
-
-
Pierre-Yves David authored
We move the feature to a proper configuration and document it. The config goes in the 'server' section because it feels like something the server owner would want to decide. We pick and open field because it seems likely that other checking levels will emerge in the future. (eg: server like the mozilla-try server will likely wants a "none" value) The option name contains 'push' since this affects 'push' only. The option value 'check-related' is preferred over one explicitly containing 'allow' or 'deny' because the client still have a strong decision power here. Here, the server is just advising the client on the check mode to use.
-
- Jun 17, 2017
-
-
Martin von Zweigbergk authored
We used safehasattr() in one place, but we use isinstance() for this everywhere else, so switch to the latter.
-
Matt Harbison authored
-
Matt Harbison authored
I'm not sure how to test this one. `make update-pot` spews all kinds of warnings, though it did before this change too.
-
Matt Harbison authored
After dropping the garbage collector hack, `hg perfstartup` started yelling about not being able to import the evolve extension, which I have in my user config. Launching `env` shows that an empty HGRCPATH isn't exported to the environment. Since `env` doesn't quote, I have no idea if the variable is trimmed, but Mercurial doesn't complain when processing it.
-
Matt Harbison authored
-
- Jun 16, 2017
-
-
Matt Harbison authored
-
- Jun 18, 2017
-
-
Yuya Nishihara authored
The order was unstable because of this.
-
- May 01, 2017
-
-
Pierre-Yves David authored
We have ProgrammingError now.
-
- Jun 16, 2017
-
-
Martin von Zweigbergk authored
bundle2.applybundle() will set both 'source' and 'url'.
-
Martin von Zweigbergk authored
The bundle1 and bundle2 cases are more similar, and having the streamclone case in between is distracting.
-
Martin von Zweigbergk authored
-
Martin von Zweigbergk authored
Thanks to Yuya for catching this.
-
- Jun 15, 2017
-
-
Boris Feld authored
Add a 'predecessors' template that returns the list of all closest known predecessors for a changectx. The elements of the list are row changectx node id formatted by default as short nodes. The "closest predecessors" are the first locally known revisions encountered while, walking predecessors markers. For example: 1) If a (A, (B)) markers exists and both A and B are locally known A is a closest predecessors of B. 2) If a (A, (B)) and (B, (C)) markers exists and only A and C are known locally, A will be the closest precursors of C. This logic respect repository filtering. So hidden revision will be skipped by this logic unless --hidden is specified. Since we only display the visible predecessors, this template will not display anything in most case. It makes a good candidate for inclusion in the default log output. I added a new test-file for testing the precursors in various scenarios. This test file will also be used for the successors template. A new "obsutil" module has been added to start gathering utility function outside of the large obsolete.py module.
-
- Apr 22, 2017
-
-
Yuya Nishihara authored
And load all templates defined in [committemplate] since the selected template is no longer be named as 'changeset'.
-
Yuya Nishihara authored
From 5375ba75df40 and de5cee8ba088, I don't think the current behavior is intended. Commit templates should be processed as literal templates.
-
- May 06, 2017
-
-
Yuya Nishihara authored
Now spec.ref should be '' if spec.tmpl is specified. Since spec.ref is the option to select the initial template to be rendered, it doesn't make sense to store the given literal template as spec.ref.
-
- Apr 22, 2017
-
-
Yuya Nishihara authored
Since a map file has another level to select a template (spec -> mapfile -> topic), this isn't exactly the same as how a map file works. But I believe most users would expect the new behavior. A literal template is stored as an unnamed template so that it will never conflict with the templates defined in [templates] section.
-
- May 06, 2017
-
-
Yuya Nishihara authored
A literal template will be unnamed soon, so no recursion will be practically made by using -T option.
-
- Apr 22, 2017
-
-
Yuya Nishihara authored
This provides a simpler API for callers which don't need full templating stack. Instead of storing the given template as the name specified by topic, use '' as the default template to be rendered.
-
- Jun 15, 2017
-
-
Augie Fackler authored
We've been talking for years about a one-stop config knob to opt in to better behavior. There have been a lot of ideas thrown around, but they all seem to be too complicated to get anyone to actually do the work.. As such, this patch is the stupidest thing that can possibly work in the name of getting a good feature to users. Right now it's just three config settings that I think are generally uncontroversial, but I expect to add more soon. That will likely include adding new config knobs for the express purpose of adding them to tweakdefaults.
-
Martin von Zweigbergk authored
This completes the cleanup started in d3775db748a0 (localrepo: move the addchangegroup method in changegroup module, 2014-04-01).
-
Martin von Zweigbergk authored
We have a lot of frequently used abbreviations, but this is not one of them.
-
Martin von Zweigbergk authored
It's the list of nodes in the incoming changegroup, so "cgnodes" made more sense to me.
-
Martin von Zweigbergk authored
It seems like the reason for "content" is that the variable contains the nodes that the changegroup "contains", see e234eda20984 (revlog: make addgroup returns a list of node contained in the added source, 2012-01-13), but "nodes" seems much clearer.
-