Rev 3770: NEWS conflicts. in http://people.ubuntu.com/~robertc/baz2.0/integration

Robert Collins robertc at robertcollins.net
Wed Oct 8 02:28:47 BST 2008


At http://people.ubuntu.com/~robertc/baz2.0/integration

------------------------------------------------------------
revno: 3770
revision-id: robertc at robertcollins.net-20081008012840-kn5u1944l4ls60t8
parent: robertc at robertcollins.net-20081007205400-3i63hng0m9a2qwjf
parent: pqm at pqm.ubuntu.com-20081007110356-zmp1x6pyx5lnlh5k
committer: Robert Collins <robertc at robertcollins.net>
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: pqm at pqm.ubuntu.com-20081007110356-zmp1x6pyx5lnlh5k
    parent: pqm at pqm.ubuntu.com-20081007083316-c4x5b3os195vdrbu
    parent: mbp at sourcefrog.net-20081007100040-hn5y04ooy30g9msy
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    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: mbp at sourcefrog.net-20081007100040-hn5y04ooy30g9msy
        parent: pqm at pqm.ubuntu.com-20081007063815-40cch4v8h4jcpw33
        parent: pqm at pqm.ubuntu.com-20081007091257-ec2725q2xsrji7dn
        committer: Martin Pool <mbp at sourcefrog.net>
        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: pqm at pqm.ubuntu.com-20081007091257-ec2725q2xsrji7dn
        parent: pqm at pqm.ubuntu.com-20081002172844-d6df1l8dzpsqzyup
        parent: mbp at sourcefrog.net-20081007083008-913z1uxg5gzi69mm
        committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
        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: mbp at sourcefrog.net-20081007083008-913z1uxg5gzi69mm
        parent: mbp at sourcefrog.net-20081007080041-dqwegzcx8wus85g8
        committer: Martin Pool <mbp at sourcefrog.net>
        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: mbp at sourcefrog.net-20081007080041-dqwegzcx8wus85g8
        parent: pqm at pqm.ubuntu.com-20081007063815-40cch4v8h4jcpw33
        committer: Martin Pool <mbp at sourcefrog.net>
        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: pqm at pqm.ubuntu.com-20081007083316-c4x5b3os195vdrbu
    parent: pqm at pqm.ubuntu.com-20081007063815-40cch4v8h4jcpw33
    parent: mbp at sourcefrog.net-20081007051400-ajhh7gj41i9iwr7z
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    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: mbp at sourcefrog.net-20081007051400-ajhh7gj41i9iwr7z
        parent: mbp at sourcefrog.net-20081007044123-cxtrb7yfwutjyagu
        committer: Martin Pool <mbp at sourcefrog.net>
        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: pqm at pqm.ubuntu.com-20081007063815-40cch4v8h4jcpw33
    parent: pqm at pqm.ubuntu.com-20081006223227-11nq4m186th9ljeq
    parent: mbp at sourcefrog.net-20081007060224-dgbg7gof5blx2450
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    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: mbp at sourcefrog.net-20081007060224-dgbg7gof5blx2450
    parent: mbp at sourcefrog.net-20081007051852-pdg8j3rtg06qbd21
    committer: Martin Pool <mbp at sourcefrog.net>
    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: mbp at sourcefrog.net-20081007051852-pdg8j3rtg06qbd21
    parent: mbp at sourcefrog.net-20081007044123-cxtrb7yfwutjyagu
    committer: Martin Pool <mbp at sourcefrog.net>
    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: mbp at sourcefrog.net-20081007044123-cxtrb7yfwutjyagu
    parent: mbp at sourcefrog.net-20081007043943-7l4g7paazgvvo1rn
    committer: Martin Pool <mbp at sourcefrog.net>
    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: mbp at sourcefrog.net-20081007043943-7l4g7paazgvvo1rn
    parent: mbp at sourcefrog.net-20081007032839-nhstghf4x1h7bh7x
    committer: Martin Pool <mbp at sourcefrog.net>
    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: mbp at sourcefrog.net-20081007032839-nhstghf4x1h7bh7x
    parent: mbp at sourcefrog.net-20081007031942-qzr0n1e882ryx5p6
    committer: Martin Pool <mbp at sourcefrog.net>
    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: mbp at sourcefrog.net-20081007031942-qzr0n1e882ryx5p6
    parent: pqm at pqm.ubuntu.com-20081006223227-11nq4m186th9ljeq
    committer: Martin Pool <mbp at sourcefrog.net>
    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 




More information about the bazaar-commits mailing list