Thu, 24 Sep 2015 01:07:09 -0700 templater: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:07:09 -0700] rev 26334
templater: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:06:41 -0700 templater: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:06:41 -0700] rev 26333
templater: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:06:10 -0700 templater: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:06:10 -0700] rev 26332
templater: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:05:21 -0700 templater: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:05:21 -0700] rev 26331
templater: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:04:58 -0700 templater: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:04:58 -0700] rev 26330
templater: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:04:10 -0700 addremove: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:04:10 -0700] rev 26329
addremove: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:00:43 -0700 match: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:00:43 -0700] rev 26328
match: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs. We added support for None in the underlying function in the parent commit. therefore we do not need to do anything but passing None.
Thu, 24 Sep 2015 01:00:25 -0700 match: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:00:25 -0700] rev 26327
match: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:00:05 -0700 match: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:00:05 -0700] rev 26326
match: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 00:59:26 -0700 match: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 00:59:26 -0700] rev 26325
match: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 01:58:33 -0700 addremove: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 01:58:33 -0700] rev 26324
addremove: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Thu, 24 Sep 2015 00:56:30 -0700 tag: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 00:56:30 -0700] rev 26323
tag: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs. We just added support of None for the underlying function, so nothing else the required.
Thu, 24 Sep 2015 00:56:18 -0700 commit: remove a mutable default argument
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 24 Sep 2015 00:56:18 -0700] rev 26322
commit: remove a mutable default argument Mutable default arguments are know to the state of California to cause bugs.
Tue, 22 Sep 2015 14:09:42 -0700 lock: move acquirefn call to inside the lock
Siddharth Agarwal <sid0@fb.com> [Tue, 22 Sep 2015 14:09:42 -0700] rev 26321
lock: move acquirefn call to inside the lock We're going to need to call it again as part of reinitialization after a subprocess inherits the lock.
Tue, 22 Sep 2015 13:25:41 -0700 localrepo: call lock.lock with releasefn as a keyword arg
Siddharth Agarwal <sid0@fb.com> [Tue, 22 Sep 2015 13:25:41 -0700] rev 26320
localrepo: call lock.lock with releasefn as a keyword arg We'll be adding an acquirefn argument soon, and this makes that clearer.
Wed, 19 Aug 2015 15:11:17 -0500 copies: move debug statement to appropriate place
Matt Mackall <mpm@selenic.com> [Wed, 19 Aug 2015 15:11:17 -0500] rev 26319
copies: move debug statement to appropriate place
Wed, 19 Aug 2015 14:05:42 -0500 bidmerge: choose shortest list of diverge and rename/delete warnings
Matt Mackall <mpm@selenic.com> [Wed, 19 Aug 2015 14:05:42 -0500] rev 26318
bidmerge: choose shortest list of diverge and rename/delete warnings Slightly less arbitrary than choosing the first set.
Wed, 19 Aug 2015 14:04:54 -0500 copies: rename diverge2 to divergeset for clarity
Matt Mackall <mpm@selenic.com> [Wed, 19 Aug 2015 14:04:54 -0500] rev 26317
copies: rename diverge2 to divergeset for clarity
Wed, 19 Aug 2015 13:40:18 -0500 copies: begin separating mergecopies sides
Matt Mackall <mpm@selenic.com> [Wed, 19 Aug 2015 13:40:18 -0500] rev 26316
copies: begin separating mergecopies sides
Wed, 19 Aug 2015 13:09:54 -0500 copies: rename ctx() to getfctx() for clarity
Matt Mackall <mpm@selenic.com> [Wed, 19 Aug 2015 13:09:54 -0500] rev 26315
copies: rename ctx() to getfctx() for clarity
Wed, 23 Sep 2015 16:02:35 +0800 monoblue: port code selection without line numbers from gitweb
Anton Shestakov <av6@dwimlabs.net> [Wed, 23 Sep 2015 16:02:35 +0800] rev 26314
monoblue: port code selection without line numbers from gitweb This is adapted from 2239626369f5. It also fixes issue4790 in monoblue; tab characters now have meaningful width on the modified pages (file view, file diff, changeset).
Tue, 22 Sep 2015 15:10:24 -0500 help: copy-edit description of ui.supportcontact
Kevin Bullock <kbullock@ringworld.org> [Tue, 22 Sep 2015 15:10:24 -0500] rev 26313
help: copy-edit description of ui.supportcontact
Tue, 22 Sep 2015 16:56:34 -0700 ui: avoid mutable default arguments
Siddharth Agarwal <sid0@fb.com> [Tue, 22 Sep 2015 16:56:34 -0700] rev 26312
ui: avoid mutable default arguments I almost introduced a bug around this code by accidentally mutating a default argument. There's no reason for these to exist. It is OK to not assign {} to environ in ui.system because util.system knows how to deal with that.
Tue, 22 Sep 2015 16:55:18 -0700 util: avoid mutable default arguments
Siddharth Agarwal <sid0@fb.com> [Tue, 22 Sep 2015 16:55:18 -0700] rev 26311
util: avoid mutable default arguments I almost introduced a bug around this code by accidentally mutating a default argument. There's no reason for these to exist.
Sun, 13 Sep 2015 18:01:01 +0900 obsstore: fast path to check if obsstore is empty
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Sep 2015 18:01:01 +0900] rev 26310
obsstore: fast path to check if obsstore is empty
Sun, 13 Sep 2015 17:52:37 +0900 obsstore: delay loading markers from obsstore file
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Sep 2015 17:52:37 +0900] rev 26309
obsstore: delay loading markers from obsstore file This will allow us to use cached revisions without parsing obsstore. Because _version isn't determined at __init__, the debugobsconvert command no longer works correctly. I'll fix it by a separate patch for the evolve extension.
Sun, 13 Sep 2015 17:47:18 +0900 obsstore: initialize _all markers without using _addmarkers()
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Sep 2015 17:47:18 +0900] rev 26308
obsstore: initialize _all markers without using _addmarkers() The next patch will make _all variable propertycached to avoid costly parsing of obsstore. This means we can't call _addmarkers() to initialize _all. Because all cached markers depend on _all, it isn't necessary to update these caches when _all is initially loaded.
Wed, 23 Sep 2015 00:41:07 -0700 revset: avoid implicit None testing in revset
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 23 Sep 2015 00:41:07 -0700] rev 26307
revset: avoid implicit None testing in revset Implicit None testing is a very good way to get in trouble. We explicitly test for None.
Sun, 20 Sep 2015 16:53:42 -0700 revset: speed up existence checks for ordered filtered sets
Durham Goode <durham@fb.com> [Sun, 20 Sep 2015 16:53:42 -0700] rev 26306
revset: speed up existence checks for ordered filtered sets Previously, calling 'if foo:' on a ordered filtered set would start iterating in whatever the current direction was and return if a value was available. If the current direction was ascending, but the set had a fastdesc available, this meant we did a lot more work than necessary. If this was applied without my previous max/min fixes, it would improve max() performance (this was my first attempt at fixing the issue). Since those previous fixes went in though, this doesn't have a visible benefit in the benchmarks, but it does seem clearly better than it was before so I think it should still go in.
Sun, 20 Sep 2015 19:27:53 -0700 revset: remove existence check from min() and max()
Durham Goode <durham@fb.com> [Sun, 20 Sep 2015 19:27:53 -0700] rev 26305
revset: remove existence check from min() and max() min() and max() would first do an existence check. Unfortunately existence checks can be slow in certain situations (like if the smartset is a list, and quickly iterable in both ascending and descending directions, then doing an existence check will start from the bottom, even if you want to check the max()). The fix is to not do the check, and just handle the error if it happens. In a large repo, this speeds up: hg log -r 'max(parents(. + .^) - (. + .^) & ::master)' from 3.5s to 0.85s. That revset is contrived and just for testing. In our real case we used 'bundle()' in place of '. + .^' Interesting perf numbers for the revset benchmarks: max(draft() and ::tip) => 0.027s to 0.0005s max(author(lmoscovicz)) => 2.48s to 0.57s min doesn't show any perf changes, but changing it as well will prevent a perf regression in my next patch. Result from revset benchmark revset #0: draft() and ::tip min max 0) 0.001971 0.001991 1) 0.001965 0.000428 21% revset #1: ::tip and draft() min max 0) 0.002017 0.001912 1) 0.001896 94% 0.000421 22% revset #2: author(lmoscovicz) min max 0) 1.049033 1.358913 1) 1.042508 0.319824 23% revset #3: author(lmoscovicz) or author(mpm) min max 0) 1.042512 1.367432 1) 1.019750 0.327750 23% revset #4: author(mpm) or author(lmoscovicz) min max 0) 1.050135 0.324924 1) 1.070698 0.319913 revset #5: roots((tip~100::) - (tip~100::tip)) min max 0) 0.000671 0.001018 1) 0.000605 90% 0.000946 92% revset #6: roots((0::) - (0::tip)) min max 0) 0.149714 0.152369 1) 0.098677 65% 0.100374 65% revset #7: (20000::) - (20000) min max 0) 0.051019 0.042747 1) 0.035586 69% 0.016267 38%
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip