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.
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.
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
Patrick Mezard <pmezard@gmail.com> [Sun, 24 May 2009 16:27:50 +0200] rev 8597
osutil: silence uninitialized variable warning
Patrick Mezard <pmezard@gmail.com> [Sun, 24 May 2009 16:27:37 +0200] rev 8596
convert/hg: update documentation
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 16:16:46 +0200] rev 8595
i18n-da: better word for "check"
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 16:14:32 +0200] rev 8594
i18n-da: fixed use of plural form for parent
Henrik Stuart <hg@hstuart.dk> [Sun, 24 May 2009 15:20:04 +0200] rev 8593
i18n-da: better Danish word for "entry"
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
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.
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.
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
Simon Heimberg <simohe@besonet.ch> [Thu, 14 May 2009 10:50:45 +0200] rev 8588
dirstate: set more states in step 1 of walk
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:22 -0500] rev 8587
match: fold match into _match base class
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
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
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8584
match: fold _globprefix into _roots
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
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8582
match: remove head and tail args from _globre
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8581
match: fold _matcher into match.__init__
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8580
match: rename _matchfn to _buildmatch
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8579
match: optimize _patsplit
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8578
match: tweak some names
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8577
match: simplify _matcher
- get rid of special case
- simplify anypats logic
- fold inckinds and exckinds
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8576
match: split up _normalizepats
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8575
match: optimize _globprefix
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8574
match: unnest functions in _matcher
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8573
match: kill unused defaults on _globre
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8572
match: kill test in matchfn
Matt Mackall <mpm@selenic.com> [Sun, 24 May 2009 02:56:14 -0500] rev 8571
match: refactor matchfn generation