Thu, 21 May 2009 17:09:12 +0900 inotify: server: use a common 'pollable' interface for server & repowatcher
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 21 May 2009 17:09:12 +0900] rev 8610
inotify: server: use a common 'pollable' interface for server & repowatcher Mainly for documentation purposes: it easily explains the role of handle_event and handle_timeout, and why both server & repowatcher implement those methods.
Thu, 21 May 2009 19:26:15 +0900 inotify: process all inotify events in one batch
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 21 May 2009 19:26:15 +0900] rev 8609
inotify: process all inotify events in one batch When several inotify events happen, we don't have to process each event separately, calling everytime repowatcher.read_events() to fetch events from the underlying watcher: it is sufficient to call once read_events, to fetch all the events from the watcher.
Thu, 21 May 2009 19:22:29 +0900 inotify: rename handle_event to handle_pollevent to avoid confusion
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 21 May 2009 19:22:29 +0900] rev 8608
inotify: rename handle_event to handle_pollevent to avoid confusion event here refers to poll events, and are different from events read in server.read_events for example, where those events are inotify events.
Thu, 21 May 2009 16:54:05 +0900 inotify: handle_event: do not use event and fd parameters.
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 21 May 2009 16:54:05 +0900] rev 8607
inotify: handle_event: do not use event and fd parameters. event is particularly confusing given the context (is it an inotify event? a polling event?) and is never used. Remove it. fd has very little use, and it gives the false impression that event handling depends on fd. It's wrong: the same behavior is triggered, for all events.
Fri, 22 May 2009 10:26:56 +0900 inotify: use a decorator instead of dispatching calls
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 22 May 2009 10:26:56 +0900] rev 8606
inotify: use a decorator instead of dispatching calls
Fri, 22 May 2009 09:57:53 +0900 inotify: do not defer inotify events processing
Nicolas Dumazet <nicdumz.commits@gmail.com> [Fri, 22 May 2009 09:57:53 +0900] rev 8605
inotify: do not defer inotify events processing Doing a part of the event processing and deferring the rest is a bad habit: it complexifies the code, and it does not respect event ordering! Moreover, there is already a timeout handling, so that inotify events are only processed when a treshold is exceeded: there is no requirement to delay anymore the events processing.
Thu, 21 May 2009 15:55:58 +0900 inotify: do not recurse in handle_timeout(): call it explicitely, not in scan()
Nicolas Dumazet <nicdumz.commits@gmail.com> [Thu, 21 May 2009 15:55:58 +0900] rev 8604
inotify: do not recurse in handle_timeout(): call it explicitely, not in scan() When in handle_timeout, scan() is called when a repertory is created/modified. But the first line of scan calls handle_timeout. This had the consequence of calling recursively handle_timeout: * several calls to read_events (but only the first one retrieves events) * every time that an event is queued for a deferred action, the next time that scan() is called, handle_timeout is called, the event queue is treated, even if all the events haven't been read/queued yet. This could lead to inconsistencies
Sun, 24 May 2009 17:07:27 +0200 i18n-da: typo
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 17:07:27 +0200] rev 8603
i18n-da: typo
Sun, 24 May 2009 16:33:22 +0200 merge with crew
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 24 May 2009 16:33:22 +0200] rev 8602
merge with crew
Tue, 31 Mar 2009 00:04:07 +0900 inotify: adding test for issue1556
Dmitriy Kostunin <dmitriy.kostunin@gmail.com> [Tue, 31 Mar 2009 00:04:07 +0900] rev 8601
inotify: adding test for issue1556
Sat, 23 May 2009 18:44:01 +0900 inotify: proper fix for issue1542 (partially reverting 67e59a9886d5)
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 23 May 2009 18:44:01 +0900] rev 8600
inotify: proper fix for issue1542 (partially reverting 67e59a9886d5) issue1542 description: Unknown files (?) placed in a directory are still marked as present and unknown when the containing directory is moved out of the repository scope. Why 67e59a9886d5 was bad: * When the problem we're addressing only deals with unknown files, the fix to updatestatus applies for all statuses * The only reason to move the call schedule_work(wpath, 'd') seems to be that it allowed an updatestatus call on the deleted directory, in deleted(). But deleted() should not be called on directories in the first place. * After fixing an independant issue (1371), test-inotify-issue1542 was failing Fix: When processing a deletion of a directory, walk the tree of the unknown files and remove the entries from repowatcher. This step does not need to be added in the generic scan() routine: it is only necessary on a directory deletion.
Sun, 24 May 2009 18:43:05 +0900 inotify: server: refactor updatestatus()
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 24 May 2009 18:43:05 +0900] rev 8599
inotify: server: refactor updatestatus() * Instead of one entry point, use two entry points, updatefile() and deletefile(), both internally calling the helper function _updatestatus * Do not rely on TypeError to detect the type of oldstatus: use isinstance * The call updatestatus(wpath, None) in deleted() was a bit particular: because no osstat and no newstatus was given, the newstatus was determined using the data stored internally. To replace this exact behavior with the new code, one would use: root, fn = self.split(wpath) d = self.dir(self.tree, root) self.filedeleted(wpath, d.get(fn)) This, however, duplicates code with _updatestatus(), which led us to an interesting question: why are we basing ourselves on repowatcher data to update the status, where everywhere else, we are comparing against dirsate? There is no reason to do this, which is why the new code is: self.filedeleted(wpath, self.repo.dirstate[wpath]) Incidentally, after this, the test for issue1371 passes again.
Sun, 24 May 2009 16:27:56 +0200 convert: deprecate external cvsps, to be removed in 1.4
Patrick Mezard <pmezard@gmail.com> [Sun, 24 May 2009 16:27:56 +0200] rev 8598
convert: deprecate external cvsps, to be removed in 1.4
Sun, 24 May 2009 16:27:50 +0200 osutil: silence uninitialized variable warning
Patrick Mezard <pmezard@gmail.com> [Sun, 24 May 2009 16:27:50 +0200] rev 8597
osutil: silence uninitialized variable warning
Sun, 24 May 2009 16:27:37 +0200 convert/hg: update documentation
Patrick Mezard <pmezard@gmail.com> [Sun, 24 May 2009 16:27:37 +0200] rev 8596
convert/hg: update documentation
Sun, 24 May 2009 16:16:46 +0200 i18n-da: better word for "check"
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 16:16:46 +0200] rev 8595
i18n-da: better word for "check"
Sun, 24 May 2009 16:14:32 +0200 i18n-da: fixed use of plural form for parent
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 16:14:32 +0200] rev 8594
i18n-da: fixed use of plural form for parent
Sun, 24 May 2009 15:20:04 +0200 i18n-da: better Danish word for "entry"
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 15:20:04 +0200] rev 8593
i18n-da: better Danish word for "entry"
Tue, 19 May 2009 09:36:20 +0200 runtest: do not start testing when there is no test
Simon Heimberg <simohe@besonet.ch> [Tue, 19 May 2009 09:36:20 +0200] rev 8592
runtest: do not start testing when there is no test
Sun, 24 May 2009 11:41:07 +0200 templatefilters: add filter to convert date to local date (issue1674)
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 11:41:07 +0200] rev 8591
templatefilters: add filter to convert date to local date (issue1674) Issue1674 suggests the localdate filter be applied as default to log, but this patch only introduces the filter, not the changed default behaviour.
Fri, 22 May 2009 08:56:43 +0200 url: use CONNECT for HTTPS connections through HTTP proxy (issue967)
Henrik Stuart <hg@hstuart.dk> [Fri, 22 May 2009 08:56:43 +0200] rev 8590
url: use CONNECT for HTTPS connections through HTTP proxy (issue967) urllib2 and httplib does not support using CONNECT proxy requests, but only regular requests over the proxy. This does not work with HTTPS requests as they typically require that the client issues a CONNECT to the proxy to give a direct connection to the remote HTTPS server. This is solved by duplicating some of the httplib functionality and tying it together with the keepalive library such that a HTTPS connection that need to be proxied can be proxied by letting a connection be established to the proxy server and then subsequently performing the normal request to the specified server through the proxy server. As it stands, the code also purports to support HTTPS proxies, i.e. proxies that you connect to using SSL. These are extremely rare and nothing is done to ensure that CONNECT requests can be made to these as that would require multiple SSL handshakes. This use case is also not supported by most other contemporary web tools like curl and Firefox3.
Thu, 14 May 2009 19:54:26 +0200 dirstate: skip step 3 in walk if nothing new will match
Simon Heimberg <simohe@besonet.ch> [Thu, 14 May 2009 19:54:26 +0200] rev 8589
dirstate: skip step 3 in walk if nothing new will match nothing will ever match on match.never nothing new will match on match.exact (all found in step 1) nothing new will match on match.match when there is no pattern and there is no direcory in pats
Thu, 14 May 2009 10:50:45 +0200 dirstate: set more states in step 1 of walk
Simon Heimberg <simohe@besonet.ch> [Thu, 14 May 2009 10:50:45 +0200] rev 8588
dirstate: set more states in step 1 of walk
Sun, 24 May 2009 02:56:22 -0500 match: fold match into _match base class
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:22 -0500] rev 8587
match: fold match into _match base class
Sun, 24 May 2009 02:56:20 -0500 match: add exact flag to match() to unify all match forms
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:20 -0500] rev 8586
match: add exact flag to match() to unify all match forms
Sun, 24 May 2009 02:56:14 -0500 match: redefine always and never in terms of match and exact
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8585
match: redefine always and never in terms of match and exact
Sun, 24 May 2009 02:56:14 -0500 match: fold _globprefix into _roots
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8584
match: fold _globprefix into _roots
Sun, 24 May 2009 02:56:14 -0500 match: optimize escaping in _globre
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8583
match: optimize escaping in _globre - localize re.escape - fastpath escaping of non-special characters
Sun, 24 May 2009 02:56:14 -0500 match: remove head and tail args from _globre
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8582
match: remove head and tail args from _globre
Sun, 24 May 2009 02:56:14 -0500 match: fold _matcher into match.__init__
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8581
match: fold _matcher into match.__init__
(0) -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip