Mon, 25 Nov 2013 22:00:46 +0100 run-tests: test result shows when a failed test could not start a server
Simon Heimberg <simohe@besonet.ch> [Mon, 25 Nov 2013 22:00:46 +0100] rev 21022
run-tests: test result shows when a failed test could not start a server Failing to start a server happens regularly, at least on windows buildbot. Such a failure often has nothing to do with the test, but with the environment. But half the test output can change because some data is missing. Therefore this is worth an extended error message. Detect the server failure in the diff output because it is most reliable there. Checking the output only does not show if the server failure was expected. Old failure message when server start failed: Failed test-serve.t: output changed New message: Failed test-serve.t: serve failed and output changed
Sun, 08 Sep 2013 19:02:08 -0400 commit: --edit/-e to force edit of otherwise-supplied commit message
"Bradley M. Kuhn" <bkuhn@ebb.org> [Sun, 08 Sep 2013 19:02:08 -0400] rev 21021
commit: --edit/-e to force edit of otherwise-supplied commit message The --edit/-e option for the 'commit' command forces editor, even when a commit message has been provided already by other means, such as by the -m or -l options.
Sat, 12 Apr 2014 00:38:15 -0400 bundle2: directly feed part to readbundle
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 12 Apr 2014 00:38:15 -0400] rev 21020
bundle2: directly feed part to readbundle Now that part payload can be read like a stream, we can directly use it to feed the unbundle10 process.
Fri, 11 Apr 2014 16:05:22 -0400 bundle2: lazy unbundle of part payload
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 16:05:22 -0400] rev 21019
bundle2: lazy unbundle of part payload The `unbundle` part gains a `read` method to retrieve payload content. This method behaves as a python file-like read method. The bundle-processing code is updated to make sure a part is fully consumed before another one is extracted. Test output changes because the debug output is even more interleaved now.
Thu, 10 Apr 2014 22:10:26 -0700 util: support None size in chunkbuffer.read()
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 10 Apr 2014 22:10:26 -0700] rev 21018
util: support None size in chunkbuffer.read() When no size is provided, read the whole buffer. This aligns with the usual behavior of `read()` in python.
Fri, 11 Apr 2014 15:02:26 -0400 bundle2: lazily iterate over bundle parts in the test
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:02:26 -0400] rev 21017
bundle2: lazily iterate over bundle parts in the test We used to create a list to know the number of parts in the bundle. This prevents any lazy reading as planned for real usage. The list creation is dropped. Some test output changed as debug output is now interleaved with command output.
Fri, 11 Apr 2014 15:47:38 -0400 bundle2: move unpackheader closure into the class
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:47:38 -0400] rev 21016
bundle2: move unpackheader closure into the class With the same argument as the other one, we move this closure into the `unbundlepart` class.
Fri, 11 Apr 2014 15:46:09 -0400 bundle2: move the fromheader closure into the class itself
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:46:09 -0400] rev 21015
bundle2: move the fromheader closure into the class itself The class is now directly related to this header data. We can sanely move it on the class. I do not like closures very much...
Fri, 11 Apr 2014 15:43:16 -0400 bundle2: add an unbundle part responsible from unbundling part
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:43:16 -0400] rev 21014
bundle2: add an unbundle part responsible from unbundling part We have a new unbundle class and it is now responsible from extracting its own data. The top level bundler only extracts the header (to detect an end of stream marker) then leaves everything else to the `unbundlepart` class. The ultimate goal is to have `unbundlepart` responsible for lazily extracting its payload. This is mostly code movement.
Fri, 11 Apr 2014 15:19:54 -0400 bundle2: extract stream/unpack logic in an unpackermixin
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 15:19:54 -0400] rev 21013
bundle2: extract stream/unpack logic in an unpackermixin The coming `unbundlepart` will need the same kind of method than `unbundle20` for unpacking data from the stream. We extract them into a mixin class before the creation of `unbundlepart`.
Sun, 13 Apr 2014 12:21:09 -0400 exchange: restore truncated comment
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 13 Apr 2014 12:21:09 -0400] rev 21012
exchange: restore truncated comment The old version of this comment appeared to have been trunca
Mon, 31 Mar 2014 01:00:05 +0900 grep: highlight all matched words
Takumi IINO <trot.thunder@gmail.com> [Mon, 31 Mar 2014 01:00:05 +0900] rev 21011
grep: highlight all matched words "hg grep" highlights first matched word only. This behavior is different from GNU grep. This patch makes highlight all matched words.
Thu, 23 Jan 2014 14:09:53 -0800 phase: add a passing test for (issue3575)
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 23 Jan 2014 14:09:53 -0800] rev 21010
phase: add a passing test for (issue3575) Apparently this issue was fixed along the way (If it ever existed at all…)
Mon, 24 Mar 2014 22:12:37 -0700 run-tests: allow test paths in other directories
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 22:12:37 -0700] rev 21009
run-tests: allow test paths in other directories Previously, test paths were assumed to be in the same directory and wouldn't have a directory component. If a path with a directory component was specified, it would be filtered out. This change allow paths to contain directories. This in turn allows tests from other directories to be executed. Executing tests in other directories may break assumptions elsewhere in the testing code. However, on initial glance, things appear to "just work." This approach of running tests from other directories is successfully being used at https://hg.mozilla.org/hgcustom/version-control-tools/file/7085790ff3af/run-mercurial-tests.py
Mon, 24 Mar 2014 21:52:28 -0700 run-tests: allow option parser to be extended
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 21:52:28 -0700] rev 21008
run-tests: allow option parser to be extended This patch moves the OptionParser population into its own function so consumers may modify the OptionParser before arguments are evaluated. This will allow consumers to add custom options, set different defaults, etc.
Mon, 24 Mar 2014 21:41:56 -0700 run-tests: use return values instead of sys.exit
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 21:41:56 -0700] rev 21007
run-tests: use return values instead of sys.exit
Mon, 24 Mar 2014 21:37:33 -0700 run-tests: Pass arguments into argument parser
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 24 Mar 2014 21:37:33 -0700] rev 21006
run-tests: Pass arguments into argument parser Before, arguments were not passed into the optparse.OptionParser instance and were coming from sys.argv. This patch enables consumers to define the list of arguments to parse without having to adjust sys.argv.
Fri, 11 Apr 2014 07:36:14 -0700 bundle2: rename part to bundlepart
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 07:36:14 -0700] rev 21005
bundle2: rename part to bundlepart We are going to introduce an `unbundlepart` dedicated to reading bundle. So we need to rename the one used to create bundle. Even if dedicated to creation, this is still used for unbundling until we get the new class.
Fri, 11 Apr 2014 16:43:01 -0400 bundle2: comment to clarify why the handler call is where it is
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 16:43:01 -0400] rev 21004
bundle2: comment to clarify why the handler call is where it is The reason why it is here is not obvious. I'm the one who wrote it there in the first place and almost moved it 2 weeks later.
Sat, 12 Apr 2014 00:53:15 -0400 bundle2: use chunkbuffer for exchange.getbundle
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 12 Apr 2014 00:53:15 -0400] rev 21003
bundle2: use chunkbuffer for exchange.getbundle We can use `util.chunkbuffer` instead.
Sat, 12 Apr 2014 14:56:55 -0400 bundle2: lazily generate the changegroup part in exchange.getbundle
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 12 Apr 2014 14:56:55 -0400] rev 21002
bundle2: lazily generate the changegroup part in exchange.getbundle Now that we have lazy generation of parts, let's use it.
Fri, 11 Apr 2014 08:04:16 -0700 bundle2: support chunk iterator as part data
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 08:04:16 -0700] rev 21001
bundle2: support chunk iterator as part data When the `part.data` attribute is an iterator, we assume it is an iterator of chunks and use it. We use a chunkbuffer to yield chunks of 4096 bytes. The tests are updated to use this feature.
Thu, 10 Apr 2014 12:33:20 -0700 bundle2: extract a _payloadchunks method for part
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 10 Apr 2014 12:33:20 -0700] rev 21000
bundle2: extract a _payloadchunks method for part We are preparing streaming capability for part. So the generation of payload chunk will becomes more complex. We extract this part in its own function before any changes.
Thu, 10 Apr 2014 13:19:00 -0700 changegroup: move chunk extraction into a getchunks method of unbundle10
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 10 Apr 2014 13:19:00 -0700] rev 20999
changegroup: move chunk extraction into a getchunks method of unbundle10 This code used to be in `writebundle` only. We needs to make it more broadly available for bundle2. The "changegroup" bundle2 part has to retrieve the binary content of changegroup stream. We moved the chunks retrieving code into the `unbundle10` object directly and the `writebundle` code is now using that. This split is useful for bundle2 purpose, we want to be able to easily stream changegroup content in a part. To keep thing simples, we kept compression out of the new methods. If it make more sense in the future, compression may get included in this function too.
Tue, 25 Mar 2014 15:05:11 -0700 bundle2: use reply part to return result of addchangegroup
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Mar 2014 15:05:11 -0700] rev 20998
bundle2: use reply part to return result of addchangegroup We now have an official way to return the result of addchangegroup. The tests are updated to check that the return bundle is properly created. It will be used when push is bundle2 enabled.
Fri, 04 Apr 2014 14:24:11 -0700 bundle2: produce a bundle2 reply
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Apr 2014 14:24:11 -0700] rev 20997
bundle2: produce a bundle2 reply We do not know yet what kind of data future features and extensions will need to exchange. To handle that, bundle2 allows to send arbitrary content to the server. As a consequence, we need to be able to reply arbitrary content to the client. And, we can use bundle2 to transmit those arbitrary data. When a client will push a bundle2 to the server, the server will reply with a bundle2 itself. This changeset installs the first stone of this logic and test it.
Fri, 11 Apr 2014 08:24:59 -0700 bundle2: add reply awareness to unbundlerecords
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 08:24:59 -0700] rev 20996
bundle2: add reply awareness to unbundlerecords We need an efficient way to handle bundle replies. The unbundle records class is extended to carry such data.
Tue, 01 Apr 2014 00:07:17 -0700 bundle2: add an integer id to part
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 00:07:17 -0700] rev 20995
bundle2: add an integer id to part For sending response to a pushed bundle, we need to link reply parts to request part. We introduce a part id for this purpose. This is a 32 bit unique integer stored in the header.
(0) -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 +30000 tip