At http://people.ubuntu.com/~robertc/baz2.0/integration
------------------------------------------------------------
revno: 3770
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Robert Collins <[EMAIL PROTECTED]>
branch nick: integration
timestamp: Wed 2008-10-08 12:28:40 +1100
message:
NEWS conflicts.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/_readdir_pyx.pyx readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.2.3
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Canonical.com Patch Queue Manager <[EMAIL PROTECTED]>
branch nick: +trunk
timestamp: Tue 2008-10-07 12:03:56 +0100
message:
(mbp) Merge back 1.8 and open 1.9
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 3766.5.1
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: integration
timestamp: Tue 2008-10-07 21:00:40 +1100
message:
Merge back 1.8 and open 1.9
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py
__init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 3763.3.1
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Canonical.com Patch Queue Manager <[EMAIL PROTECTED]>
branch nick: 1.8
timestamp: Tue 2008-10-07 10:12:57 +0100
message:
(mbp) prepare 1.8rc1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py
__init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/_dirstate_helpers_c.pyx
dirstate_helpers.pyx-20070503201057-u425eni465q4idwn-3
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
bzrlib/transport/__init__.py
transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/ftp/_gssapi.py
_gssapi.py-20080611190840-7ejrtp884bk5eu72-2
------------------------------------------------------------
revno: 3766.4.2
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: prepare-1.8
timestamp: Tue 2008-10-07 19:30:08 +1100
message:
Update news for 1.8rc1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3766.4.1
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: prepare-1.8
timestamp: Tue 2008-10-07 19:00:41 +1100
message:
Bump version to 1.8rc1
modified:
bzrlib/__init__.py
__init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 3766.2.2
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Canonical.com Patch Queue Manager <[EMAIL PROTECTED]>
branch nick: +trunk
timestamp: Tue 2008-10-07 09:33:16 +0100
message:
(mbp) Don't treat ENOENT from readdir as indicating end-of-directory
modified:
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.3.1
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: readdir-enoent
timestamp: Tue 2008-10-07 16:14:00 +1100
message:
Don't treat ENOENT from readdir as indicating end-of-directory
modified:
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.2.1
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Canonical.com Patch Queue Manager <[EMAIL PROTECTED]>
branch nick: +trunk
timestamp: Tue 2008-10-07 07:38:15 +0100
message:
(mbp) #279381 reset errno before calling readdir
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.1.6
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: 279381-readdir
timestamp: Tue 2008-10-07 17:02:24 +1100
message:
We need a 'global' declaration to assign to errno; and fix comments
modified:
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.1.5
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: 279381-readdir
timestamp: Tue 2008-10-07 16:18:52 +1100
message:
add missing pyrex import
modified:
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.1.4
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: 279381-readdir
timestamp: Tue 2008-10-07 15:41:23 +1100
message:
update news
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3766.1.3
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: 279381-readdir
timestamp: Tue 2008-10-07 15:39:43 +1100
message:
doc
modified:
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.1.2
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: 279381-readdir
timestamp: Tue 2008-10-07 14:28:39 +1100
message:
Be a bit more careful about checking readdir result
modified:
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
------------------------------------------------------------
revno: 3766.1.1
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Martin Pool <[EMAIL PROTECTED]>
branch nick: 279381-readdir
timestamp: Tue 2008-10-07 14:19:42 +1100
message:
Fix errors in calling readdir from pyrex (lp:279381)
readdir is unusual because it returns NULL for both eof and error, and
does not
clear errno in the first case.
Also, if EINTR or EAGAIN is raised from readdir, we need to continue
reading,
not assume that's the end of the directory!
modified:
bzrlib/_readdir_pyx.pyx
readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
=== modified file 'NEWS'
--- a/NEWS 2008-10-07 06:41:46 +0000
+++ b/NEWS 2008-10-08 01:28:40 +0000
@@ -7,6 +7,16 @@
IN DEVELOPMENT
--------------
+bzr 1.8rc1 2008-10-07
+---------------------
+
+Bazaar 1.8 includes several fixes that improve working tree performance,
+display of revision logs, and merges. We've also fixed, and the bzr
+testsuite now passes on OS X and Python 2.6, and almost completely passes
+on Windows. The smartserver code has gained several bug fixes and
+performance improvements, and can now run server-side hooks within an http
+server.
+
CHANGES:
* ``bzr log file`` has been changed. It now uses a different method
@@ -32,7 +42,7 @@
* bzr is now compatible with python-2.6. python-2.6 is not yet officially
supported (nor released, tests were conducted with the dev version of
- python-2.6rc2), but all known problems have been fixed . Feedback
+ python-2.6rc2), but all known problems have been fixed. Feedback
welcome.
(Vincent Ladeuil, #269535)
@@ -82,6 +92,10 @@
* API versioning support now has a multiple-version checking api
``require_any_api``. (Robert Collins, #279447)
+ * Avoid random failures arising from misinterpreted ``errno`` values
+ in ``_readdir_pyx.read_dir``.
+ (Martin Pool, #279381)
+
* A failure to load a plugin due to an IncompatibleAPI exception is
now correctly reported. (Robert Collins, #279451)
=== modified file 'bzr'
--- a/bzr 2008-10-01 05:40:45 +0000
+++ b/bzr 2008-10-07 10:00:40 +0000
@@ -22,7 +22,7 @@
import sys
# update this on each release
-_script_version = (1, 8, 0)
+_script_version = (1, 9, 0)
if __doc__ is None:
print "bzr does not support python -OO."
=== modified file 'bzrlib/__init__.py'
--- a/bzrlib/__init__.py 2008-10-01 23:17:47 +0000
+++ b/bzrlib/__init__.py 2008-10-07 10:00:40 +0000
@@ -50,7 +50,7 @@
# Python version 2.0 is (2, 0, 0, 'final', 0)." Additionally we use a
# releaselevel of 'dev' for unreleased under-development code.
-version_info = (1, 8, 0, 'dev', 0)
+version_info = (1, 9, 0, 'dev', 0)
# API compatibility version: bzrlib is currently API compatible with 1.7.
=== modified file 'bzrlib/_readdir_pyx.pyx'
--- a/bzrlib/_readdir_pyx.pyx 2008-09-24 04:15:03 +0000
+++ b/bzrlib/_readdir_pyx.pyx 2008-10-07 08:33:16 +0000
@@ -25,13 +25,14 @@
pass
-# the opaque C library DIR type.
cdef extern from 'errno.h':
int ENOENT
int ENOTDIR
int EAGAIN
+ int EINTR
+ char *strerror(int errno)
+ # not necessarily a real variable, but this should be close enough
int errno
- char *strerror(int errno)
cdef extern from 'unistd.h':
int chdir(char *path)
@@ -89,6 +90,7 @@
ctypedef struct dirent:
char d_name[256]
ino_t d_ino
+ # the opaque C library DIR type.
ctypedef struct DIR
# should be DIR *, pyrex barfs.
DIR * opendir(char * name)
@@ -278,6 +280,7 @@
cdef int stat_result
cdef _Stat statvalue
cdef char *cwd
+ global errno
cwd = getcwd(NULL, 0)
if -1 == chdir(path):
@@ -289,21 +292,25 @@
try:
entry = &sentinel
while entry != NULL:
- entry = readdir(the_dir)
+ # Unlike most libc functions, readdir needs errno set to 0
+ # beforehand so that eof can be distinguished from errors. See
+ # <https://bugs.launchpad.net/bzr/+bug/279381>
+ while True:
+ errno = 0;
+ entry = readdir(the_dir)
+ if entry == NULL and (errno == EAGAIN or errno == EINTR):
+ # try again
+ continue
+ else:
+ break
if entry == NULL:
- if errno == EAGAIN:
- # try again
- continue
- elif errno != ENOTDIR and errno != ENOENT and errno != 0:
+ if errno == ENOTDIR or errno == 0:
# We see ENOTDIR at the end of a normal directory.
# As ENOTDIR for read_dir(file) is triggered on opendir,
# we consider ENOTDIR to be 'no error'.
- # ENOENT is listed as 'invalid position in the dir stream'
for
- # readdir. We swallow this for now and just keep reading.
+ continue
+ else:
raise OSError(errno, strerror(errno))
- else:
- # done
- continue
name = entry.d_name
if not (name[0] == c"." and (
(name[1] == 0) or
--
bazaar-commits mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/bazaar-commits