Wed, 19 Sep 2012 14:00:23 +0200 store: add a fallback _pathencode Python function
Adrian Buehlmann <adrian@cadifra.com> [Wed, 19 Sep 2012 14:00:23 +0200] rev 17624
store: add a fallback _pathencode Python function which does the equivalent of parsers.pathencode, so it can be used as a default
Wed, 19 Sep 2012 13:58:51 +0200 store: move _plainhybridencode and _dothybridencode higher up in the file
Adrian Buehlmann <adrian@cadifra.com> [Wed, 19 Sep 2012 13:58:51 +0200] rev 17623
store: move _plainhybridencode and _dothybridencode higher up in the file no functional change
Wed, 19 Sep 2012 11:39:18 +0200 test-hybridencode: use store._dothybridencode(s)
Adrian Buehlmann <adrian@cadifra.com> [Wed, 19 Sep 2012 11:39:18 +0200] rev 17622
test-hybridencode: use store._dothybridencode(s) and compare it with the result of store._hybridencode(s, True)
Wed, 19 Sep 2012 11:39:07 +0200 store: fix _hashencode call in _dothybridencode
Adrian Buehlmann <adrian@cadifra.com> [Wed, 19 Sep 2012 11:39:07 +0200] rev 17621
store: fix _hashencode call in _dothybridencode Fixes 7840d81a80ec
Wed, 19 Sep 2012 12:29:12 +0200 check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 19 Sep 2012 12:29:12 +0200] rev 17620
check-code: catch yield inside try/finally (with tests) This is not allowed in Python 2.4.
Tue, 18 Sep 2012 16:30:21 -0700 Merge with mpm
Bryan O'Sullivan <bryano@fb.com> [Tue, 18 Sep 2012 16:30:21 -0700] rev 17619
Merge with mpm
Tue, 18 Sep 2012 16:25:20 -0700 store: use native fncache encoding function if available
Bryan O'Sullivan <bryano@fb.com> [Tue, 18 Sep 2012 16:25:20 -0700] rev 17618
store: use native fncache encoding function if available This currently falls back to Python for hashed encoding.
Tue, 18 Sep 2012 16:09:02 -0700 tests: run test-hybridencode.py over both Python and C encoders
Bryan O'Sullivan <bryano@fb.com> [Tue, 18 Sep 2012 16:09:02 -0700] rev 17617
tests: run test-hybridencode.py over both Python and C encoders This ensures that the two always give the same answers.
Tue, 18 Sep 2012 15:42:19 -0700 store: implement fncache basic path encoding in C
Bryan O'Sullivan <bryano@fb.com> [Tue, 18 Sep 2012 15:42:19 -0700] rev 17616
store: implement fncache basic path encoding in C (This is not yet enabled; it will be turned on in a followup patch.) The path encoding performed by fncache is complex and (perhaps surprisingly) slow enough to negatively affect the overall performance of Mercurial. For a short path (< 120 bytes), the Python code can be reduced to a fairly tractable state machine that either determines that nothing needs to be done in a single pass, or performs the encoding in a second pass. For longer paths, we avoid the more complicated hashed encoding scheme for now, and fall back to Python. Raw performance: I measured in a repo containing 150,000 files in its tip manifest, with a median path name length of 57 bytes, and 95th percentile of 96 bytes. In this repo, the Python code takes 3.1 seconds to encode all path names, while the hybrid C-and-Python code (called from Python) takes 0.21 seconds, for a speedup of about 14. Across several other large repositories, I've measured the speedup from the C code at between 26x and 40x. For path names above 120 bytes where we must fall back to Python for hashed encoding, the speedup is about 1.7x. Thus absolute performance will depend strongly on the characteristics of a particular repository.
Tue, 18 Sep 2012 23:32:42 +0200 rebase: ensure rebase does not revive extinct revision
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 18 Sep 2012 23:32:42 +0200] rev 17615
rebase: ensure rebase does not revive extinct revision Here, we exclude hidden changesets from a rebase operation. If we don't, a rewritten version of the hidden changesets will be created by rebase. Those rewritten versions won't be hidden and will likely conflict with other rewriting or revive pruned changeset. Moreover, rewriting hidden revisions will surprise the user. This change would not be necessary if changelog filtering were already in core. But it's fairly cheap and helps to increase the test-suite for such filtering. Once changelog level filtering is added, hidden changes will be automatically excluded or included according to the global --hidden flags. Plain ignoring them is good enough for now.
Tue, 18 Sep 2012 23:29:05 +0200 rebase: remove useless list around repo.revs
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 18 Sep 2012 23:29:05 +0200] rev 17614
rebase: remove useless list around repo.revs As repo.revs already returns a list.
Tue, 18 Sep 2012 23:42:27 +0200 rebase: properly handle --collapse when creating obsolescence marker
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 18 Sep 2012 23:42:27 +0200] rev 17613
rebase: properly handle --collapse when creating obsolescence marker In collapse mode, that content of state is not suitable to compute obsolescence markers. We explicitly pass the resulting revision instead and use it as the successors for all elements of the rebased set.
Tue, 18 Sep 2012 23:13:31 +0200 rebase: allow creation obsolescence relation instead of stripping
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Tue, 18 Sep 2012 23:13:31 +0200] rev 17612
rebase: allow creation obsolescence relation instead of stripping When obsolescence feature is enabled we now create markers from the rebased set to the resulting set instead of stripping. The "state" mapping built by rebase holds all necessary data. Changesets "deleted" by the rebase are marked "succeeded" by the changeset they would be rebased one. That the best guess of "successors" we have. Getting a successors as meaningful as possible is important for automatic resolution of obsolescence troubles. In other word, emptied changeset will looks collapsed with their former parents. (see "empty changeset" section of the test if you are still confused)
Tue, 18 Sep 2012 22:58:12 +0200 rebase: extract final changesets cleanup logic in a dedicated function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Tue, 18 Sep 2012 22:58:12 +0200] rev 17611
rebase: extract final changesets cleanup logic in a dedicated function At the end of the rebase, rebased changesets are currently stripped. This behavior will be eventually dropped in favor of obsolescence marker creation. The main rebase function is already big and branchy enough. This changeset move the clean-up logic in a dedicated function before we make it more complex.
Tue, 18 Sep 2012 14:37:32 -0700 store: refactor hashed encoding into its own function
Bryan O'Sullivan <bryano@fb.com> [Tue, 18 Sep 2012 14:37:32 -0700] rev 17610
store: refactor hashed encoding into its own function
Tue, 18 Sep 2012 19:51:59 +0200 store: reuse direncoded path in _hybridencode
Adrian Buehlmann <adrian@cadifra.com> [Tue, 18 Sep 2012 19:51:59 +0200] rev 17609
store: reuse direncoded path in _hybridencode For a netbeans clone on Windows 7 x64: Before: $ hg perffncacheencode ! wall 3.516000 comb 3.525623 user 3.525623 sys 0.000000 (best of 3) After: $ hg perffncacheencode ! wall 3.443000 comb 3.447622 user 3.447622 sys 0.000000 (best of 3)
Tue, 18 Sep 2012 19:51:48 +0200 store: extract functions _encodefname and _decodefname
Adrian Buehlmann <adrian@cadifra.com> [Tue, 18 Sep 2012 19:51:48 +0200] rev 17608
store: extract functions _encodefname and _decodefname
Tue, 18 Sep 2012 11:44:16 +0200 store: use fast C implementation of encodedir() if it's available
Adrian Buehlmann <adrian@cadifra.com> [Tue, 18 Sep 2012 11:44:16 +0200] rev 17607
store: use fast C implementation of encodedir() if it's available For a netbeans clone on Windows 7 x64: Encoding all paths in the fncache: Before: $ hg perffncacheencode ! wall 3.639000 comb 3.634823 user 3.634823 sys 0.000000 (best of 3) After: $ hg perffncacheencode ! wall 3.470000 comb 3.463222 user 3.463222 sys 0.000000 (best of 3) Writing fncache: Before: $ hg perffncachewrite ! wall 0.103000 comb 0.093601 user 0.093601 sys 0.000000 (best of 95) After: $ hg perffncachewrite ! wall 0.081000 comb 0.078001 user 0.062400 sys 0.015600 (best of 100)
Tue, 18 Sep 2012 11:43:30 +0200 pathencode: new C module with fast encodedir() function
Adrian Buehlmann <adrian@cadifra.com> [Tue, 18 Sep 2012 11:43:30 +0200] rev 17606
pathencode: new C module with fast encodedir() function Not yet used (will be enabled in a later patch). This patch is a stripped down version of patches originally created by Bryan O'Sullivan <bryano@fb.com>
Tue, 18 Sep 2012 07:58:50 +0200 store: add multiline doctest case for encodedir()
Adrian Buehlmann <adrian@cadifra.com> [Tue, 18 Sep 2012 07:58:50 +0200] rev 17605
store: add multiline doctest case for encodedir() a followup to 64c6a0d4d4bd
Mon, 17 Sep 2012 11:00:38 +0200 store: optimize fncache._load a bit by dirdecoding the contents in one go
Adrian Buehlmann <adrian@cadifra.com> [Mon, 17 Sep 2012 11:00:38 +0200] rev 17604
store: optimize fncache._load a bit by dirdecoding the contents in one go For a netbeans clone on Windows 7 x64: Before: $ hg perffncacheload ! wall 0.124000 comb 0.124801 user 0.124801 sys 0.000000 (best of 76) After: $ hg perffncacheload ! wall 0.096000 comb 0.093601 user 0.078001 sys 0.015600 (best of 97)
Tue, 18 Sep 2012 17:00:58 +0200 wireproto: workaround for yield inside try/finally incompatible with python2.4
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 18 Sep 2012 17:00:58 +0200] rev 17603
wireproto: workaround for yield inside try/finally incompatible with python2.4
Tue, 18 Sep 2012 16:19:56 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 18 Sep 2012 16:19:56 -0500] rev 17602
merge with stable
Sun, 09 Sep 2012 12:43:24 -0400 largefiles: delegate to the wrapped clone command stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 09 Sep 2012 12:43:24 -0400] rev 17601
largefiles: delegate to the wrapped clone command This allows the wrapped command's validation code to run (which is currently only to ensure 'noupdate' and 'updaterev' aren't both specified), the copy/pasted unpacking of hg.clone() args to be removed, and any future changes to the base command (however unlikely) to be inherited by largefiles. Unfortunately, the command override can't be swapped entirely for an hg.clone() override because the extra --all-largefiles arg needs to be injected. It also isn't enough to call the wrapped clone command and leave the caching code after it, because the file caching code needs access to the destination repo, which is only available from hg.clone(). An alternative would be to use the dest path in the clone command override to re-obtain a reference to the repo. A slight deviation from the regular hg.clone() function is that the repo is NOT deleted if the caching fails, but that was also the previous behavior. Maybe it should for consistency?
Sun, 09 Sep 2012 12:09:53 -0400 largefiles: don't convert dest=None to dest=hg.defaultdest() in clone command stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 09 Sep 2012 12:09:53 -0400] rev 17600
largefiles: don't convert dest=None to dest=hg.defaultdest() in clone command A status message is output if hg.clone() determines the default destination because None was provided. The previous code never passed None to hg.clone().
Sun, 09 Sep 2012 03:37:38 -0400 largefiles: restore caching of largefiles with 'clone -U --all-largefiles' stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 09 Sep 2012 03:37:38 -0400] rev 17599
largefiles: restore caching of largefiles with 'clone -U --all-largefiles' This was broken when restoring normal -u and -U functionality.
Sat, 08 Sep 2012 13:31:06 -0400 largefiles: restore normal 'clone -u' and 'clone -U' functionality stable
Matt Harbison <matt_harbison@yahoo.com> [Sat, 08 Sep 2012 13:31:06 -0400] rev 17598
largefiles: restore normal 'clone -u' and 'clone -U' functionality Previously, tip would be checked out regardless of the -u or -U parameter. I'm not sure what the 'required for successful walkchangerevs' comment meant, but it appears to reference code which has since moved to downloadlfiles() in 7d6a660ca151. Perhaps it was to force caching when the -U parameter is given? The price of this change is that -U --all-largefiles won't cache anything. That will be fixed next. Note that X + Y in the 'X largefiles updated, n removed' and 'Y additional largefiles cached' lines do not add up to the same values in these tests, but all of the largefiles have been downloaded. The reason being that several largefiles have the same content (eb7338044 is pointed to by sub/large2, large3 and sub/large4). In the 'clone -u 1' operation, this largefile is cached to populate the working directory, even without --all-largefiles. That means the file isn't downloaded again and cached in the rev where large3 and sub/large4 both point to this file. Downloading that one file in that one rev seems to be counted twice with 'clone -u 0'. (Maybe it is also being downloaded twice?)
Sat, 15 Sep 2012 22:50:34 -0400 formatter: add base implementation of data method
David M. Carr <david@carrclan.us> [Sat, 15 Sep 2012 22:50:34 -0400] rev 17597
formatter: add base implementation of data method Previously, nothing was done with the passed in values, which clearly wasn't the intention.
Tue, 18 Sep 2012 15:36:58 +0200 merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 18 Sep 2012 15:36:58 +0200] rev 17596
merge with stable
Tue, 18 Sep 2012 15:30:22 +0200 merge with main
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 18 Sep 2012 15:30:22 +0200] rev 17595
merge with main
Tue, 18 Sep 2012 15:29:43 +0200 largefiles: fix trailing spaces in test-largefiles.t stable
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 18 Sep 2012 15:29:43 +0200] rev 17594
largefiles: fix trailing spaces in test-largefiles.t With the default branch this will cause warnings from check-code.
Sun, 16 Sep 2012 22:43:24 +0200 test-hybridencode: add a case for direncode
Adrian Buehlmann <adrian@cadifra.com> [Sun, 16 Sep 2012 22:43:24 +0200] rev 17593
test-hybridencode: add a case for direncode
Mon, 17 Sep 2012 08:58:35 +0200 store: optimize fncache._write by direncoding the contents in one go
Adrian Buehlmann <adrian@cadifra.com> [Mon, 17 Sep 2012 08:58:35 +0200] rev 17592
store: optimize fncache._write by direncoding the contents in one go For a netbeans clone on Windows 7 x64: Before: $ hg perffncachewrite ! wall 0.210000 comb 0.218401 user 0.202801 sys 0.015600 (best of 47) After: $ hg perffncachewrite ! wall 0.104000 comb 0.109201 user 0.078000 sys 0.031200 (best of 95)
Sun, 16 Sep 2012 11:41:02 +0200 store: move encode lambda logic into fncachestore
Adrian Buehlmann <adrian@cadifra.com> [Sun, 16 Sep 2012 11:41:02 +0200] rev 17591
store: move encode lambda logic into fncachestore and define two named functions at module scope. This again also speeds up perffncacheencode a little bit.
Sun, 16 Sep 2012 11:36:14 +0200 store: eliminate one level of lambda functions on _hybridencode
Adrian Buehlmann <adrian@cadifra.com> [Sun, 16 Sep 2012 11:36:14 +0200] rev 17590
store: eliminate one level of lambda functions on _hybridencode
Sun, 16 Sep 2012 11:36:06 +0200 store: parameter path of _auxencode is now a list of strings
Adrian Buehlmann <adrian@cadifra.com> [Sun, 16 Sep 2012 11:36:06 +0200] rev 17589
store: parameter path of _auxencode is now a list of strings
Sun, 16 Sep 2012 11:36:00 +0200 store: keep an accumulated length for the shorted dirs in _hybridencode
Adrian Buehlmann <adrian@cadifra.com> [Sun, 16 Sep 2012 11:36:00 +0200] rev 17588
store: keep an accumulated length for the shorted dirs in _hybridencode so we don't have to repeatedly do '/'.join(sdirs) inside the loop
Sun, 16 Sep 2012 11:35:55 +0200 store: reorder basename assignment in _hybridencode
Adrian Buehlmann <adrian@cadifra.com> [Sun, 16 Sep 2012 11:35:55 +0200] rev 17587
store: reorder basename assignment in _hybridencode
Sat, 15 Sep 2012 21:44:08 +0200 store: remove uneeded startswith('data/') checks in encodedir() and decodedir()
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:44:08 +0200] rev 17586
store: remove uneeded startswith('data/') checks in encodedir() and decodedir() I don't think we will ever have anything in the store that resides inside a directory that ends in .i or .d under store/ that we wouldn't want to have direncoded. The files not under data/ surely don't need direncoding, but it doesn't harm to let these few run through it. It hurts more to check whether the thousands of other files start with 'data/'. They do anyway. See also 810387f59696 (fixed with c31fe74a6633), which moved the direncoding from filelog into store
Sat, 15 Sep 2012 21:43:56 +0200 store: remove uneeded startswith('data/') check in _hybridencode()
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:43:56 +0200] rev 17585
store: remove uneeded startswith('data/') check in _hybridencode()
Sat, 15 Sep 2012 21:43:14 +0200 store: refactor splitting off of "data/" in _hybridencode()
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:43:14 +0200] rev 17584
store: refactor splitting off of "data/" in _hybridencode() encodefilename() already calls encodedir(). Note that encodedir() skips the encoding if the path doesn't start with "data/".
Mon, 17 Sep 2012 15:13:17 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 17 Sep 2012 15:13:17 -0500] rev 17583
merge with stable
Mon, 17 Sep 2012 15:13:03 -0500 merge with crew stable
Matt Mackall <mpm@selenic.com> [Mon, 17 Sep 2012 15:13:03 -0500] rev 17582
merge with crew
Mon, 17 Sep 2012 21:53:50 +0200 Merge with stable
Patrick Mezard <patrick@mezard.eu> [Mon, 17 Sep 2012 21:53:50 +0200] rev 17581
Merge with stable
Mon, 17 Sep 2012 21:33:16 +0200 hgweb: fix incorrect graph padding calculation (issue3626) stable
Tim Delaney <timothy.c.delaney@gmail.com> [Mon, 17 Sep 2012 21:33:16 +0200] rev 17580
hgweb: fix incorrect graph padding calculation (issue3626) hgweb has an incorrect padding calculation, causing the text to move further away from the graph the more branches there are (issue3626). This patch fixes all existing templates (gitweb, monoblue, paper and spartan). Tests updated by Patrick Mezard <patrick@mezard.eu>
Wed, 05 Sep 2012 22:42:23 -0400 largefiles: preserve the exit status of the forget command stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Sep 2012 22:42:23 -0400] rev 17579
largefiles: preserve the exit status of the forget command This maintains the exit codes documented in commands.py.
Wed, 05 Sep 2012 22:31:03 -0400 largefiles: preserve the exit status of the rebase command stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Sep 2012 22:31:03 -0400] rev 17578
largefiles: preserve the exit status of the rebase command
Wed, 05 Sep 2012 22:12:40 -0400 largefiles: preserve the exit status of the log command stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Sep 2012 22:12:40 -0400] rev 17577
largefiles: preserve the exit status of the log command
Sun, 09 Sep 2012 20:18:08 -0400 largefiles: exit from remove with 1 on warnings stable
Matt Harbison <matt_harbison@yahoo.com> [Sun, 09 Sep 2012 20:18:08 -0400] rev 17576
largefiles: exit from remove with 1 on warnings This maintains the exit codes documented in commands.py.
Wed, 05 Sep 2012 21:26:08 -0400 largefiles: preserve exit code from outgoing command (issue3611) stable
Matt Harbison <matt_harbison@yahoo.com> [Wed, 05 Sep 2012 21:26:08 -0400] rev 17575
largefiles: preserve exit code from outgoing command (issue3611) This maintains the exit codes documented in commands.py.
Sat, 15 Sep 2012 21:43:05 +0200 store: let _auxencode() return the list of path segments
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:43:05 +0200] rev 17574
store: let _auxencode() return the list of path segments so we can spare us splitting the path again in _hybridencode()
Sat, 15 Sep 2012 21:42:58 +0200 store: eliminate unneded last assignment to n in _auxencode()
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:42:58 +0200] rev 17573
store: eliminate unneded last assignment to n in _auxencode() The check for period or space at the end of the string is the last one, the local variable n is thus not used anymore.
Sat, 15 Sep 2012 21:42:52 +0200 store: unindent most of the contents of the for loop in _auxencode()
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:42:52 +0200] rev 17572
store: unindent most of the contents of the for loop in _auxencode() by refactoring for i, n in enumerate(res): if n: <main code block> to for i, n in enumerate(res): if not n: continue <main code block> (no functional change)
Sat, 15 Sep 2012 21:42:43 +0200 store: optimize _auxencode() by assigning to the list elements of the path
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:42:43 +0200] rev 17571
store: optimize _auxencode() by assigning to the list elements of the path
Sat, 15 Sep 2012 21:41:09 +0200 store: optimze _auxencode() a bit by grouping the reserved names by length
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:41:09 +0200] rev 17570
store: optimze _auxencode() a bit by grouping the reserved names by length This reduces perffncacheencode wall time on Windows 7 x64 for my netbeans clone here from 4.3 to 4.0 (7% faster).
Sat, 15 Sep 2012 21:41:53 +0200 store: explain "aux.foo" versus "foo.aux" in doc of _auxencode()
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:41:53 +0200] rev 17569
store: explain "aux.foo" versus "foo.aux" in doc of _auxencode()
Sat, 15 Sep 2012 21:41:45 +0200 store: add 'com0' and 'lpt0' doctest cases for _auxencode()
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Sep 2012 21:41:45 +0200] rev 17568
store: add 'com0' and 'lpt0' doctest cases for _auxencode() These are already covered by test-hybridencode.py, but they are so noteworthy that I think they deserve being shown right in that doctest.
Sat, 15 Sep 2012 08:38:02 +0200 wireproto: fix check-code.py breakage introduced by 6d97dd630d79
Patrick Mezard <patrick@mezard.eu> [Sat, 15 Sep 2012 08:38:02 +0200] rev 17567
wireproto: fix check-code.py breakage introduced by 6d97dd630d79
Sat, 15 Sep 2012 00:06:08 +0400 record: fix display of non-ASCII names in chunk selection
Nikolaj Sjujskij <sterkrig@myopera.com> [Sat, 15 Sep 2012 00:06:08 +0400] rev 17566
record: fix display of non-ASCII names in chunk selection b013baa3898e fixed display of non-ASCII names in file-selecting prompt, but display in chunk selection remained broken. The reason is that using '%r' in string formatting results in calling `repr` on file names, thus mangling non-ASCII ones.
Fri, 14 Sep 2012 21:05:24 +0200 tests: enable even more Windows server tests
Patrick Mezard <patrick@mezard.eu> [Fri, 14 Sep 2012 21:05:24 +0200] rev 17565
tests: enable even more Windows server tests
Fri, 14 Sep 2012 20:40:52 +0200 test-obsolete-checkheads: fix on windows
Patrick Mezard <patrick@mezard.eu> [Fri, 14 Sep 2012 20:40:52 +0200] rev 17564
test-obsolete-checkheads: fix on windows
Fri, 14 Sep 2012 12:09:44 -0700 sshserver: avoid a multi-dot attribute lookup in a hot loop
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:09:44 -0700] rev 17563
sshserver: avoid a multi-dot attribute lookup in a hot loop This improves stream_out performance by about 3%.
Fri, 14 Sep 2012 12:09:05 -0700 store: reduce string concatenation when joining
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:09:05 -0700] rev 17562
store: reduce string concatenation when joining This improves stream_out performance by a couple of percent.
Fri, 14 Sep 2012 12:08:55 -0700 scmutil: use the new faster path split
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:08:55 -0700] rev 17561
scmutil: use the new faster path split Combined with a few other patches in this series, this contributes to improving stream_out performance by 10%.
Fri, 14 Sep 2012 12:08:17 -0700 util: implement a faster os.path.split for posix systems
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:08:17 -0700] rev 17560
util: implement a faster os.path.split for posix systems This is not yet used.
Fri, 14 Sep 2012 12:07:33 -0700 scmutil: make join cheaper
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:07:33 -0700] rev 17559
scmutil: make join cheaper Combined with a few followup patches, this contributes to improving stream_out performance by 10%.
Fri, 14 Sep 2012 12:06:40 -0700 wireproto: don't format a debug string inside a hot loop
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:06:40 -0700] rev 17558
wireproto: don't format a debug string inside a hot loop This improves stream_out performance by about 5%.
Fri, 14 Sep 2012 12:05:37 -0700 wireproto: bypass filechunkiter for small files when streaming
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:05:37 -0700] rev 17557
wireproto: bypass filechunkiter for small files when streaming Merely creating and using a generator has a measurable impact, particularly since the common case for stream_out is generators that yield just once. Avoiding generators improves stream_out performance by about 7%.
Fri, 14 Sep 2012 12:05:12 -0700 wireproto: don't audit local paths during stream_out
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:05:12 -0700] rev 17556
wireproto: don't audit local paths during stream_out Auditing at this stage is both pointless (paths are already trusted by the local repo) and expensive. Skipping the audits improves stream_out performance by about 15%.
Fri, 14 Sep 2012 12:04:46 -0700 scmutil: delegate mustaudit property to the real opener
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:04:46 -0700] rev 17555
scmutil: delegate mustaudit property to the real opener This will be used by an upcoming patch.
Fri, 14 Sep 2012 12:04:35 -0700 scmutil: turn opener._audit into a property, mustaudit
Bryan O'Sullivan <bryano@fb.com> [Fri, 14 Sep 2012 12:04:35 -0700] rev 17554
scmutil: turn opener._audit into a property, mustaudit This will be used by an upcoming patch.
Fri, 14 Sep 2012 13:02:31 +0200 perf: add perffncacheencode
Adrian Buehlmann <adrian@cadifra.com> [Fri, 14 Sep 2012 13:02:31 +0200] rev 17553
perf: add perffncacheencode Examples (all done with somewhat dated clones I found on my disk): Netbeans (~120k entries in fncache): $ hg perffncacheencode ! wall 4.338000 comb 4.336828 user 4.336828 sys 0.000000 (best of 3) Openoffice (~77k entries in fncache)): $ hg perffncacheencode ! wall 1.533000 comb 1.528810 user 1.528810 sys 0.000000 (best of 7) Xen (~10k entries in fncache): $ hg perffncacheencode ! wall 0.198000 comb 0.187201 user 0.187201 sys 0.000000 (best of 51) Done on Windows 7 x64.
Thu, 13 Sep 2012 17:00:56 -0700 Merge with mpm
Bryan O'Sullivan <bryano@fb.com> [Thu, 13 Sep 2012 17:00:56 -0700] rev 17552
Merge with mpm
Sun, 26 Aug 2012 01:28:22 +0200 bookmark: take successors into account when updating (issue3561)
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sun, 26 Aug 2012 01:28:22 +0200] rev 17551
bookmark: take successors into account when updating (issue3561) When we rewrite a bookmarked changeset, we want to update the bookmark on its successors. But the successors are not descendants of its precursor (by definition). This changeset alters the bookmarks logic to update bookmark location if the newer location is a successor of the old one[1]. note: valid destinations are in fact any kind of successors of any kind of descendants (recursively.) This changeset requires the enabling of the obsolete feature in some bookmark tests.
Sun, 26 Aug 2012 00:28:56 +0200 bookmarks: extract valid destination logic in a dedicated function
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sun, 26 Aug 2012 00:28:56 +0200] rev 17550
bookmarks: extract valid destination logic in a dedicated function We usually update bookmarks only if the new location is descendant of the old bookmarks location. We extract this logic into a function. This is the first step to allow more complex logic using obsolescence in this validation of the bookmark movement.
Sun, 26 Aug 2012 00:27:44 +0200 checkheads: don't warn about unsynced changes that we ill obsolete
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sun, 26 Aug 2012 00:27:44 +0200] rev 17549
checkheads: don't warn about unsynced changes that we ill obsolete We won't be able to pull them after this push.
Sun, 26 Aug 2012 00:25:33 +0200 checkheads: check successors for new heads in both missing and common
Pierre-Yves David <pierre-yves.david@logilab.fr> [Sun, 26 Aug 2012 00:25:33 +0200] rev 17548
checkheads: check successors for new heads in both missing and common A relevant obsolete marker may have been added -after- we previously exchanged the changeset. We have to search for remote heads that disappear by the sole fact of pushing obsolescence. This case will also happen when remote got the new version from a repository that does not propagate obsolescence markers.
Fri, 24 Aug 2012 16:52:45 +0200 checkheads: attend to phases when computing new heads with obsolete
Pierre-Yves David <pierre-yves.david@logilab.fr> [Fri, 24 Aug 2012 16:52:45 +0200] rev 17547
checkheads: attend to phases when computing new heads with obsolete Checkheads was more permissive than expected. When the remote heads are public we don't need to search for successors. None will make a public head disappear.
Wed, 01 Aug 2012 19:35:05 +0200 test: add testing of checkheads behavior with obsolete
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 01 Aug 2012 19:35:05 +0200] rev 17546
test: add testing of checkheads behavior with obsolete Expected behavior is quite complex. Explicit testing with clear scenarios is welcome.
Thu, 13 Sep 2012 14:33:10 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 13 Sep 2012 14:33:10 -0500] rev 17545
merge with stable
Tue, 11 Sep 2012 10:59:21 -0300 i18n-pt_BR: synchronized with f5e86b416e05 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 11 Sep 2012 10:59:21 -0300] rev 17544
i18n-pt_BR: synchronized with f5e86b416e05
Tue, 11 Sep 2012 10:56:23 -0300 merge with i18n stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Tue, 11 Sep 2012 10:56:23 -0300] rev 17543
merge with i18n
Mon, 10 Sep 2012 09:40:42 +0200 i18n-de: Remove unused sprintf parameter stable
Martin Schröder <martin.schroeder@nerdluecht.de> [Mon, 10 Sep 2012 09:40:42 +0200] rev 17542
i18n-de: Remove unused sprintf parameter
Sat, 28 Jul 2012 23:28:17 +0200 tests: unset variable HG if it is set
Simon Heimberg <simohe@besonet.ch> [Sat, 28 Jul 2012 23:28:17 +0200] rev 17541
tests: unset variable HG if it is set When hg tries to call itself it can call a different hg executable when this variable is set. Some tests fail when the called hg version is different.
Thu, 13 Sep 2012 17:46:34 +0200 test-hybridencode: a few more cases
Adrian Buehlmann <adrian@cadifra.com> [Thu, 13 Sep 2012 17:46:34 +0200] rev 17540
test-hybridencode: a few more cases
Wed, 12 Sep 2012 22:21:54 +0200 tests: enable more server tests on Windows
Patrick Mezard <patrick@mezard.eu> [Wed, 12 Sep 2012 22:21:54 +0200] rev 17539
tests: enable more server tests on Windows
Wed, 12 Sep 2012 22:31:54 +0200 test-static-http.t: enable on Windows
Patrick Mezard <patrick@mezard.eu> [Wed, 12 Sep 2012 22:31:54 +0200] rev 17538
test-static-http.t: enable on Windows We cannot read $! to get the background job process identifier, with MinGW it can return internal identifiers not matching the native Windows ones. Instead we introduce a helper script polling on the pid file. We assume the pid file data will be written in order.
Tue, 11 Sep 2012 08:36:09 -0700 Merge spelling fixes
Bryan O'Sullivan <bryano@fb.com> [Tue, 11 Sep 2012 08:36:09 -0700] rev 17537
Merge spelling fixes
Fri, 17 Aug 2012 13:58:19 -0700 spelling: requested
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17536
spelling: requested
Fri, 17 Aug 2012 13:58:19 -0700 en-us: serialization
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17535
en-us: serialization
Fri, 17 Aug 2012 13:58:19 -0700 en-us: recognized
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17534
en-us: recognized
Fri, 17 Aug 2012 13:58:19 -0700 en-us: penalize
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17533
en-us: penalize
Fri, 17 Aug 2012 13:58:19 -0700 en-us: initialization
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17532
en-us: initialization
Fri, 17 Aug 2012 13:58:19 -0700 en-us: Initialize
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17531
en-us: Initialize
Fri, 17 Aug 2012 13:58:19 -0700 grammar: it-handles
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17530
grammar: it-handles
Fri, 17 Aug 2012 13:58:19 -0700 grammar: rolled-back
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17529
grammar: rolled-back
Fri, 17 Aug 2012 13:58:19 -0700 grammar: just-the-heads
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17528
grammar: just-the-heads
Fri, 17 Aug 2012 13:58:19 -0700 spelling: value
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17527
spelling: value
Fri, 17 Aug 2012 13:58:19 -0700 spelling: update
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17526
spelling: update
Fri, 17 Aug 2012 13:58:19 -0700 spelling: transferred
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17525
spelling: transferred
Fri, 17 Aug 2012 13:58:19 -0700 spelling: transaction
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17524
spelling: transaction
Fri, 17 Aug 2012 13:58:19 -0700 spelling: thoroughly
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17523
spelling: thoroughly
Fri, 17 Aug 2012 13:58:19 -0700 spelling: syntactic
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17522
spelling: syntactic
Fri, 17 Aug 2012 13:58:19 -0700 spelling: synchronize
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17521
spelling: synchronize
Fri, 17 Aug 2012 13:58:19 -0700 spelling: supersede
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17520
spelling: supersede
Fri, 17 Aug 2012 13:58:19 -0700 spelling: successfully
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17519
spelling: successfully
Fri, 17 Aug 2012 13:58:19 -0700 spelling: succeeded
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17518
spelling: succeeded
Fri, 17 Aug 2012 13:58:19 -0700 spelling: Structured
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17517
spelling: Structured
Fri, 17 Aug 2012 13:58:19 -0700 spelling: split
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17516
spelling: split
Fri, 17 Aug 2012 13:58:19 -0700 spelling: specific
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17515
spelling: specific
Fri, 17 Aug 2012 13:58:19 -0700 spelling: shouldn't
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17514
spelling: shouldn't
Fri, 17 Aug 2012 13:58:19 -0700 spelling: sentinel
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17513
spelling: sentinel
Fri, 17 Aug 2012 13:58:19 -0700 spelling: responsibility
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:19 -0700] rev 17512
spelling: responsibility
Fri, 17 Aug 2012 13:58:18 -0700 spelling: relies
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 17511
spelling: relies
Fri, 17 Aug 2012 13:58:18 -0700 spelling: release
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 17510
spelling: release
Fri, 17 Aug 2012 13:58:18 -0700 spelling: recursion
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 17509
spelling: recursion
Fri, 17 Aug 2012 13:58:18 -0700 spelling: propagated
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 17508
spelling: propagated
Fri, 17 Aug 2012 13:58:18 -0700 spelling: primarily
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 17507
spelling: primarily
Fri, 17 Aug 2012 13:58:18 -0700 spelling: prior
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 17506
spelling: prior
Fri, 17 Aug 2012 13:58:18 -0700 spelling: precede
timeless@mozdev.org [Fri, 17 Aug 2012 13:58:18 -0700] rev 17505
spelling: precede
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip