Thu, 27 Sep 2012 14:38:03 -0700 lock: fixed race condition in trylock/testlock (issue3506) stable
Tomasz Kleczek <tomasz.kleczek@fb.com> [Thu, 27 Sep 2012 14:38:03 -0700] rev 17682
lock: fixed race condition in trylock/testlock (issue3506) Suppose the following scenario: 1. Process A takes the lock (e.g. on commit). 2. Process B wants to grab the lock. Since lock file exists the exception is raised. In the catch block the testlock function is called. 3. Process A releases the lock. 4. Process B tries to read the lock file as a part of testlock function. This results in OSError (ENOENT) and since we're not inside the exception handler function this is propagated and aborts the whole operation. To fix this we now check in testlock function whether lock file actually exists and if not (i.e. if readlock fails) we just return.
Sat, 29 Sep 2012 11:57:16 -0500 scmutil: backout 83785bb56062 (issue3643)
Matt Mackall <mpm@selenic.com> [Sat, 29 Sep 2012 11:57:16 -0500] rev 17681
scmutil: backout 83785bb56062 (issue3643)
Sat, 29 Sep 2012 13:34:37 +0200 help: removing trailing spaces
Juan Pablo Carbajal (desktop) <carbajal@ifi.uzh.ch> [Sat, 29 Sep 2012 13:34:37 +0200] rev 17680
help: removing trailing spaces
Sat, 29 Sep 2012 13:43:31 +0200 Merge with stable
Patrick Mezard <patrick@mezard.eu> [Sat, 29 Sep 2012 13:43:31 +0200] rev 17679
Merge with stable
Sat, 29 Sep 2012 13:33:55 +0200 test-largefiles.t: fix find quirk on OSX stable
Patrick Mezard <patrick@mezard.eu> [Sat, 29 Sep 2012 13:33:55 +0200] rev 17678
test-largefiles.t: fix find quirk on OSX For some reason, find utility seems to preserve the trailing slash and append a new one on OSX: $ find somedir/ somedir/ somedir//somefile
Thu, 20 Sep 2012 19:02:47 +0200 clfilter: introduce `filteredrevs` attribute on changelog
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Sep 2012 19:02:47 +0200] rev 17677
clfilter: introduce `filteredrevs` attribute on changelog This changeset allows changelog object to be "filtered". You can assign a set of revision numbers to the `changelog.filteredrevs` attributes. The changelog will then pretends these revision does not exists in this repo. A few methods need to be altered to achieve this behavior: - tip - __iter_ - irevs - hasnode - headrevs For consistency and to help debugging, the following methods are altered too. Tests tend to show it's not necessary to alter them but have them raise proper exception helps to detect bad acces to filtered revisions. - rev - node - linkrev - parentrevs - flags The following methods would also need alteration for consistency purpose but this is non-trivial and not done yet. - nodemap - strip The C version of headrevs is not run if there is any revision to filter. It'll need a proper rewrite later to restore performance.
Mon, 03 Sep 2012 14:29:05 +0200 clfilter: remove any explicit revision number from default cmdutil range
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Sep 2012 14:29:05 +0200] rev 17676
clfilter: remove any explicit revision number from default cmdutil range Revision "0" and "-1" may be filtered, we can't use them in any default revrange.
Thu, 20 Sep 2012 19:01:53 +0200 clfilter: remove usage of `range` in favor of iteration over changelog
Pierre-Yves David <pierre-yves.david@logilab.fr> [Thu, 20 Sep 2012 19:01:53 +0200] rev 17675
clfilter: remove usage of `range` in favor of iteration over changelog If we want to apply filtering at changelog level, we need to iterate over it. See previous changeset description for details.
Mon, 03 Sep 2012 14:19:45 +0200 clfilter: split `revlog.headrevs` C call from python code
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Sep 2012 14:19:45 +0200] rev 17674
clfilter: split `revlog.headrevs` C call from python code Make the pure python implementation of headrevs available to derived classes. It is important because filtering logic applied by `revlog` derived class won't have effect on `index`. We want to be able to bypass this C call to implement our own.
Mon, 03 Sep 2012 14:12:45 +0200 clfilter: handle non contiguous iteration in `revlov.headrevs`
Pierre-Yves David <pierre-yves.david@logilab.fr> [Mon, 03 Sep 2012 14:12:45 +0200] rev 17673
clfilter: handle non contiguous iteration in `revlov.headrevs` This prepares changelog level filtering. We can't assume that any revision can be heads because filtered revisions need to be excluded. New algorithm: - All revisions now start as "non heads", - every revision we iterate over is made candidate head, - parents of iterated revisions are definitely not head. Filtered revisions are never iterated over and never considered as candidate head.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 +30000 tip