Fri, 12 Jun 2015 16:11:42 -0400 largefiles: restore the original converter class after lfconvert --to-normal
Matt Harbison <matt_harbison@yahoo.com> [Fri, 12 Jun 2015 16:11:42 -0400] rev 25560
largefiles: restore the original converter class after lfconvert --to-normal Not sure how much this really matters, but much of the largefiles code that monkey-patches like this restores things when it finishes.
Thu, 11 Jun 2015 13:02:21 -0700 push: only say we are trying to push obsmarkers when we actually try
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 13:02:21 -0700] rev 25559
push: only say we are trying to push obsmarkers when we actually try The message was issued unconditionally. Move it inside the `if` that actually tries to push obsmarkers.
Fri, 29 May 2015 13:25:34 -0400 convert: support incremental conversion with hg subrepos
Matt Harbison <matt_harbison@yahoo.com> [Fri, 29 May 2015 13:25:34 -0400] rev 25558
convert: support incremental conversion with hg subrepos This was implied in issue3486, which specifically asked for subrepo support in lfconvert. Now that lfconvert uses the convert extension internally when going to normal files, the issue is half fixed. But now even non largefile repos benefit when other transformations are needed. Supporting a full subrepo tree conversion from a single command doesn't seem reasonable, given the number of options that can be provided, and the transformations that would need to occur when entering a subrepo (consider 'filemap' paths). Instead, this allows the user to incrementally convert each hg subrepo from bottom up like so: # so convert knows the dest type when it sees a non empty dest dir $ hg init converted $ hg convert orig/sub1 converted/sub1 $ hg convert orig/sub2 converted/sub2 $ hg convert orig converted This allows different options to be applied to different subrepos more readily. It assumes the shamap is in the default location in each converted subrepo for simplicity. It also allows for a subrepo to be cloned into place, in case _it_ doesn't need a conversion. I was able to convert away from using largefiles/bfiles in several subrepos with this mechanism.
Fri, 05 Jun 2015 13:41:14 -0700 crecord: exit edition of hunk with non-zero status does not interrupt session
Laurent Charignon <lcharignon@fb.com> [Fri, 05 Jun 2015 13:41:14 -0700] rev 25557
crecord: exit edition of hunk with non-zero status does not interrupt session Before this patch, when editing a hunk, if the editor was exiting with a non- zero status the crecord session would be aborted. This patch makes crecord handle the failure and goes back to the state before the failed edition. We use the new error reporting mechanism introduced in the previous patch to notify the user of the issue.
Fri, 05 Jun 2015 13:53:49 -0700 crecord: add mechanism for error reporting
Laurent Charignon <lcharignon@fb.com> [Fri, 05 Jun 2015 13:53:49 -0700] rev 25556
crecord: add mechanism for error reporting Before this patch, there was no way to report errors in the crecord ui. This patch introduces a new variable errorstr. If set, its content replaces the top banner displayed in crecord until a key is pressed.
Fri, 05 Jun 2015 13:32:52 -0700 crecord: extract ui refresh code after editing of hunk in a function
Laurent Charignon <lcharignon@fb.com> [Fri, 05 Jun 2015 13:32:52 -0700] rev 25555
crecord: extract ui refresh code after editing of hunk in a function This is useful to reuse the logic to implement the continuation of the crecord session if the user edits a hunk and the editor exits with a non-zero status.
Thu, 11 Jun 2015 15:45:02 -0700 revset: mark spots that use 'set' instead of 'smartset'
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 15:45:02 -0700] rev 25554
revset: mark spots that use 'set' instead of 'smartset' Using smartset is better because we can do more optimisation on it. So we are marking the faulty spot for later processing.
Thu, 11 Jun 2015 15:43:11 -0700 revset: mark spot that feeds a set to a baseset
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 15:43:11 -0700] rev 25553
revset: mark spot that feeds a set to a baseset Sets have non-defined order and this should break stuff, but as we are lucky fullreposet is also broken so the result is "not too bad". We should fix it anyway, but it is too much for my current plate.
Thu, 11 Jun 2015 15:37:17 -0700 revset: mark the fact we should use '&' instead of 'filter' in 'head'
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 15:37:17 -0700] rev 25552
revset: mark the fact we should use '&' instead of 'filter' in 'head' I do not have time to fix all this now, let's mark it for later.
Thu, 11 Jun 2015 15:36:03 -0700 revset: gratuitous formating fix in keyword
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 15:36:03 -0700] rev 25551
revset: gratuitous formating fix in keyword You will be aligned.
Thu, 11 Jun 2015 14:27:52 -0700 revset: gratuitous code move in '_children'
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 14:27:52 -0700] rev 25550
revset: gratuitous code move in '_children' As 'cs' is empty as the time of the conditional, we can just return an empty 'baseset' and create the variable later.
Thu, 11 Jun 2015 14:26:44 -0700 revset: mark spots that should use 'smartset.min()'
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 14:26:44 -0700] rev 25549
revset: mark spots that should use 'smartset.min()' Using smartset's min will be significantly faster when the input set can provided an optimised answer. I do not have time to fix all of them but I'm marking the spot.
Thu, 11 Jun 2015 14:21:21 -0700 revset: mark the place where we are combining sets in the wrong direction
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 14:21:21 -0700] rev 25548
revset: mark the place where we are combining sets in the wrong direction We should always combine with subset as the left operand (to preserve the order). I do not have time to fix all of them so I'm just marking the spot.
Thu, 11 Jun 2015 14:00:13 -0700 revset: point out wrong behavior in fullreposet
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 14:00:13 -0700] rev 25547
revset: point out wrong behavior in fullreposet I cannot fix all issues in revset because I've got other things to do, but let's write down all the brokenness to help other people reading and fixing.
Wed, 10 Jun 2015 17:33:57 -0700 revsetbenchmarks: also display tag when printing a revision
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 10 Jun 2015 17:33:57 -0700] rev 25546
revsetbenchmarks: also display tag when printing a revision This is usually more useful information than the commit message.
Mon, 27 Oct 2014 13:40:12 +0100 revsetbenchmarks: clean up revsets that achieved with default variants
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 27 Oct 2014 13:40:12 +0100] rev 25545
revsetbenchmarks: clean up revsets that achieved with default variants We remove revset making use of min and max as this is covered by the variants. We could use variant for roots too, but it is not in the default so keep it here.
Tue, 09 Jun 2015 23:49:07 -0700 revsetbenchmarks: use combination variants in default set
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 23:49:07 -0700] rev 25544
revsetbenchmarks: use combination variants in default set Now that we have them, let's make use of them.
Tue, 09 Jun 2015 23:45:34 -0700 revsetbenchmarks: support combining variants with "+"
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 23:45:34 -0700] rev 25543
revsetbenchmarks: support combining variants with "+" We need more advanced variants in some cases. For example, "The last rev of the sorted version". We introduce a syntax for this: `reverse+last` means `last(reverse(REVSET))`.
Tue, 09 Jun 2015 21:10:44 -0700 revsetbenchmarks: use many more variants by default
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 21:10:44 -0700] rev 25542
revsetbenchmarks: use many more variants by default So far the variants feature was introduced, but not used by default. We now use a set of basic variants by default.
Tue, 09 Jun 2015 21:20:54 -0700 revsetbenchmarks: display even more compact timing result
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 21:20:54 -0700] rev 25541
revsetbenchmarks: display even more compact timing result We now use an 8 char display for timing (from 10), we add some logic to drop precision if the number grows too large (as we do not care about sub-0 digit in this case). This allow to pack more variants in a single screen.
Mon, 27 Oct 2014 11:59:39 +0100 revsetbenchmarks: allow running multiple variants per revset
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 27 Oct 2014 11:59:39 +0100] rev 25540
revsetbenchmarks: allow running multiple variants per revset The current benchmarks were only testing the whole iteration. This is suboptimal because some changes are meaningful for things like first result, minimum or sorting. We introduce a "variants" feature that let you systematically add some variants to all revsets tested. A typical variants value would be 'plain,min,last,sort'. When testing 'all()' it will also provide testing for: - all() - min(all()) - last(all()) - sort(sort) and output: plain min last sort 0) 0.034568 0.037857 0.000074 0.034238 1) 0.011358 32% 0.020181 53% 0.000080 108% 0.011405 33% Using revsets (who hit the API) instead of the internal API add some overhead, but the overhead should be the same everywhere so it still allow comparison. This is is more simple to implement and allows comparison with older versions who do not have the same API.
Tue, 09 Jun 2015 21:30:04 -0700 revsetbenchmarks: display relative change when meaningful
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 21:30:04 -0700] rev 25539
revsetbenchmarks: display relative change when meaningful If the time difference is more than 5% from the previous run, we'll display relative information. This makes it much simpler to spot performance changes in a sea of benchmarks.
Tue, 09 Jun 2015 18:53:04 -0700 revsetbenchmarks: improve revision printing
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:53:04 -0700] rev 25538
revsetbenchmarks: improve revision printing We now print the revision number and short hash inline. As a result we drop the crappy list printing.
Tue, 09 Jun 2015 18:40:06 -0700 revsetbenchmarks: hide most timing under a --verbose flag
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:40:06 -0700] rev 25537
revsetbenchmarks: hide most timing under a --verbose flag We mostly only care about total time. Dropping this output give us some room to display more useful information (like percentage different) in future changesets.
Tue, 09 Jun 2015 18:32:47 -0700 revsetbenchmarks: drop outdated comment
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:32:47 -0700] rev 25536
revsetbenchmarks: drop outdated comment We are no longer testing against system mercurial for quite some time.
Tue, 09 Jun 2015 18:39:55 -0700 revsetbenchmarks: fix argument parsing
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 18:39:55 -0700] rev 25535
revsetbenchmarks: fix argument parsing The file doc was saying something, the code was doing something else, the argument validation was doing a third thing. Doc and behavior now comply with the argument defined in the code.
Tue, 09 Jun 2015 17:15:48 -0700 revsetbenchmarks: use a more compact output format with a header
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 17:15:48 -0700] rev 25534
revsetbenchmarks: use a more compact output format with a header We change the output from: revset #0: draft() 0) wall 0.011989 comb 0.010000 user 0.000000 sys 0.010000 (best of 177) 1) wall 0.012226 comb 0.010000 user 0.000000 sys 0.010000 (best of 193) 2) wall 0.011838 comb 0.020000 user 0.000000 sys 0.020000 (best of 208) to: revset #0: draft() wall comb user sys count 0) 0.012028 0.010000 0.000000 0.010000 170 1) 0.012218 0.010000 0.000000 0.010000 157 2) 0.012622 0.010000 0.000000 0.010000 189 This opens the road to more useful output.
Fri, 12 Jun 2015 16:42:07 -0400 revsetbenchmarks: clarify comment based on irc discussion
Augie Fackler <augie@google.com> [Fri, 12 Jun 2015 16:42:07 -0400] rev 25533
revsetbenchmarks: clarify comment based on irc discussion
Thu, 11 Jun 2015 10:55:02 -0700 revsetbenchmarks: ensure all indexes have the same width
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 11 Jun 2015 10:55:02 -0700] rev 25532
revsetbenchmarks: ensure all indexes have the same width This avoids an alignment glitch.
Tue, 09 Jun 2015 16:57:18 -0700 revsetbenchmarks: factor out result output into a function
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 16:57:18 -0700] rev 25531
revsetbenchmarks: factor out result output into a function This will make update of the output easier.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip