Alexander Plavin <me@aplavin.ru> [Thu, 18 Apr 2013 16:46:09 +0400] rev 19060
revlog: fix a regression with null revision
Introduced in the patch which fixes
issue3497
Part of that patch was erroneously submitted and it shouldn't be in the code
Siddharth Agarwal <sid0@fb.com> [Thu, 18 Apr 2013 14:28:06 -0700] rev 19059
rebase: check no-op before checking phase (
issue3891)
This could lead to user confusion, because phases aren't really involved at
all when attempting to perform a no-op rebase.
Sean Farley <sean.michael.farley@gmail.com> [Wed, 10 Apr 2013 19:27:49 -0500] rev 19058
template: call runtemplate on the src argument to sub
This allows using a template keyword on calls to the sub function and brings
the function inline with most other semantics of the other template functions.
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:34 +0200] rev 19057
run-tests: introduce --random for running tests in random error
This is convenient when investigating failures one by one to avoid running the
same fixed tests first every time.
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:11 +0200] rev 19056
largefiles: wlock in status before lfdirstate.write()
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 19:31:59 +0200] rev 19055
transplant: use set for prune lookup
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 11:47:49 +0200] rev 19054
obsolete: extract obsolescence marker pulling into a dedicated function
Having a dedicated function will allow us to experiment with other exchange
strategies in an extension. As we have no solid clues about how to do it right,
being able to experiment is vital.
Some transaction tricks are necessary for pull. But nothing too scary.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 11:18:36 +0200] rev 19053
obsolete: extract obsolescence marker pushing into a dedicated function
Having a dedicated function will allows us to experiment with other exchange
strategies in an extension. As we have no solid clues about how to do it right,
being able to experiment is vital.
I intended a more ambitious extraction of push logic, but we are far too
advanced in the release cycle for it.
Bryan O'Sullivan <bryano@fb.com> [Thu, 18 Apr 2013 12:55:58 -0700] rev 19052
blackbox: fix a case of name capture
Yuya Nishihara <yuya@tcha.org> [Fri, 19 Apr 2013 01:34:21 +0900] rev 19051
pathencode: eliminate comma at end of enum list to avoid pedantic warning
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Fri, 19 Apr 2013 01:26:23 +0900] rev 19050
smtp: use 465 as default port for SMTPS
Before this patch, port 25 (wellknown port of SMTP) is used as default
port, even if "[smtp] tls" is configured as "smtps".
This patch uses port 465 (wellknown port of SMTPS) as default port, if
"[smtp] tls" is configured as "smtps".
Kevin Bullock <kbullock@ringworld.org> [Thu, 21 Feb 2013 21:05:06 +0000] rev 19049
subrepo: fix test breakage introduced in
2b34d004e644
The test didn't break when I originally committed it (git version
1.7.12.4 (Apple Git-37)), and still doesn't on that machine, but the
output changes elsewhere with "Warning: you are leaving N commits
behind..."
This change sets a ref on the commit we're updating the subrepo _away_
from to quash the warning.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:27:50 +0200] rev 19048
histedit: more precise user message when changeset is missing
Now that we explicitly detect duplicated changesets, we can explicitly
detect missing ones. We cover the same cases as before, some others
and we offer a better error message in all cases.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:22:24 +0200] rev 19047
histedit: protect against duplicated entries
Before this change one would issue rules with duplicated entries. For
this to happen some other changeset had to be missing to maintain the
rules length.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:13:35 +0200] rev 19046
histedit: track short hash instead of changectx object
This simplifies set usage and allow us to add a missing revision check
in a later commit.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 15:10:01 +0200] rev 19045
histedit: ensure rules return short hex at all time
Handling homogeneous data is both simpler and safer.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:51:27 +0200] rev 19044
histedit-test: test unknown command
We had no tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:50:59 +0200] rev 19043
histedit-test: test unknown changeset
We had no tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:49:32 +0200] rev 19042
histedit-test: test malformed line
We had not tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:54:31 -0400] rev 19041
histedit-test: test that extra revisions are detected
We had not tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:53:58 -0400] rev 19040
histedit-test: test that missing revisions are detected
We had not tested for this case.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 11:52:34 -0400] rev 19039
histedit: handle multiple spaces between action and hash (
issue3893)
There is some clue that the previous code intended to handle that but it was
actually not the case.
As a result action could apply to the empty string '' changeset,
leading to the use the current working directory parent in some
operations.
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 15:00:23 -0800] rev 19038
http2: sane readline
It turns out that it pays off to read more than a byte at a time with
a select in between :)
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 14:41:35 -0800] rev 19037
http2: make read use pushchunk/popchunk, eschew itertools
The itertools approach was showing up high in the profile output.
Brendan Cully <brendan@kublai.com> [Fri, 01 Feb 2013 14:41:33 -0800] rev 19036
http2: track available data as it changes instead of recomputing it
With a large amount of available data, this computation can become
costly.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:38:49 +0200] rev 19035
histedit-test: rename histedit-revspec into histedit-argument
We have no testing for argument. This small file seems perfect once but needs a
rename.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:35:43 +0200] rev 19034
histedit-test: remove unnecessary graphlog extension
Graphlog is now in core.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 18 Apr 2013 13:34:43 +0200] rev 19033
histedit-test: drop skip logic for older mercurial version
We are shipped in core now.
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 15 Apr 2013 18:57:04 -0300] rev 19032
hgweb: refactor checks for granting and revoking user permissions
Provides an entry point for extensions implementing more complex
authorization schemes.
Original patch proposed by Markus Zapke-GrĂ¼ndemann.
Matt Mackall <mpm@selenic.com> [Wed, 17 Apr 2013 14:38:02 -0500] rev 19031
check-code: add check for lock release order
Matt Mackall <mpm@selenic.com> [Wed, 17 Apr 2013 12:57:26 -0500] rev 19030
parsers: fix variable declaration position issue
Nikolaj Sjujskij <sterkrig@myopera.com> [Wed, 17 Apr 2013 21:06:48 +0400] rev 19029
zsh_completion: complete all files for `commit/backout --logfile`
Up until now commit/backout `--logfile` option was completed only with
*.txt-files. This requirement is a bit too strong (and is nowhere to be stated)
so it's better to complete with all files.
Stolen from zsh.git repo,
c5fce37b changeset by Oliver Kiddle.
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 19:20:23 +0200] rev 19028
transplant: improve documentation
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 19:18:38 +0200] rev 19027
transplant: clarify what --branch do - it has nothing to do with branches
--branch specifies heads and has nothing to do with named branches, and it only
deals with topological branches to the same extent as all other DAG operations
do.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 10:25:14 +0200] rev 19026
import: inline checkexact function
We have a sngle call now, no need to make it a function.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 17 Apr 2013 10:22:28 +0200] rev 19025
import: factor out checkexact
The two calls are strictly identical. We can simply move it after the if/else
clause.
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:41:08 +0200] rev 19024
amend: fix unlocking order - first lock then wlock
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:40:18 +0200] rev 19023
codingstyle: remove trailing spaces in various text files
Better do it once than see random changes in diffs later.
Mads Kiilerich <madski@unity3d.com> [Wed, 17 Apr 2013 03:39:36 +0200] rev 19022
tests: run check-code on Python files without .py extension
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 21:14:50 +0200] rev 19021
histedit: move outgoing processing to its own function
Every piece of code extracted from the main command is a win. We simplify
changeset determination in the process. Parent ceases being a list before
becoming a node. We how have a root variable containing a node all the time.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 21:17:13 +0200] rev 19020
histedit: move all arguments checks to the beginning of the command
This changeset move all checks and raises related to arguments
validation to the top of the file. This gathers all the logic in one
place and clarifies the code doing actual work. This paves the way for
splitting this gigantic function in separated functions.
A `goal` variable is introduced in the process. It holds the action to
be done by this invocation (new, continue or abort).
An invalid invocation is found in the process (the new code is a bit stricter).
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 21:57:25 -0500] rev 19019
histedit-test: generalise --commands "-" usage
This is simpler than temporary file version. There some minor test
changes since commit messages are no longer modifed. There is still
some tests using --commands with a real file.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 20:48:37 +0200] rev 19018
histedit: allow "-" as a command file
When "-" is specified as a command file, we read rules from stdin. Alter a
single test to demo the behavior, but most of them could benefit from this.
There is minor change in test output resulting from the fact we no
longer change log messages.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 16:58:25 +0200] rev 19017
histedit: properly handle --continue on empty fold
When all changes from the fold have been dropped, the --continue code was
confused. This changeset handles this case.
The test for this case existed but was broken.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 20:50:17 +0200] rev 19016
histedit-test: replace obscure python script by a plain file
One of the tests uses a python script to edit the histedit commands on
the fly. It was hard to read and likely to break. This is replaced by
a plain command file.
Doing so made me discover that the python script is incorrect. The
"+6" regexp never matched because the revision number is wrong.
This error is kept in the replacement for now. Fixing the histedit command
triggers a traceback in histedit.
A later changeset will fix the error and restore the intended test.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 16:22:38 +0200] rev 19015
test: improve documentation of some histedit tests
Each test section is clearly separated from the others and gains some
helpful documentation.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 16 Apr 2013 23:24:52 +0200] rev 19014
test: use a lighter log style in histedit test
The default log displays a log of information that is useless for
histedit tests. Having a cleaner log help readability of those tests a
lot.
This does not change anything to the test semantic.
Kevin Bullock <kbullock@ringworld.org> [Tue, 16 Apr 2013 22:00:41 -0500] rev 19013
subrepo: add regression test for
issue3870
pozheg <pozheg@gmail.com> [Tue, 16 Apr 2013 22:00:05 -0500] rev 19012
subrepo: clone of git sub-repository creates incorrect git branch (
issue3870)
Mercurial handles git subrepos by incorrect way.
If the mercurial repo has a git sub-repo and somebody started
a new branch in the subrepo and push it into git, the next one
who will clone the whole repo will get incorrect branch name in the git
subrepo.
Siddharth Agarwal <sid0@fb.com> [Tue, 16 Apr 2013 14:39:37 -0700] rev 19011
dispatch: print 'abort:' when a pre-command hook fails (BC)
This also changes the exit code from whatever the hook returned to 255. This
brings it in line with all the other hooks that abort.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:31:56 +0200] rev 19010
largefiles: don't hash all largefiles when initializing a lfdirstate
The largefiles will be hashed on demand if necessary ... and sometimes it isn't
necessary.
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 00:40:21 +0200] rev 19009
largefiles: use filechunkiter for iterating largefile when serving getlfile
The default file iterator is line based and will give odd chunk sizes - often
very short and relatively expensive.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:37:43 +0200] rev 19008
largefiles: stat all largefiles in one batch before downloading
This avoids a lot of expensive roundtrips to remote repositories ... but might
be slightly slower for local operations.
This will also change some aborts on missing files to warnings. That will in
some situations make it possible to continue working on a repository with
missing largefiles.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:34:36 +0200] rev 19007
largefiles: 'put' should store 'source' file in under 'hash', also in localstore
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 04:35:10 +0200] rev 19006
largefiles: getlfile must hit end of HTTP chunked streams to reuse connections
We did read the exactly the right number of bytes from the response body. But
if the response came in chunked encoding then that meant that the HTTP layer
still hadn't read the last 0-sized chunk and expected the app layer to read
more data from the stream. The app layer was however happy and sent another
request which had to be sent on another HTTP connection while the old one was
lingering until some other event closed the connection.
Adding an extra read where we expect to hit the end of file makes the HTTP
connection ready for reuse. This thus plugs a real socket leak.
To distinguish HTTP from SSH we look at self's class, just like it is done in
putlfile.
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 01:55:57 +0200] rev 19005
largefiles: drop limitreader, use filechunkiter limit
filechunkiter.close was a noop.
Mads Kiilerich <madski@unity3d.com> [Tue, 16 Apr 2013 01:46:39 +0200] rev 19004
largefiles: move protocol conversion into getlfile and make it an iterable
Avoid the intermediate limitreader and filechunkiter between getlfile and
copyandhash - return the right protocol and put the complexity where it better
can be managed.
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:47:04 +0200] rev 19003
largefiles: don't close the fd passed to store._getfile
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:43:50 +0200] rev 19002
largefiles: remove blecch from lfutil.copyandhash - don't close the passed fd
Mads Kiilerich <madski@unity3d.com> [Mon, 15 Apr 2013 23:43:44 +0200] rev 19001
largefiles: drop lfutil.blockstream - use filechunkiter like everybody else
The old chunk size is kept - just to avoid changing it.