Sun, 28 Sep 2014 14:46:57 +0900 test-commandserver: rewrite manual substitution of output by (glob) match
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 14:46:57 +0900] rev 22571
test-commandserver: rewrite manual substitution of output by (glob) match
Sun, 28 Sep 2014 16:59:30 +0900 test-commandserver: remove redundant banner output
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 16:59:30 +0900] rev 22570
test-commandserver: remove redundant banner output Since test output was inlined, "testing <func>" message should no longer be necessary.
Sun, 28 Sep 2014 16:55:14 +0900 test-commandserver: remove .py test which was ported to .t
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 16:55:14 +0900] rev 22569
test-commandserver: remove .py test which was ported to .t
Sun, 28 Sep 2014 16:05:37 +0900 test-commandserver: port test functions from .py to .t
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 16:05:37 +0900] rev 22568
test-commandserver: port test functions from .py to .t Though we have to duplicate import statements, .t test is still more handy than .py test which has cryptic .out file. This change allows to skip a part of test by #if conditional, which my next patch series depends on.
Sun, 28 Sep 2014 14:27:40 +0900 test-commandserver: add stub for .t test by copying .out with 2-space indent
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 14:27:40 +0900] rev 22567
test-commandserver: add stub for .t test by copying .out with 2-space indent Currently test-commandserver.t only contains output, so it is skipped by #require false.
Sun, 28 Sep 2014 13:31:16 +0900 test-commandserver: split helper functions to new hgclient module
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 13:31:16 +0900] rev 22566
test-commandserver: split helper functions to new hgclient module This prepares for porting test-commandserver.py to .t test. Though command-server test needs many Python codes, .t test will be more readable than .py test thanks to inlined output.
Sun, 28 Sep 2014 15:13:35 +0900 heredoctest: do not append extra newline character to continuation line
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 15:13:35 +0900] rev 22565
heredoctest: do not append extra newline character to continuation line Trailing newline characters are kept in lines.
Sun, 28 Sep 2014 14:15:43 +0900 heredoctest: use the same dict for local/global contexts as in doctest
Yuya Nishihara <yuya@tcha.org> [Sun, 28 Sep 2014 14:15:43 +0900] rev 22564
heredoctest: use the same dict for local/global contexts as in doctest In order to mimic module-level evaluation, globals and locals should be the same object, so doctest does not pass separate locals dict. https://docs.python.org/2.7/reference/simple_stmts.html#exec This fixes NameError in the following example: >>> import foo >>> def bar(): ... foo # must exist in globalvars
Sat, 27 Sep 2014 12:37:53 +0900 cmdserver: drop useless in_ attribute from channeledoutput
Yuya Nishihara <yuya@tcha.org> [Sat, 27 Sep 2014 12:37:53 +0900] rev 22563
cmdserver: drop useless in_ attribute from channeledoutput The previous patch makes sure that in_ == out, so it's no longer needed to keep in_ for __getattr__. Also, it seems strange for channeledoutput to have in_ stream which is actually a writable file object.
Sat, 27 Sep 2014 12:27:03 +0900 cmdserver: get file attributes of 'e'-channel from stdout, not from stderr
Yuya Nishihara <yuya@tcha.org> [Sat, 27 Sep 2014 12:27:03 +0900] rev 22562
cmdserver: get file attributes of 'e'-channel from stdout, not from stderr It seems wrong to get attributes from object different than the underlying file. In the following example, it doesn't make sense to flush stderr after writing to stdout: self.ferr.write(str(a)) if not getattr(self.ferr, 'closed', False): self.ferr.flush()
Sat, 27 Sep 2014 12:15:01 +0900 cmdserver: correct doc of channeledoutput
Yuya Nishihara <yuya@tcha.org> [Sat, 27 Sep 2014 12:15:01 +0900] rev 22561
cmdserver: correct doc of channeledoutput in_ is only used as the source of file attributes.
Sat, 27 Sep 2014 14:47:52 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 27 Sep 2014 14:47:52 -0500] rev 22560
merge with stable
Fri, 26 Sep 2014 16:44:11 -0500 commands: add debuglocks to report/clear lock state
Matt Mackall <mpm@selenic.com> [Fri, 26 Sep 2014 16:44:11 -0500] rev 22559
commands: add debuglocks to report/clear lock state
Wed, 24 Sep 2014 11:20:35 -0700 test-convert-git.t: make copy detection deterministic
Siddharth Agarwal <sid0@fb.com> [Wed, 24 Sep 2014 11:20:35 -0700] rev 22558
test-convert-git.t: make copy detection deterministic Since both 'bar' and 'bar-copied' matched 'bar-copied2', Git's copy detection would sometimes result in 'bar' being the source for 'bar-copied2' and sometimes 'bar-copied'. Change bar in a separate commit so that that would no longer be the case.
Tue, 23 Sep 2014 17:12:27 -0700 revsetbenchmark: add a rebase-related revset to the benchmark list
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Sep 2014 17:12:27 -0700] rev 22557
revsetbenchmark: add a rebase-related revset to the benchmark list
Tue, 23 Sep 2014 17:09:19 -0700 revsetbenchmark: allow comments ('#' prefix) in the revset input
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Sep 2014 17:09:19 -0700] rev 22556
revsetbenchmark: allow comments ('#' prefix) in the revset input
Tue, 23 Sep 2014 17:08:49 -0700 revsetbenchmark: make it clear that revsets may be read from stdin
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 23 Sep 2014 17:08:49 -0700] rev 22555
revsetbenchmark: make it clear that revsets may be read from stdin
Sun, 21 Sep 2014 12:50:48 +0900 tags: use full hash for formatter output as in log or annotate commands
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Sep 2014 12:50:48 +0900] rev 22554
tags: use full hash for formatter output as in log or annotate commands
Sun, 21 Sep 2014 12:46:23 +0900 tags: change field name of formatter output to be the same as log command
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Sep 2014 12:46:23 +0900] rev 22553
tags: change field name of formatter output to be the same as log command Since -T option is not public yet, this won't break backward compatibility.
Sun, 21 Sep 2014 12:38:47 +0900 files: correct topic of formatter
Yuya Nishihara <yuya@tcha.org> [Sun, 21 Sep 2014 12:38:47 +0900] rev 22552
files: correct topic of formatter
Fri, 19 Sep 2014 18:40:39 -0700 revert: move targetsubs calculation down to its use
Durham Goode <durham@fb.com> [Fri, 19 Sep 2014 18:40:39 -0700] rev 22551
revert: move targetsubs calculation down to its use A future patch will be reorganizing this section of the code into two paths, and targetsubs complicates this by existing in the middle of one path, but not the other. We fix that by moving it 200 lines down, to the only place it's used.
Tue, 23 Sep 2014 14:20:08 -0400 help: document that default hgweb style is called paper (issue4373)
Augie Fackler <raf@durin42.com> [Tue, 23 Sep 2014 14:20:08 -0400] rev 22550
help: document that default hgweb style is called paper (issue4373)
Sat, 20 Sep 2014 14:16:39 -0700 help: update help for hgweb template and style (issue4373)
Arun Chandrasekaran <visionofarun@gmail.com> [Sat, 20 Sep 2014 14:16:39 -0700] rev 22549
help: update help for hgweb template and style (issue4373)
Tue, 23 Sep 2014 16:22:52 +0900 bundle2: rename functions that have the same name
Mike Hommey <mh@glandium.org> [Tue, 23 Sep 2014 16:22:52 +0900] rev 22548
bundle2: rename functions that have the same name
Sat, 20 Sep 2014 17:06:57 +0200 mq: write headers of new patches using patchheader
Mads Kiilerich <madski@unity3d.com> [Sat, 20 Sep 2014 17:06:57 +0200] rev 22547
mq: write headers of new patches using patchheader
Wed, 24 Sep 2014 02:41:11 +0200 mq: refactor patchheader header ordering to match export (BC)
Mads Kiilerich <madski@unity3d.com> [Wed, 24 Sep 2014 02:41:11 +0200] rev 22546
mq: refactor patchheader header ordering to match export (BC) The refactoring also gives more robust and extendable handling of other HG headers.
Sat, 20 Sep 2014 17:06:57 +0200 mq: upgrade non-plain patches to HG format when setting parent in patchheader
Mads Kiilerich <madski@unity3d.com> [Sat, 20 Sep 2014 17:06:57 +0200] rev 22545
mq: upgrade non-plain patches to HG format when setting parent in patchheader Parent will now always be updated or added when qrefreshing HG patches. Plain patches will not be changed, but patches that neither are plain nor HG will be upgraded to HG patches on first refresh.
Sat, 20 Sep 2014 17:06:56 +0200 mq: make patchheader .plainmode more reliable
Mads Kiilerich <madski@unity3d.com> [Sat, 20 Sep 2014 17:06:56 +0200] rev 22544
mq: make patchheader .plainmode more reliable Instead of having to make extra checks whenever we use .plainmode, let the initial value consider the actual patch header content.
Wed, 24 Sep 2014 21:50:03 -0700 bundle2: remove heads and common arguments to getbundle parts generators
Mike Hommey <mh@glandium.org> [Wed, 24 Sep 2014 21:50:03 -0700] rev 22543
bundle2: remove heads and common arguments to getbundle parts generators
Thu, 25 Sep 2014 11:47:57 +0900 bundle2: separate bundle10 and bundle2 cases in getbundle()
Mike Hommey <mh@glandium.org> [Thu, 25 Sep 2014 11:47:57 +0900] rev 22542
bundle2: separate bundle10 and bundle2 cases in getbundle() The primary goal is to make it easier for extensions to alter how bundle2 parts are laid out. They now can use the getbundle2partsgenerator decorator to add new parts, or directly act on getbundle2partsmapping to wrap existing part functions. Note the 'request for bundle10 must include changegroup' error was kept under the same conditions as before, although the logic changes don't make it obvious.
Thu, 25 Sep 2014 11:11:37 +0900 bundle2: pass b2caps down to functions adding bundle2 parts for getbundle
Mike Hommey <mh@glandium.org> [Thu, 25 Sep 2014 11:11:37 +0900] rev 22541
bundle2: pass b2caps down to functions adding bundle2 parts for getbundle
Wed, 24 Sep 2014 13:16:20 -0700 parsers: fix uninitialize variable warning
David Soria Parra <davidsp@fb.com> [Wed, 24 Sep 2014 13:16:20 -0700] rev 22540
parsers: fix uninitialize variable warning The heads pointer is not initialized correctly if filter is false, causing both clang and gcc to issue a warning. Correctly initialize heads to NULL.
Wed, 17 Sep 2014 11:00:03 -0700 revset: use `subset &` in bare `p2()`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 11:00:03 -0700] rev 22539
revset: use `subset &` in bare `p2()` This takes advantage of the `fullreposet` smartness with a nice speedup. It's a similar speedup to `p1()` when a merge is in progress (the non merge case is already lightning fast anyway.)
Wed, 17 Sep 2014 10:59:52 -0700 revset: use `subset &` in bare `p1()`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 10:59:52 -0700] rev 22538
revset: use `subset &` in bare `p1()` This takes advantage of the `fullreposet` smartness and yields a nice speedup. revset #0: p1() 0) wall 0.003256 comb 0.010000 user 0.010000 sys 0.000000 (best of 527) 1) wall 0.000066 comb 0.000000 user 0.000000 sys 0.000000 (best of 23224)
Wed, 17 Sep 2014 11:00:09 -0700 revset: use `subset &` in `rev`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 11:00:09 -0700] rev 22537
revset: use `subset &` in `rev` This takes advantage of the `fullreposet` smartness and yields a nice speedup. revset #0: rev(25) 0) wall 0.005480 comb 0.000000 user 0.000000 sys 0.000000 (best of 305) 1) wall 0.000052 comb 0.000000 user 0.000000 sys 0.000000 (best of 21891)
Wed, 17 Sep 2014 19:52:34 -0700 revset: use `subset &` in `origin`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 19:52:34 -0700] rev 22536
revset: use `subset &` in `origin` This takes advantage of the `fullreposet` smartness. revset #0: origin(tip) 0) wall 0.005353 comb 0.000000 user 0.000000 sys 0.000000 (best of 354) 1) wall 0.003080 comb 0.000000 user 0.000000 sys 0.000000 (best of 446)
Wed, 17 Sep 2014 10:59:16 -0700 revset: use `subset &` in `follow`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 10:59:16 -0700] rev 22535
revset: use `subset &` in `follow` This takes advantage of the `fullreposet` smartness. revset #0: follow(COPYING) 0) wall 0.002446 comb 0.000000 user 0.000000 sys 0.000000 (best of 735) 1) wall 0.000331 comb 0.000000 user 0.000000 sys 0.000000 (best of 5672)
Wed, 17 Sep 2014 10:58:50 -0700 revset: use `subset &` in `filelog`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 10:58:50 -0700] rev 22534
revset: use `subset &` in `filelog` This takes advantage of the `fullreposet` smartness. revset #0: file(COPYING) 0) wall 3.179066 comb 3.180000 user 3.140000 sys 0.040000 (best of 3) 1) wall 2.723699 comb 2.730000 user 2.690000 sys 0.040000 (best of 4)
Wed, 17 Sep 2014 10:58:39 -0700 revset: use `subset &` in `divergent`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 10:58:39 -0700] rev 22533
revset: use `subset &` in `divergent` This takes advantage of the `fullreposet` smartness. revset #0: divergent() 0) wall 0.002047 comb 0.000000 user 0.000000 sys 0.000000 (best of 813) 1) wall 0.000052 comb 0.000000 user 0.000000 sys 0.000000 (best of 22757)
Wed, 17 Sep 2014 10:57:57 -0700 revset: use `subset &` in `bisect`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 10:57:57 -0700] rev 22532
revset: use `subset &` in `bisect` This takes advantage of the `fullreposet` smartness. revset #0: bisect(range) 0) wall 0.014007 comb 0.010000 user 0.010000 sys 0.000000 (best of 115) 1) wall 0.005556 comb 0.010000 user 0.010000 sys 0.000000 (best of 235)
Wed, 17 Sep 2014 10:57:47 -0700 revset: use `subset &` in `ancestorspec`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 10:57:47 -0700] rev 22531
revset: use `subset &` in `ancestorspec` This takes advantage of the `fullreposet` smartness. revset #0: tip~25 0) wall 0.004800 comb 0.010000 user 0.010000 sys 0.000000 (best of 259) 1) wall 0.002475 comb 0.000000 user 0.000000 sys 0.000000 (best of 717)
Wed, 17 Sep 2014 19:57:09 -0700 revset: use `subset &` in `bookmark`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 19:57:09 -0700] rev 22530
revset: use `subset &` in `bookmark` Speedup, Weeeeeee! revset #0: bookmark() 0) wall 0.002240 comb 0.000000 user 0.000000 sys 0.000000 (best of 571) 1) wall 0.000132 comb 0.000000 user 0.000000 sys 0.000000 (best of 14059)
Wed, 17 Sep 2014 10:59:40 -0700 revset: use `subset &` in `outgoing`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 17 Sep 2014 10:59:40 -0700] rev 22529
revset: use `subset &` in `outgoing` This should give us the same benefit as elsewhere. Result is simpler (and "faster"). Outgoing is dominated by the discovery so no benchmark is provided.
Wed, 30 Apr 2014 16:56:48 -0700 revset: avoid in loop lookup in _generatorset._consumegen
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 30 Apr 2014 16:56:48 -0700] rev 22528
revset: avoid in loop lookup in _generatorset._consumegen Python lookups are slow, so do all lookup outside of the for loop. This provide a small but still significant speedup: revset #0: 0:: 0) wall 0.063258 comb 0.060000 user 0.060000 sys 0.000000 (best of 100) 1) wall 0.057776 comb 0.050000 user 0.050000 sys 0.000000 (best of 100)
Fri, 25 Apr 2014 14:51:24 -0700 revset: reduce dict lookup in lazyset.__contains__
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Apr 2014 14:51:24 -0700] rev 22527
revset: reduce dict lookup in lazyset.__contains__ Avoid an extra dict lookup when we have to compute the value. No visible performance impact but this shaves the yak a few extra nanometers.
Fri, 25 Apr 2014 17:53:58 -0700 revset: do less lookup during spanset.__contains__
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 25 Apr 2014 17:53:58 -0700] rev 22526
revset: do less lookup during spanset.__contains__ Attribute lookup is slow in python. So this version is going to be a bit faster. This does not have a visible impact since the rest of the stack is much slower but this shaves the yak a few extra nanometers. Moreover the new version is more readable so it worth doing this change for code quality purpose. This optimisation was approved by a core python dev.
Tue, 16 Sep 2014 23:10:39 -0700 largefiles: simplify iteration over standins
Martin von Zweigbergk <martinvonz@gmail.com> [Tue, 16 Sep 2014 23:10:39 -0700] rev 22525
largefiles: simplify iteration over standins Instead of iterating over all files in the context and ignoring those that are not standins, pass a standin-matcher to the context and iterate over only the files matching. Apart from making the intent clearer, this implementation will also benefit from any future optimizations done to the manifest walking code.
Tue, 16 Sep 2014 22:50:38 -0700 largefiles: avoid using 'lfiles' variable for two purposes
Martin von Zweigbergk <martinvonz@gmail.com> [Tue, 16 Sep 2014 22:50:38 -0700] rev 22524
largefiles: avoid using 'lfiles' variable for two purposes The variable 'lfiles' is first used for a set of the names of all the large files. It is then overwritten with a tuple like the ones returned from status(). To reduce confusion, let's create a separate variable for the second use.
Mon, 22 Sep 2014 13:05:36 -0700 largefiles: remove unnecessary clearing of status fields
Martin von Zweigbergk <martinvonz@gmail.com> [Mon, 22 Sep 2014 13:05:36 -0700] rev 22523
largefiles: remove unnecessary clearing of status fields At the end of lfilesrepo.status(), we clear the lists of unknown, ignored and clean files, depending on the values of 'listunknown' etc. The lists originate from other calls to status(), and it is only 'clean' that may get updated after the calls. Let's remove the need to clear any of the lists by explicitly only adding to 'clean' when 'listclean' is true.
Wed, 24 Sep 2014 01:39:25 +0200 mq: simplify patchheader handling of the empty line before the diff
Mads Kiilerich <madski@unity3d.com> [Wed, 24 Sep 2014 01:39:25 +0200] rev 22522
mq: simplify patchheader handling of the empty line before the diff Don't try to append empty lines to HG patch headers - instead, add them in str method. This minor change removes some apparently redundant code and makes the code more robust.
Wed, 24 Sep 2014 01:36:44 +0200 mq: write '# Parent ' lines with two spaces like export does (BC)
Mads Kiilerich <madski@unity3d.com> [Wed, 24 Sep 2014 01:36:44 +0200] rev 22521
mq: write '# Parent ' lines with two spaces like export does (BC) This aligns "Parent" node IDs with "Node ID" node IDs.
Sat, 20 Sep 2014 17:06:56 +0200 mq: write headers for new HG patches in the same order as export (BC)
Mads Kiilerich <madski@unity3d.com> [Sat, 20 Sep 2014 17:06:56 +0200] rev 22520
mq: write headers for new HG patches in the same order as export (BC)
Sat, 20 Sep 2014 17:06:56 +0200 mq: correctly make an empty line after description in new patches
Mads Kiilerich <madski@unity3d.com> [Sat, 20 Sep 2014 17:06:56 +0200] rev 22519
mq: correctly make an empty line after description in new patches There would in some cases be an empty line between headers and the description - that does not seem right. There should also be an empty line between description and diff - but that was missing. These two mistakes would sometimes make it up for each other so we fix both at once to just show the improvement. Instead of writing an extra newline when writing a header line, write an extra line when it not is written as a part of the description but is necessary anyway.
Tue, 16 Sep 2014 14:51:56 -0700 largefiles: extract 'orig' method in reposetup.status
Martin von Zweigbergk <martinvonz@gmail.com> [Tue, 16 Sep 2014 14:51:56 -0700] rev 22518
largefiles: extract 'orig' method in reposetup.status
Tue, 16 Sep 2014 14:51:25 -0700 largefiles: extract 'orig' method in lfilesctx.filectx
Martin von Zweigbergk <martinvonz@gmail.com> [Tue, 16 Sep 2014 14:51:25 -0700] rev 22517
largefiles: extract 'orig' method in lfilesctx.filectx
Tue, 16 Sep 2014 14:50:38 -0700 largefiles: extract 'orig' method in lfilesmanifestdict.__contains__
Martin von Zweigbergk <martinvonz@gmail.com> [Tue, 16 Sep 2014 14:50:38 -0700] rev 22516
largefiles: extract 'orig' method in lfilesmanifestdict.__contains__
Tue, 16 Sep 2014 14:40:25 -0700 largefiles: reduce indentation by dropping 'else' block after 'return'
Martin von Zweigbergk <martinvonz@gmail.com> [Tue, 16 Sep 2014 14:40:25 -0700] rev 22515
largefiles: reduce indentation by dropping 'else' block after 'return'
Tue, 16 Sep 2014 11:35:13 -0700 largefiles: remove dead assignment left over from change 1ff42ee98446
Martin von Zweigbergk <martinvonz@gmail.com> [Tue, 16 Sep 2014 11:35:13 -0700] rev 22514
largefiles: remove dead assignment left over from change 1ff42ee98446
Fri, 19 Sep 2014 13:49:58 -0700 match: simplify brittle predicate construction
Martin von Zweigbergk <martinvonz@gmail.com> [Fri, 19 Sep 2014 13:49:58 -0700] rev 22513
match: simplify brittle predicate construction In match.__init__(), we create the matchfn predicate by and-ing together the individual predicates for includes, excludes (negated) and patterns. Instead of the current set of nested if/else blocks, we can simplify by adding the predicates to a list and defining the overall predicate in a generic way based on the components. We can still optimize it for the 0-length and 1-length cases. This way, there is no combinatorial explosion to deal with if new component predicates are added, and there is less risk of getting the overall predicate wrong.
Tue, 23 Sep 2014 14:45:23 -0700 convert: change default for git rename detection to 50%
Siddharth Agarwal <sid0@fb.com> [Tue, 23 Sep 2014 14:45:23 -0700] rev 22512
convert: change default for git rename detection to 50% This default mirrors the default for 'git diff'. Other commands have slightly different defaults -- for example, the move/copy detection for 'git blame' assumes that a hunk is moved if more than 40 alphanumeric characters are the same, or copied if more than 20 alphanumeric characters are the same. 50% seems to be the most common default, though.
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip