[Digicool-CVS] CVS: CVSROOT - traffic_table.py:1.88

Ken Manheimer klm@cvs.zope.org
Sat, 4 Aug 2001 13:44:43 -0400


Update of /cvs-repository/CVSROOT
In directory cvs.zope.org:/tmp/cvs-serv27516

Modified Files:
	traffic_table.py 
Log Message:
Drastic simplification of the traffic table, since the notification
machinery is now going to unravel symlink interdepenencies to
determine all the paths by which a checked in file is shared, and
route checkin notices accordingly.

Also, removed all the rsync/mirroring residue - 'remote' and
'excludes' - leaving a note at the bottom of the module docstring
identifying the version where it got gone...

Checkins of the notification machinery enhancements follows.


=== CVSROOT/traffic_table.py 1.87 => 1.88 ===
 
 The global var 'table' contains a list of entries identifying where
-change-notifications for particular sections of the repository are sent.  (You
-can also use the entries to identify mirroring target hosts, but that's not
-longer used.)
+change-notifications for particular sections of the repository are sent.
+(You can also use the entries to identify mirroring target hosts, but
+that's not longer used.)
 
 Each 'table' entry is a dictionary containing some mandatory and some
 optional fields (optional fields have default values described)
 
- - 'path' - to the repository dir, relative to the CVSROOT.  This is used
-   both as path for identifying qualifying checkins and also as a path to
-   specify the directory within which rsync will be applied.
-
- - 'excludes' - a regular expression identifying items within the
-   qualifying repository directory that should be excluded.  (Be careful
-   with your regular expressions - the 're' module will be used only if the
-   local python installation has re, or else the old 'regex' module will be
-   used.  So you may want to use simple regular expressions that work for
-   both.)  It is passed to rsync, so see the section of the rsync man page
-   about exclude patterns for details.  Default is for nothing to be
-   excluded.
-
- - 'addrs' - a list of addresses to which checkin messages should be delivered.
-
- The 'remote' entry is no longer particularly useful - in fact, we haven't yet
- instituted rsync on the host system - so the following can be ignored:
-
- - 'remote' - specifying the repository to which checkins should be synced.
-   This dictionary must have the following fields:
-
-    'host' - string naming the remote host
-    'acct' - the pserver acct that should have access (XXX not yet implemented)
-    'repodir' - the repository directory to which syncs should be done.
-    'leading_path' - if any, substitute as leading path for remote component.
-    'receiver_id' - account id of receiving account.
-
-   The default value used for every entry is dictated by a module global
-   variable, 'remote'.
-
-   If 'remote' is set to None, then no remote setting is used.  (This is
-   useful for cases where no mirroring is to be done, particularly useful when 
-   the checkins are happening at the mirror site, eg when public checkins are 
-   happening.)
-"""
-
-# Default is *no* remote - explicitly specify propagation if you want it.
-remote = None
-public_remote = None
-products_remote = None
+ - 'addrs' - a list of email addresses for checkin notice delivery. 
+
+ - 'path' - to the repository dir, relative to the CVSROOT.  If the
+   leading path of the files being checked in (re) match the value of this
+   attribute, then this entry is invoked.
+
+   NOTE that the comparison mechanism takes into account the repository
+   symlinks (as dictated by the repolinks file).  This means that all
+   entries for directories that contain the checked-in files by virtue of
+   symlinks, as well as by direct containment, will qualify - the system
+   takes care of unravelling the symlinks for you.
+
+\(Most of the original ssh/rsync-based mirroring was stripped out of this
+file after version 1.87.)"""
 
 zopeaddr = ["zope-checkins@zope.org"]
 
@@ -62,12 +36,11 @@
     else:
         _TABLE = _TABLE + entries
 
-def add_multipath(paths, addrs, remote):
+def add_multipath(paths, addrs):
     """Add entries with different paths but the same addrs and remote"""
     for path in paths:
         add_to_table({'path': path,
-                      'addrs': addrs,
-                      'remote': remote})
+                      'addrs': addrs})
 
 def get_table():
     return _TABLE[:]
@@ -76,11 +49,9 @@
     add_to_table([
         {'path': "CVSROOT",
          'addrs': ["digicool-cvs@zope.org"],
-         'excludes': ["/history"],
          'specials': [("repolinks", "adjustlinks.py")]},
 
 ##       {'path': "test",
-##        'remote': None,
 ##        'addrs': "klm@zope.com"},
 
         # Catchall for when *no other entry* matches:
@@ -90,86 +61,48 @@
         {'path': "Operations",
          'addrs': ["support@zope.com"]},
 
-        {'path': "Releases/Zope", 'addrs': zopeaddr},
-        {'path': "Packages", 'addrs': zopeaddr},
-        {'path': "Products/__init__.py", 'addrs': zopeaddr},
-        {'path': "Products/ExternalMethod", 'addrs': zopeaddr},
-        {'path': "Products/ImageCache", 'addrs': None},
-        {'path': "Products/MIMETools", 'addrs': zopeaddr},
-        {'path': "Packages/MailHost", 'addrs': zopeaddr},
-        {'path': "Products/OFSP", 'addrs': zopeaddr},
-        {'path': "Products/PluginIndexes", 'addrs': zopeaddr},
-        {'path': "Products/XMLDocument", 'addrs': zopeaddr},
-        {'path': "Products/PythonMethod", 'addrs': None},
-        {'path': "Products/STXDocument", 'addrs': zopeaddr},
-        {'path': "Products/SiteAccess", 'addrs': zopeaddr},
-        {'path': "Products/StandardCacheManagers", 'addrs': zopeaddr},
-        {'path': "Products/ZCatalog", 'addrs': zopeaddr},
-        {'path': "Products/ZGadflyDA", 'addrs': zopeaddr},
-        {'path': "Products/ZSQLMethods", 'addrs': zopeaddr},
-        {'path': "Products/ZopeTutorial", 'addrs': zopeaddr},
+        {'path': "Zope",
+         'addrs': zopeaddr},
+
+        {'path': "StandaloneZODB",
+         'addrs': ["zodb-checkins@zope.org"]},
+        
+        {'path': "ZEO",
+         'addrs': ["zodb-checkins@zope.org"]},
+
+        {'path': "CMF",
+         'addrs': ['cmf-checkins@zope.org']},
 
-        {'path': "Packages/TAL", 'addrs': ["zpt@mail.zope.org"]},
+        {'path': "Products/CMFDemo",
+         'addrs': ["cmf-checkins@zope.org"]},
 
-        {'path': "Products/PageTemplates", 'addrs': ["zpt@mail.zope.org"]},
+        {'path': "Packages/TAL",
+         'addrs': ["zpt@mail.zope.org"]},
+        {'path': "Products/PageTemplates",
+         'addrs': ["zpt@mail.zope.org"]},
         {'path': "Products/PresentationTemplates",
          'addrs': ["zpt@mail.zope.org"]},
 
         {'path': "Products/ParsedXML",
          'addrs': ["parsed-xml-dev@mail.zope.org"]},
 
-        {'path': "Packages/ZEO",
+        {'path': "ZEO",
          'addrs': ['zeo-checkins@zope.org']},
 
         {'path': "ZopeDocs",
          'addrs': 'zopedocs-checkins@zope.org'},
 
-#        {'path': "Documentation/Guides/Book",
-#         'addrs': 'zope-book@zope.org'},
+        {'path': "Docs",
+         'addrs': 'zope-book@zope.org'},
 
         {'path': "ZopeMozilla",
          'addrs': 'zope-mozilla@zope.org'},
 
-        {'path': "CMF",
-         'addrs': 'cmf-checkins@zope.org'},
-        {'path': "Products/CMF", 'addrs': 'cmf-checkins@zope.org'},
-        {'path': "Products/DCWorkflow", 'addrs': 'cmf-checkins@zope.org'},
-
         {'path': "Products/TrackerBase",
          'addrs': ['tracker-dev@zope.org']},
 
         {'path': "Projects/python-site",
          'addrs': ["pythonlabs@zope.com"]},
-
-        {'path': "Products/CMFDemo",
-         'addrs': ["karl@zope.com", "adam@zope.com"]},
-        
     ])
-
-# Support for the ZEO module (defined in CVSROOT/modules)
-
-add_to_table({'path': "Releases/ZEO",
-              'addrs': ("zodb-checkins@zope.org",)})
-
-# Support for the StandaloneZODB module (defined in CVSROOT/modules)
-
-add_to_table({'path': "Releases/StandaloneZODB",
-              'addrs': ("zodb-checkins@zope.org",)})
-              
-add_multipath(("Zope2/lib/Components/ExtensionClass",
-               "Packages/ZEO",
-               "Zope2/lib/python/ZODB",
-               "Zope2/lib/python/Persistence.py",
-               "Zope2/lib/python/ThreadedAsync.py",
-               "Zope2/lib/python/zLOG.py",
-               "Zope2/lib/python/zdaemon.py",
-               "Packages/StorageGC",
-               "Packages/bsddb3Storage",
-               ),
-              ("zodb-checkins@zope.org",),
-              None)
-
-add_to_table({'path': "Packages/bsddb3Storage",
-              'addrs': ("zodb-checkins@zope.org",)})
 
 init_table()