[prev in list] [next in list] [prev in thread] [next in thread] 

List:       calendarserver-changes
Subject:    [CalendarServer-changes] [7382] CalendarServer/trunk
From:       source_changes () macosforge ! org
Date:       2011-04-28 22:43:18
Message-ID: 20110428224318.EB6B7199DA27 () lists ! macosforge ! org
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Revision: 7382
          http://trac.macosforge.org/projects/calendarserver/changeset/7382
Author:   sagen@apple.com
Date:     2011-04-28 15:43:17 -0700 (Thu, 28 Apr 2011)
Log Message:
-----------
Landing inbox items branch -- Leopard->Lion leftover inbox items are now processed \
through implicit scheduling at upgrade time.

Modified Paths:
--------------
    CalendarServer/trunk/calendarserver/tap/caldav.py
    CalendarServer/trunk/twisted/plugins/caldav.py
    CalendarServer/trunk/twistedcaldav/test/test_upgrade.py
    CalendarServer/trunk/twistedcaldav/upgrade.py

Removed Paths:
-------------
    CalendarServer/trunk/calendarserver/sidecar/

Property Changed:
----------------
    CalendarServer/trunk/
    CalendarServer/trunk/support/build.sh
    CalendarServer/trunk/txdav/caldav/datastore/index_file.py
    CalendarServer/trunk/txdav/caldav/datastore/test/test_index_file.py
    CalendarServer/trunk/txdav/carddav/datastore/index_file.py
    CalendarServer/trunk/txdav/carddav/datastore/test/test_index_file.py


Property changes on: CalendarServer/trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/config-separation:4379-4443
/CalendarServer/branches/egg-info-351:4589-4625
/CalendarServer/branches/generic-sqlstore:6167-6191
/CalendarServer/branches/new-store:5594-5934
/CalendarServer/branches/new-store-no-caldavfile:5911-5935
/CalendarServer/branches/new-store-no-caldavfile-2:5936-5981
/CalendarServer/branches/users/cdaboo/batchupload-6699:6700-7198
/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692:5693-5702
/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627:3628-3644
/CalendarServer/branches/users/cdaboo/more-sharing-5591:5592-5601
/CalendarServer/branches/users/cdaboo/partition-4464:4465-4957
/CalendarServer/branches/users/cdaboo/pods:7297-7377
/CalendarServer/branches/users/cdaboo/pycalendar:7085-7206
/CalendarServer/branches/users/cdaboo/pycard:7227-7237
/CalendarServer/branches/users/cdaboo/relative-config-paths-5070:5071-5105
/CalendarServer/branches/users/cdaboo/shared-calendars-5187:5188-5440
/CalendarServer/branches/users/glyph/conn-limit:6574-6577
/CalendarServer/branches/users/glyph/contacts-server-merge:4971-5080
/CalendarServer/branches/users/glyph/dalify:6932-7023
/CalendarServer/branches/users/glyph/db-reconnect:6824-6876
/CalendarServer/branches/users/glyph/dont-start-postgres:6592-6614
/CalendarServer/branches/users/glyph/linux-tests:6893-6900
/CalendarServer/branches/users/glyph/misc-portability-fixes:7365-7374
/CalendarServer/branches/users/glyph/more-deferreds-6:6322-6368
/CalendarServer/branches/users/glyph/more-deferreds-7:6369-6445
/CalendarServer/branches/users/glyph/oracle:7106-7155
/CalendarServer/branches/users/glyph/oracle-nulls:7340-7351
/CalendarServer/branches/users/glyph/sendfdport:5388-5424
/CalendarServer/branches/users/glyph/sharedpool:6490-6550
/CalendarServer/branches/users/glyph/sql-store:5929-6073
/CalendarServer/branches/users/glyph/subtransactions:7248-7258
/CalendarServer/branches/users/glyph/use-system-twisted:5084-5149
/CalendarServer/branches/users/sagen/locations-resources:5032-5051
/CalendarServer/branches/users/sagen/locations-resources-2:5052-5061
/CalendarServer/branches/users/sagen/purge_old_events:6735-6746
/CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/branches/users/sagen/resources-2:5084-5093
/CalendarServer/branches/users/wsanchez/transations:5515-5593
   + /CalendarServer/branches/config-separation:4379-4443
/CalendarServer/branches/egg-info-351:4589-4625
/CalendarServer/branches/generic-sqlstore:6167-6191
/CalendarServer/branches/new-store:5594-5934
/CalendarServer/branches/new-store-no-caldavfile:5911-5935
/CalendarServer/branches/new-store-no-caldavfile-2:5936-5981
/CalendarServer/branches/users/cdaboo/batchupload-6699:6700-7198
/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692:5693-5702
/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627:3628-3644
/CalendarServer/branches/users/cdaboo/more-sharing-5591:5592-5601
/CalendarServer/branches/users/cdaboo/partition-4464:4465-4957
/CalendarServer/branches/users/cdaboo/pods:7297-7377
/CalendarServer/branches/users/cdaboo/pycalendar:7085-7206
/CalendarServer/branches/users/cdaboo/pycard:7227-7237
/CalendarServer/branches/users/cdaboo/relative-config-paths-5070:5071-5105
/CalendarServer/branches/users/cdaboo/shared-calendars-5187:5188-5440
/CalendarServer/branches/users/glyph/conn-limit:6574-6577
/CalendarServer/branches/users/glyph/contacts-server-merge:4971-5080
/CalendarServer/branches/users/glyph/dalify:6932-7023
/CalendarServer/branches/users/glyph/db-reconnect:6824-6876
/CalendarServer/branches/users/glyph/dont-start-postgres:6592-6614
/CalendarServer/branches/users/glyph/linux-tests:6893-6900
/CalendarServer/branches/users/glyph/misc-portability-fixes:7365-7374
/CalendarServer/branches/users/glyph/more-deferreds-6:6322-6368
/CalendarServer/branches/users/glyph/more-deferreds-7:6369-6445
/CalendarServer/branches/users/glyph/oracle:7106-7155
/CalendarServer/branches/users/glyph/oracle-nulls:7340-7351
/CalendarServer/branches/users/glyph/sendfdport:5388-5424
/CalendarServer/branches/users/glyph/sharedpool:6490-6550
/CalendarServer/branches/users/glyph/sql-store:5929-6073
/CalendarServer/branches/users/glyph/subtransactions:7248-7258
/CalendarServer/branches/users/glyph/use-system-twisted:5084-5149
/CalendarServer/branches/users/sagen/inboxitems:7380-7381
/CalendarServer/branches/users/sagen/locations-resources:5032-5051
/CalendarServer/branches/users/sagen/locations-resources-2:5052-5061
/CalendarServer/branches/users/sagen/purge_old_events:6735-6746
/CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/branches/users/sagen/resources-2:5084-5093
/CalendarServer/branches/users/wsanchez/transations:5515-5593

Modified: CalendarServer/trunk/calendarserver/tap/caldav.py
===================================================================
--- CalendarServer/trunk/calendarserver/tap/caldav.py	2011-04-28 21:36:58 UTC (rev \
                7381)
+++ CalendarServer/trunk/calendarserver/tap/caldav.py	2011-04-28 22:43:17 UTC (rev \
7382) @@ -69,7 +69,7 @@
 from twistedcaldav.mail import IMIPReplyInboxResource
 from twistedcaldav import memcachepool
 from twistedcaldav.stdconfig import DEFAULT_CONFIG, DEFAULT_CONFIG_FILE
-from twistedcaldav.upgrade import UpgradeFileSystemFormatService
+from twistedcaldav.upgrade import UpgradeFileSystemFormatService, \
PostDBImportService  
 from calendarserver.tap.util import pgServiceFromConfig
 
@@ -429,7 +429,6 @@
     L{DelayedStartupProcessMonitor}:
 
         - regular slave processes (CalDAV workers)
-        - task sidecar
         - notifier
         - mail gateway
     """
@@ -506,27 +505,8 @@
             self.monitor.addProcess("mailgateway", mailGatewayArgv,
                                env=PARENT_ENVIRONMENT)
 
-        self.maker.log_info("Adding task service")
-        taskArgv = [
-            sys.executable,
-            sys.argv[0],
-        ]
-        if config.UserName:
-            taskArgv.extend(("-u", config.UserName))
-        if config.GroupName:
-            taskArgv.extend(("-g", config.GroupName))
-        taskArgv.extend((
-            "--reactor=%s" % (config.Twisted.reactor,),
-            "-n", "caldav_task",
-            "-f", self.configPath,
-        ))
 
-        self.monitor.addProcess(
-            "caldav_task", taskArgv, env=PARENT_ENVIRONMENT
-        )
 
-
-
 class CalDAVServiceMaker (LoggingMixIn):
     implements(IPlugin, IServiceMaker)
 
@@ -982,7 +962,8 @@
             mainService = createMainService(cp, store)
             upgradeSvc = UpgradeFileSystemFormatService(config,
                 UpgradeToDatabaseService.wrapService(
-                    CachingFilePath(config.DocumentRoot), mainService,
+                    CachingFilePath(config.DocumentRoot),
+                    PostDBImportService(config, store, mainService),
                     store, uid=uid, gid=gid
                 )
             )


Property changes on: CalendarServer/trunk/support/build.sh
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/config-separation/support/build.sh:4379-4443
/CalendarServer/branches/egg-info-351/support/build.sh:4589-4615
/CalendarServer/branches/generic-sqlstore/support/build.sh:6167-6191
/CalendarServer/branches/new-store-no-caldavfile-2/support/build.sh:5936-5981
/CalendarServer/branches/new-store-no-caldavfile/support/build.sh:5911-5935
/CalendarServer/branches/new-store/support/build.sh:5594-5934
/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/support/build.sh:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/support/build.sh:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/support/build.sh:5592-5601
/CalendarServer/branches/users/cdaboo/partition-4464/support/build.sh:4465-4957
/CalendarServer/branches/users/cdaboo/pods/support/build.sh:7297-7377
/CalendarServer/branches/users/cdaboo/pycalendar/support/build.sh:7085-7206
/CalendarServer/branches/users/cdaboo/pycard/support/build.sh:7227-7237
/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/support/build.sh:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/support/build.sh:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/support/build.sh:6574-6577
/CalendarServer/branches/users/glyph/contacts-server-merge/support/build.sh:4971-5080
/CalendarServer/branches/users/glyph/dalify/support/build.sh:6932-7023
/CalendarServer/branches/users/glyph/db-reconnect/support/build.sh:6824-6876
/CalendarServer/branches/users/glyph/dont-start-postgres/support/build.sh:6592-6614
/CalendarServer/branches/users/glyph/linux-tests/support/build.sh:6893-6900
/CalendarServer/branches/users/glyph/misc-portability-fixes/support/build.sh:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/support/build.sh:6322-6368
/CalendarServer/branches/users/glyph/more-deferreds-7/support/build.sh:6369-6445
/CalendarServer/branches/users/glyph/oracle-nulls/support/build.sh:7340-7351
/CalendarServer/branches/users/glyph/sendfdport/support/build.sh:5388-5424
/CalendarServer/branches/users/glyph/sharedpool/support/build.sh:6490-6550
/CalendarServer/branches/users/glyph/sql-store/support/build.sh:5929-6073
/CalendarServer/branches/users/glyph/subtransactions/support/build.sh:7248-7258
/CalendarServer/branches/users/glyph/use-system-twisted/support/build.sh:5084-5149
/CalendarServer/branches/users/sagen/locations-resources-2/support/build.sh:5052-5061
/CalendarServer/branches/users/sagen/locations-resources/support/build.sh:5032-5051
/CalendarServer/branches/users/sagen/purge_old_events/support/build.sh:6735-6746
/CalendarServer/branches/users/sagen/resource-delegates-4038/support/build.sh:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/support/build.sh:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/support/build.sh:5084-5093
/CalendarServer/branches/users/wsanchez/transations/support/build.sh:5515-5593
   + /CalendarServer/branches/config-separation/support/build.sh:4379-4443
/CalendarServer/branches/egg-info-351/support/build.sh:4589-4615
/CalendarServer/branches/generic-sqlstore/support/build.sh:6167-6191
/CalendarServer/branches/new-store/support/build.sh:5594-5934
/CalendarServer/branches/new-store-no-caldavfile/support/build.sh:5911-5935
/CalendarServer/branches/new-store-no-caldavfile-2/support/build.sh:5936-5981
/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/support/build.sh:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/support/build.sh:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/support/build.sh:5592-5601
/CalendarServer/branches/users/cdaboo/partition-4464/support/build.sh:4465-4957
/CalendarServer/branches/users/cdaboo/pods/support/build.sh:7297-7377
/CalendarServer/branches/users/cdaboo/pycalendar/support/build.sh:7085-7206
/CalendarServer/branches/users/cdaboo/pycard/support/build.sh:7227-7237
/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/support/build.sh:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/support/build.sh:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/support/build.sh:6574-6577
/CalendarServer/branches/users/glyph/contacts-server-merge/support/build.sh:4971-5080
/CalendarServer/branches/users/glyph/dalify/support/build.sh:6932-7023
/CalendarServer/branches/users/glyph/db-reconnect/support/build.sh:6824-6876
/CalendarServer/branches/users/glyph/dont-start-postgres/support/build.sh:6592-6614
/CalendarServer/branches/users/glyph/linux-tests/support/build.sh:6893-6900
/CalendarServer/branches/users/glyph/misc-portability-fixes/support/build.sh:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/support/build.sh:6322-6368
/CalendarServer/branches/users/glyph/more-deferreds-7/support/build.sh:6369-6445
/CalendarServer/branches/users/glyph/oracle-nulls/support/build.sh:7340-7351
/CalendarServer/branches/users/glyph/sendfdport/support/build.sh:5388-5424
/CalendarServer/branches/users/glyph/sharedpool/support/build.sh:6490-6550
/CalendarServer/branches/users/glyph/sql-store/support/build.sh:5929-6073
/CalendarServer/branches/users/glyph/subtransactions/support/build.sh:7248-7258
/CalendarServer/branches/users/glyph/use-system-twisted/support/build.sh:5084-5149
/CalendarServer/branches/users/sagen/inboxitems/support/build.sh:7380-7381
/CalendarServer/branches/users/sagen/locations-resources/support/build.sh:5032-5051
/CalendarServer/branches/users/sagen/locations-resources-2/support/build.sh:5052-5061
/CalendarServer/branches/users/sagen/purge_old_events/support/build.sh:6735-6746
/CalendarServer/branches/users/sagen/resource-delegates-4038/support/build.sh:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/support/build.sh:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/support/build.sh:5084-5093
/CalendarServer/branches/users/wsanchez/transations/support/build.sh:5515-5593

Modified: CalendarServer/trunk/twisted/plugins/caldav.py
===================================================================
--- CalendarServer/trunk/twisted/plugins/caldav.py	2011-04-28 21:36:58 UTC (rev 7381)
+++ CalendarServer/trunk/twisted/plugins/caldav.py	2011-04-28 22:43:17 UTC (rev 7382)
@@ -50,6 +50,5 @@
 
 
 TwistedCalDAV     = TAP("calendarserver.tap.caldav.CalDAVServiceMaker")
-CalDAVTask        = TAP("calendarserver.sidecar.task.CalDAVTaskServiceMaker")
 CalDAVNotifier    = TAP("twistedcaldav.notify.NotificationServiceMaker")
 CalDAVMailGateway = TAP("twistedcaldav.mail.MailGatewayServiceMaker")

Modified: CalendarServer/trunk/twistedcaldav/test/test_upgrade.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_upgrade.py	2011-04-28 21:36:58 UTC \
                (rev 7381)
+++ CalendarServer/trunk/twistedcaldav/test/test_upgrade.py	2011-04-28 22:43:17 UTC \
(rev 7382) @@ -327,7 +327,6 @@
             },
             MailGatewayTokensDatabase.dbFilename : { "@contents" : None },
             "%s-journal" % (MailGatewayTokensDatabase.dbFilename,) : { "@contents" : \
                None },
-            "tasks" : {"incoming" : {}}
         }
 
         (yield self.verifyDirectoryComparison(before, after))
@@ -403,12 +402,6 @@
         }
 
         after = {
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -532,12 +525,6 @@
                 {
                 },
             },
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -624,12 +611,6 @@
                 {
                 },
             },
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -721,12 +702,6 @@
             {
                 "@contents" : "",
             },
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -837,12 +812,6 @@
             {
                 "@contents" : "",
             },
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -922,12 +891,6 @@
         }
 
         after = {
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -1050,12 +1013,6 @@
         }
 
         after = {
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -1182,12 +1139,6 @@
         }
 
         after = {
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             ".calendarserver_version" :
             {
                 "@contents" : "2",
@@ -1300,12 +1251,6 @@
 
 
         after = {
-            "tasks" :
-            {
-                "incoming" :
-                {
-                },
-            },
             "calendars" :
             {
                 "__uids__" :

Modified: CalendarServer/trunk/twistedcaldav/upgrade.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/upgrade.py	2011-04-28 21:36:58 UTC (rev 7381)
+++ CalendarServer/trunk/twistedcaldav/upgrade.py	2011-04-28 22:43:17 UTC (rev 7382)
@@ -33,21 +33,30 @@
 from twistedcaldav.mail import MailGatewayTokensDatabase
 from twistedcaldav.ical import Component
 from twistedcaldav import caldavxml
+from twistedcaldav.ical import Component
+from twistedcaldav.scheduling.cuaddress import LocalCalendarUser
+from twistedcaldav.scheduling.scheduler import DirectScheduler
 
+
 from twisted.application.service import Service
 from twisted.internet import reactor
-from twisted.internet.defer import inlineCallbacks, succeed
+from twisted.internet.defer import inlineCallbacks, succeed, returnValue
 
 from txdav.caldav.datastore.index_file import db_basename
 
+from calendarserver.tap.util import getRootResource, FakeRequest
+
 from calendarserver.tools.util import getDirectory
 from calendarserver.tools.resources import migrateResources
+
 from twisted.python.reflect import namedAny
 
 deadPropertyXattrPrefix = namedAny(
     "txdav.base.propertystore.xattr.PropertyStore.deadPropertyXattrPrefix"
 )
 
+INBOX_ITEMS = "inboxitems.txt"
+
 log = Logger()
 
 def xattrname(n):
@@ -320,22 +329,7 @@
             os.chown(journalPath, uid, gid)
 
 
-    def createTaskServiceDirectory(config, uid, gid):
 
-        taskDir = os.path.join(config.DataRoot, "tasks")
-        if not os.path.exists(taskDir):
-            os.mkdir(taskDir)
-        os.chown(taskDir, uid, gid)
-
-        incomingDir = os.path.join(taskDir, "incoming")
-        if not os.path.exists(incomingDir):
-            os.mkdir(incomingDir)
-        os.chown(incomingDir, uid, gid)
-
-        return incomingDir
-
-
-
     directory = getDirectory()
 
     docRoot = config.DocumentRoot
@@ -431,13 +425,12 @@
                                         if not inboxItem.startswith("."):
                                             inboxItems.add(os.path.join(inboxPath, \
inboxItem))  
-            incomingDir = createTaskServiceDirectory(config, uid, gid)
             if inboxItems:
-                taskFile = os.path.join(incomingDir, "scheduleinboxes.task")
-                with open(taskFile, "w") as out:
+                inboxItemsFile = os.path.join(config.DataRoot, INBOX_ITEMS)
+                with open(inboxItemsFile, "w") as out:
                     for item in inboxItems:
                         out.write("%s\n" % (item))
-                os.chown(taskFile, uid, gid)
+                os.chown(inboxItemsFile, uid, gid)
 
             if total:
                 log.warn("Processing %d calendar homes in %s" % (total, uidHomes))
@@ -807,3 +800,152 @@
 
 
 
+class PostDBImportService(Service, object):
+    """
+    Service for processing non-implicit inbox items after data has been
+    imported into the DB
+    """
+
+    def __init__(self, config, store, service):
+        """
+        Initialize the service.
+        """
+        self.wrappedService = service
+        self.store = store
+        self.config = config
+
+    def startService(self):
+        """
+        Start the service.
+        """
+        self.processInboxItems()
+
+
+    @inlineCallbacks
+    def processInboxItems(self):
+        """
+        When data is migrated from a non-implicit scheduling server there can
+        be inbox items that clients have not yet processed.  This method
+        runs those inbox items through the implicit scheduling mechanism.
+        """
+
+        inboxItemsList = os.path.join(self.config.DataRoot, INBOX_ITEMS)
+        if os.path.exists(inboxItemsList):
+
+            root = getRootResource(self.config, self.store)
+            directory = root.getDirectory()
+            principalCollection = directory.principalCollection
+
+            inboxItems = set()
+            with open(inboxItemsList) as input:
+                for inboxItem in input:
+                    inboxItem = inboxItem.strip()
+                    inboxItems.add(inboxItem)
+
+            try:
+                for inboxItem in list(inboxItems):
+                    log.info("Processing inbox item: %s" % (inboxItem,))
+                    ignore, uuid, ignore, fileName = inboxItem.rsplit("/", 3)
+
+                    record = directory.recordWithUID(uuid)
+                    if not record:
+                        continue
+
+                    principal = principalCollection.principalForRecord(record)
+                    if not principal:
+                        continue
+
+                    request = FakeRequest(root, "PUT", None)
+                    request.checkedSACL = True
+                    request.authnUser = request.authzUser = davxml.Principal(
+                        davxml.HRef.fromString("/principals/__uids__/%s/" % (uuid,))
+                    )
+
+                    calendarHome = yield principal.calendarHome(request)
+                    if not calendarHome:
+                        continue
+
+                    inbox = yield calendarHome.getChild("inbox")
+                    if inbox and inbox.exists():
+
+                        inboxItemResource = yield inbox.getChild(fileName)
+                        if inboxItemResource and inboxItemResource.exists():
+
+                            uri = "/calendars/__uids__/%s/inbox/%s" % (uuid,
+                                fileName)
+                            request.path = uri
+                            request._rememberResource(inboxItemResource, uri)
+
+                            yield self.processInboxItem(
+                                root,
+                                directory,
+                                principal,
+                                request,
+                                inbox,
+                                inboxItemResource,
+                                uuid,
+                                uri
+                            )
+                    inboxItems.remove(inboxItem)
+
+            except Exception, e:
+                log.error("Error processing inbox item: %s (%s)" % (inboxItem, e))
+                log.error("Restart calendar service to reattempt processing")
+
+            finally:
+                # Rewrite the inbox items file in case we exit before we're
+                # done so we'll pick up where we left off next time we start up.
+                if inboxItems:
+                    with open(inboxItemsList + ".tmp", "w") as output:
+                        for inboxItem in inboxItems:
+                            output.write("%s\n" % (inboxItem,))
+                    os.rename(inboxItemsList + ".tmp", inboxItemsList)
+                else:
+                    os.remove(inboxItemsList)
+
+        reactor.callLater(0, self.wrappedService.setServiceParent, self.parent)
+
+
+    @inlineCallbacks
+    def processInboxItem(self, root, directory, principal, request, inbox,
+        inboxItem, uuid, uri):
+        """
+        Run an individual inbox item through implicit scheduling and remove
+        the inbox item.
+        """
+
+        log.debug("Processing inbox item %s" % (inboxItem,))
+
+        ownerPrincipal = principal
+        cua = "urn:uuid:%s" % (uuid,)
+        owner = LocalCalendarUser(cua, ownerPrincipal,
+            inbox, ownerPrincipal.scheduleInboxURL())
+
+        data = yield inboxItem.iCalendarText()
+        calendar = Component.fromString(data)
+        try:
+            method = calendar.propertyValue("METHOD")
+        except ValueError:
+            returnValue(None)
+
+        if method == "REPLY":
+            # originator is attendee sending reply
+            originator = calendar.getAttendees()[0]
+        else:
+            # originator is the organizer
+            originator = calendar.getOrganizer()
+
+        principalCollection = directory.principalCollection
+        originatorPrincipal = \
principalCollection.principalForCalendarUserAddress(originator) +        originator = \
LocalCalendarUser(originator, originatorPrincipal) +        recipients = (owner,)
+
+        txn = request._newStoreTransaction
+        scheduler = DirectScheduler(request, inboxItem)
+        # Process inbox item
+        yield scheduler.doSchedulingViaPUT(originator, recipients, calendar,
+            internal_request=False)
+        # Remove item
+        yield inboxItem.storeRemove(request, True, uri)
+        yield txn.commit()
+


Property changes on: CalendarServer/trunk/txdav/caldav/datastore/index_file.py
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/config-separation/txdav/caldav/datastore/index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/caldav/datastore/index_file.py:4589-4625
/CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/index_file.py:6167-6191
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/index_file.py:5936-5981
 /CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/index_file.py:5911-5935
 /CalendarServer/branches/new-store/txdav/caldav/datastore/index_file.py:5594-5934
/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/index.py:6322-6394
   + /CalendarServer/branches/config-separation/txdav/caldav/datastore/index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/caldav/datastore/index_file.py:4589-4625
/CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/index_file.py:6167-6191
 /CalendarServer/branches/new-store/txdav/caldav/datastore/index_file.py:5594-5934
/CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/index_file.py:5911-5935
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/index_file.py:5936-5981
 /CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/inboxitems/txdav/caldav/datastore/index_file.py:7380-7381
 /CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/index.py:6322-6394


Property changes on: \
CalendarServer/trunk/txdav/caldav/datastore/test/test_index_file.py \
                ___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/config-separation/txdav/caldav/datastore/test/test_index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/caldav/datastore/test/test_index_file.py:4589-4625
 /CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/test/test_index_file.py:6167-6191
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/test/test_index_file.py:5936-5981
 /CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/test/test_index_file.py:5911-5935
 /CalendarServer/branches/new-store/txdav/caldav/datastore/test/test_index_file.py:5594-5934
 /CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/test/test_index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/test/test_index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/test/test_index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/test/test_index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/test/test_index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/test/test_index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/test/test_index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/test/test_index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/test/test_index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/test/test_index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/test/test_index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/test/test_index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/test/test_index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/test/test_index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/test/test_index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/test/test_index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/test/test_index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/test/test_index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/test/test_index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/test/test_index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/test/test_index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/test/test_index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/test/test_index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/test/test_index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/test/test_index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/test/test_index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/test/test_index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/test/test_index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/test/test_index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/test/test_index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/test/test_index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/test/test_index.py:6322-6394
   + /CalendarServer/branches/config-separation/txdav/caldav/datastore/test/test_index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/caldav/datastore/test/test_index_file.py:4589-4625
 /CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/test/test_index_file.py:6167-6191
 /CalendarServer/branches/new-store/txdav/caldav/datastore/test/test_index_file.py:5594-5934
 /CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/test/test_index_file.py:5911-5935
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/test/test_index_file.py:5936-5981
 /CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/test/test_index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/test/test_index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/test/test_index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/test/test_index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/test/test_index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/test/test_index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/test/test_index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/test/test_index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/test/test_index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/test/test_index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/test/test_index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/test/test_index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/test/test_index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/test/test_index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/test/test_index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/test/test_index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/test/test_index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/test/test_index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/test/test_index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/test/test_index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/test/test_index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/test/test_index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/test/test_index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/test/test_index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/inboxitems/txdav/caldav/datastore/test/test_index_file.py:7380-7381
 /CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/test/test_index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/test/test_index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/test/test_index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/test/test_index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/test/test_index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/test/test_index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/test/test_index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/test/test_index.py:6322-6394


Property changes on: CalendarServer/trunk/txdav/carddav/datastore/index_file.py
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/config-separation/txdav/carddav/datastore/index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/carddav/datastore/index_file.py:4589-4625
 /CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/index_file.py:6167-6191
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/index_file.py:5936-5981
 /CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/index_file.py:5911-5935
 /CalendarServer/branches/new-store/txdav/carddav/datastore/index_file.py:5594-5934
/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/vcardindex.py:6322-6394
   + /CalendarServer/branches/config-separation/txdav/carddav/datastore/index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/carddav/datastore/index_file.py:4589-4625
 /CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/index_file.py:6167-6191
 /CalendarServer/branches/new-store/txdav/carddav/datastore/index_file.py:5594-5934
/CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/index_file.py:5911-5935
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/index_file.py:5936-5981
 /CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/inboxitems/txdav/carddav/datastore/index_file.py:7380-7381
 /CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/vcardindex.py:6322-6394


Property changes on: \
CalendarServer/trunk/txdav/carddav/datastore/test/test_index_file.py \
                ___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/config-separation/txdav/carddav/datastore/test/test_index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/carddav/datastore/test/test_index_file.py:4589-4625
 /CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/test/test_index_file.py:6167-6191
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/test/test_index_file.py:5936-5981
 /CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/test/test_index_file.py:5911-5935
 /CalendarServer/branches/new-store/txdav/carddav/datastore/test/test_index_file.py:5594-5934
 /CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/test/test_index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/test/test_index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/test/test_index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/test/test_index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/test/test_index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/test/test_index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/test/test_index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/test/test_index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/test/test_index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/test/test_index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/test/test_index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/test/test_index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/test/test_index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/test/test_index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/test/test_index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/test/test_index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/test/test_index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/test/test_index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/test/test_index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/test/test_index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/test/test_index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/test/test_index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/test/test_index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/test/test_index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/test/test_index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/test/test_index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/test/test_index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/test/test_index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/test/test_index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/test/test_index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/test/test_index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/test/test_index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/test/test_vcardindex.py:6322-6394
   + /CalendarServer/branches/config-separation/txdav/carddav/datastore/test/test_index_file.py:4379-4443
 /CalendarServer/branches/egg-info-351/txdav/carddav/datastore/test/test_index_file.py:4589-4625
 /CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/test/test_index_file.py:6167-6191
 /CalendarServer/branches/new-store/txdav/carddav/datastore/test/test_index_file.py:5594-5934
 /CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/test/test_index_file.py:5911-5935
 /CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/test/test_index_file.py:5936-5981
 /CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/test/test_index_file.py:6700-7198
 /CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/test/test_index_file.py:5693-5702
 /CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/test/test_index_file.py:3628-3644
 /CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/test/test_index_file.py:5592-5601
 /CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/test/test_index_file.py:4465-4957
 /CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/test/test_index_file.py:7297-7377
 /CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/test/test_index_file.py:7085-7206
 /CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/test/test_index_file.py:7227-7237
 /CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/test/test_index_file.py:5071-5105
 /CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/test/test_index_file.py:5188-5440
 /CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/test/test_index_file.py:6574-6577
 /CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/test/test_index_file.py:4971-5080
 /CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/test/test_index_file.py:6932-7023
 /CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/test/test_index_file.py:6592-6614
 /CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/test/test_index_file.py:6893-6900
 /CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/test/test_index_file.py:7365-7374
 /CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/test/test_index_file.py:6322-6334
 /CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/test/test_index_file.py:6369
 /CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/test/test_index_file.py:7106-7155
 /CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/test/test_index_file.py:7340-7351
 /CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/test/test_index_file.py:5388-5424
 /CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/test/test_index_file.py:6490-6550
 /CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/test/test_index_file.py:5929-6073
 /CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/test/test_index_file.py:7248-7258
 /CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/test/test_index_file.py:5084-5149
 /CalendarServer/branches/users/sagen/inboxitems/txdav/carddav/datastore/test/test_index_file.py:7380-7381
 /CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/test/test_index_file.py:5032-5051
 /CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/test/test_index_file.py:5052-5061
 /CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/test/test_index_file.py:6735-6746
 /CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/test/test_index_file.py:4040-4067
 /CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/test/test_index_file.py:4068-4075
 /CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/test/test_index_file.py:5084-5093
 /CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/test/test_index_file.py:5515-5593
 /CalendarServer/trunk/twistedcaldav/test/test_vcardindex.py:6322-6394


[Attachment #5 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[7382] CalendarServer/trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt;  } #msg dl a { font-weight: \
bold} #msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
 #patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
                .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.macosforge.org/projects/calendarserver/changeset/7382">7382</a></dd>
 <dt>Author</dt> <dd>sagen@apple.com</dd>
<dt>Date</dt> <dd>2011-04-28 15:43:17 -0700 (Thu, 28 Apr 2011)</dd>
</dl>

<h3>Log Message</h3>
<pre>Landing inbox items branch -- Leopard-&gt;Lion leftover inbox items are now \
processed through implicit scheduling at upgrade time.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#CalendarServertrunkcalendarservertapcaldavpy">CalendarServer/trunk/calendarserver/tap/caldav.py</a></li>
 <li><a href="#CalendarServertrunktwistedpluginscaldavpy">CalendarServer/trunk/twisted/plugins/caldav.py</a></li>
 <li><a href="#CalendarServertrunktwistedcaldavtesttest_upgradepy">CalendarServer/trunk/twistedcaldav/test/test_upgrade.py</a></li>
 <li><a href="#CalendarServertrunktwistedcaldavupgradepy">CalendarServer/trunk/twistedcaldav/upgrade.py</a></li>
 </ul>

<h3>Removed Paths</h3>
<ul>
<li>CalendarServer/trunk/calendarserver/sidecar/</li>
</ul>

<h3>Property Changed</h3>
<ul>
<li><a href="#CalendarServertrunk">CalendarServer/trunk/</a></li>
<li><a href="#CalendarServertrunksupportbuildsh">CalendarServer/trunk/support/build.sh</a></li>
 <li><a href="#CalendarServertrunktxdavcaldavdatastoreindex_filepy">CalendarServer/trunk/txdav/caldav/datastore/index_file.py</a></li>
 <li><a href="#CalendarServertrunktxdavcaldavdatastoretesttest_index_filepy">CalendarServer/trunk/txdav/caldav/datastore/test/test_index_file.py</a></li>
 <li><a href="#CalendarServertrunktxdavcarddavdatastoreindex_filepy">CalendarServer/trunk/txdav/carddav/datastore/index_file.py</a></li>
 <li><a href="#CalendarServertrunktxdavcarddavdatastoretesttest_index_filepy">CalendarServer/trunk/txdav/carddav/datastore/test/test_index_file.py</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="CalendarServertrunk"></a>
<div class="propset"><h4>Property changes: CalendarServer/trunk</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/CalendarServer/branches/egg-info-351:4589-4625
</span><span class="cx">/CalendarServer/branches/generic-sqlstore:6167-6191
</span><span class="cx">/CalendarServer/branches/new-store:5594-5934
</span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile:5911-5935
</span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2:5936-5981
</span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods:7297-7377
</span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar:7085-7206
</span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard:7227-7237
</span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit:6574-6577
</span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify:6932-7023
</span><span class="cx">/CalendarServer/branches/users/glyph/db-reconnect:6824-6876
</span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests:6893-6900
</span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6:6322-6368
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7:6369-6445
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle:7106-7155
</span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls:7340-7351
</span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport:5388-5424
</span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool:6490-6550
</span><span class="cx">/CalendarServer/branches/users/glyph/sql-store:5929-6073
</span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2:5084-5093
</span><span class="cx">/CalendarServer/branches/users/wsanchez/transations:5515-5593
</span><span class="cx">   + /CalendarServer/branches/config-separation:4379-4443
</span><span class="cx">/CalendarServer/branches/egg-info-351:4589-4625
</span><span class="cx">/CalendarServer/branches/generic-sqlstore:6167-6191
</span><span class="cx">/CalendarServer/branches/new-store:5594-5934
</span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile:5911-5935
</span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2:5936-5981
</span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods:7297-7377
</span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar:7085-7206
</span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard:7227-7237
</span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit:6574-6577
</span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify:6932-7023
</span><span class="cx">/CalendarServer/branches/users/glyph/db-reconnect:6824-6876
</span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests:6893-6900
</span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6:6322-6368
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7:6369-6445
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle:7106-7155
</span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls:7340-7351
</span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport:5388-5424
</span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool:6490-6550
</span><span class="cx">/CalendarServer/branches/users/glyph/sql-store:5929-6073
</span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/inboxitems:7380-7381
</span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2:5084-5093
</span><span class="cx">/CalendarServer/branches/users/wsanchez/transations:5515-5593
</span><a id="CalendarServertrunkcalendarservertapcaldavpy"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/calendarserver/tap/caldav.py \
(7381 => 7382)</h4> <pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/calendarserver/tap/caldav.py	2011-04-28 \
                21:36:58 UTC (rev 7381)
+++ CalendarServer/trunk/calendarserver/tap/caldav.py	2011-04-28 22:43:17 UTC (rev \
7382) </span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> from twistedcaldav.mail import IMIPReplyInboxResource
</span><span class="cx"> from twistedcaldav import memcachepool
</span><span class="cx"> from twistedcaldav.stdconfig import DEFAULT_CONFIG, \
DEFAULT_CONFIG_FILE </span><del>-from twistedcaldav.upgrade import \
UpgradeFileSystemFormatService </del><ins>+from twistedcaldav.upgrade import \
UpgradeFileSystemFormatService, PostDBImportService </ins><span class="cx"> 
</span><span class="cx"> from calendarserver.tap.util import pgServiceFromConfig
</span><span class="cx"> 
</span><span class="lines">@@ -429,7 +429,6 @@
</span><span class="cx">     L{DelayedStartupProcessMonitor}:
</span><span class="cx"> 
</span><span class="cx">         - regular slave processes (CalDAV workers)
</span><del>-        - task sidecar
</del><span class="cx">         - notifier
</span><span class="cx">         - mail gateway
</span><span class="cx">     &quot;&quot;&quot;
</span><span class="lines">@@ -506,27 +505,8 @@
</span><span class="cx">             self.monitor.addProcess(&quot;mailgateway&quot;, \
mailGatewayArgv, </span><span class="cx">                                \
env=PARENT_ENVIRONMENT) </span><span class="cx"> 
</span><del>-        self.maker.log_info(&quot;Adding task service&quot;)
-        taskArgv = [
-            sys.executable,
-            sys.argv[0],
-        ]
-        if config.UserName:
-            taskArgv.extend((&quot;-u&quot;, config.UserName))
-        if config.GroupName:
-            taskArgv.extend((&quot;-g&quot;, config.GroupName))
-        taskArgv.extend((
-            &quot;--reactor=%s&quot; % (config.Twisted.reactor,),
-            &quot;-n&quot;, &quot;caldav_task&quot;,
-            &quot;-f&quot;, self.configPath,
-        ))
</del><span class="cx"> 
</span><del>-        self.monitor.addProcess(
-            &quot;caldav_task&quot;, taskArgv, env=PARENT_ENVIRONMENT
-        )
</del><span class="cx"> 
</span><del>-
-
</del><span class="cx"> class CalDAVServiceMaker (LoggingMixIn):
</span><span class="cx">     implements(IPlugin, IServiceMaker)
</span><span class="cx"> 
</span><span class="lines">@@ -982,7 +962,8 @@
</span><span class="cx">             mainService = createMainService(cp, store)
</span><span class="cx">             upgradeSvc = \
UpgradeFileSystemFormatService(config, </span><span class="cx">                 \
UpgradeToDatabaseService.wrapService( </span><del>-                    \
CachingFilePath(config.DocumentRoot), mainService, </del><ins>+                    \
CachingFilePath(config.DocumentRoot), +                    \
PostDBImportService(config, store, mainService), </ins><span class="cx">              \
store, uid=uid, gid=gid </span><span class="cx">                 )
</span><span class="cx">             )
</span></span></pre></div>
<a id="CalendarServertrunksupportbuildsh"></a>
<div class="propset"><h4>Property changes: CalendarServer/trunk/support/build.sh</h4>
<pre class="diff"><span>
</span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/CalendarServer/branches/egg-info-351/support/build.sh:4589-4615
</span><span class="cx">/CalendarServer/branches/generic-sqlstore/support/build.sh:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/support/build.sh:5936-5981
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/support/build.sh:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store/support/build.sh:5594-5934
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/support/build.sh:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/support/build.sh:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/support/build.sh:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/support/build.sh:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/support/build.sh:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/support/build.sh:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/support/build.sh:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/support/build.sh:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/support/build.sh:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/support/build.sh:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/support/build.sh:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/support/build.sh:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/db-reconnect/support/build.sh:6824-6876
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/support/build.sh:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/support/build.sh:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/support/build.sh:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/support/build.sh:6322-6368
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/support/build.sh:6369-6445
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/support/build.sh:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/support/build.sh:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/support/build.sh:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/support/build.sh:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/support/build.sh:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/support/build.sh:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/support/build.sh:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/support/build.sh:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/support/build.sh:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/support/build.sh:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/support/build.sh:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/support/build.sh:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/support/build.sh:5515-5593
 </span><span class="cx">   + \
/CalendarServer/branches/config-separation/support/build.sh:4379-4443 </span><span \
class="cx">/CalendarServer/branches/egg-info-351/support/build.sh:4589-4615 \
</span><span class="cx">/CalendarServer/branches/generic-sqlstore/support/build.sh:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store/support/build.sh:5594-5934
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/support/build.sh:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/support/build.sh:5936-5981
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/support/build.sh:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/support/build.sh:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/support/build.sh:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/support/build.sh:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/support/build.sh:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/support/build.sh:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/support/build.sh:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/support/build.sh:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/support/build.sh:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/support/build.sh:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/support/build.sh:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/support/build.sh:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/db-reconnect/support/build.sh:6824-6876
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/support/build.sh:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/support/build.sh:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/support/build.sh:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/support/build.sh:6322-6368
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/support/build.sh:6369-6445
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/support/build.sh:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/support/build.sh:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/support/build.sh:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/support/build.sh:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/support/build.sh:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/support/build.sh:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/inboxitems/support/build.sh:7380-7381
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/support/build.sh:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/support/build.sh:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/support/build.sh:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/support/build.sh:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/support/build.sh:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/support/build.sh:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/support/build.sh:5515-5593
 </span><a id="CalendarServertrunktwistedpluginscaldavpy"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twisted/plugins/caldav.py \
(7381 => 7382)</h4> <pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twisted/plugins/caldav.py	2011-04-28 \
                21:36:58 UTC (rev 7381)
+++ CalendarServer/trunk/twisted/plugins/caldav.py	2011-04-28 22:43:17 UTC (rev 7382)
</span><span class="lines">@@ -50,6 +50,5 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> TwistedCalDAV     = \
TAP(&quot;calendarserver.tap.caldav.CalDAVServiceMaker&quot;) </span><del>-CalDAVTask \
= TAP(&quot;calendarserver.sidecar.task.CalDAVTaskServiceMaker&quot;) </del><span \
class="cx"> CalDAVNotifier    = \
TAP(&quot;twistedcaldav.notify.NotificationServiceMaker&quot;) </span><span \
class="cx"> CalDAVMailGateway = \
TAP(&quot;twistedcaldav.mail.MailGatewayServiceMaker&quot;) \
</span></span></pre></div> <a \
id="CalendarServertrunktwistedcaldavtesttest_upgradepy"></a> <div \
class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/test/test_upgrade.py \
(7381 => 7382)</h4> <pre class="diff"><span>
<span class="info">--- \
CalendarServer/trunk/twistedcaldav/test/test_upgrade.py	2011-04-28 21:36:58 UTC (rev \
                7381)
+++ CalendarServer/trunk/twistedcaldav/test/test_upgrade.py	2011-04-28 22:43:17 UTC \
(rev 7382) </span><span class="lines">@@ -327,7 +327,6 @@
</span><span class="cx">             },
</span><span class="cx">             MailGatewayTokensDatabase.dbFilename : { \
&quot;@contents&quot; : None }, </span><span class="cx">             \
&quot;%s-journal&quot; % (MailGatewayTokensDatabase.dbFilename,) : { \
&quot;@contents&quot; : None }, </span><del>-            &quot;tasks&quot; : \
{&quot;incoming&quot; : {}} </del><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         (yield self.verifyDirectoryComparison(before, \
after)) </span><span class="lines">@@ -403,12 +402,6 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         after = {
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -532,12 +525,6 @@
</span><span class="cx">                 {
</span><span class="cx">                 },
</span><span class="cx">             },
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -624,12 +611,6 @@
</span><span class="cx">                 {
</span><span class="cx">                 },
</span><span class="cx">             },
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -721,12 +702,6 @@
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;&quot;,
</span><span class="cx">             },
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -837,12 +812,6 @@
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;&quot;,
</span><span class="cx">             },
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -922,12 +891,6 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         after = {
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -1050,12 +1013,6 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         after = {
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -1182,12 +1139,6 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         after = {
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;.calendarserver_version&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;@contents&quot; : &quot;2&quot;,
</span><span class="lines">@@ -1300,12 +1251,6 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx">         after = {
</span><del>-            &quot;tasks&quot; :
-            {
-                &quot;incoming&quot; :
-                {
-                },
-            },
</del><span class="cx">             &quot;calendars&quot; :
</span><span class="cx">             {
</span><span class="cx">                 &quot;__uids__&quot; :
</span></span></pre></div>
<a id="CalendarServertrunktwistedcaldavupgradepy"></a>
<div class="modfile"><h4>Modified: CalendarServer/trunk/twistedcaldav/upgrade.py \
(7381 => 7382)</h4> <pre class="diff"><span>
<span class="info">--- CalendarServer/trunk/twistedcaldav/upgrade.py	2011-04-28 \
                21:36:58 UTC (rev 7381)
+++ CalendarServer/trunk/twistedcaldav/upgrade.py	2011-04-28 22:43:17 UTC (rev 7382)
</span><span class="lines">@@ -33,21 +33,30 @@
</span><span class="cx"> from twistedcaldav.mail import MailGatewayTokensDatabase
</span><span class="cx"> from twistedcaldav.ical import Component
</span><span class="cx"> from twistedcaldav import caldavxml
</span><ins>+from twistedcaldav.ical import Component
+from twistedcaldav.scheduling.cuaddress import LocalCalendarUser
+from twistedcaldav.scheduling.scheduler import DirectScheduler
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx"> from twisted.application.service import Service
</span><span class="cx"> from twisted.internet import reactor
</span><del>-from twisted.internet.defer import inlineCallbacks, succeed
</del><ins>+from twisted.internet.defer import inlineCallbacks, succeed, returnValue
</ins><span class="cx"> 
</span><span class="cx"> from txdav.caldav.datastore.index_file import db_basename
</span><span class="cx"> 
</span><ins>+from calendarserver.tap.util import getRootResource, FakeRequest
+
</ins><span class="cx"> from calendarserver.tools.util import getDirectory
</span><span class="cx"> from calendarserver.tools.resources import migrateResources
</span><ins>+
</ins><span class="cx"> from twisted.python.reflect import namedAny
</span><span class="cx"> 
</span><span class="cx"> deadPropertyXattrPrefix = namedAny(
</span><span class="cx">     \
&quot;txdav.base.propertystore.xattr.PropertyStore.deadPropertyXattrPrefix&quot; \
</span><span class="cx"> ) </span><span class="cx"> 
</span><ins>+INBOX_ITEMS = &quot;inboxitems.txt&quot;
+
</ins><span class="cx"> log = Logger()
</span><span class="cx"> 
</span><span class="cx"> def xattrname(n):
</span><span class="lines">@@ -320,22 +329,7 @@
</span><span class="cx">             os.chown(journalPath, uid, gid)
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-    def createTaskServiceDirectory(config, uid, gid):
</del><span class="cx"> 
</span><del>-        taskDir = os.path.join(config.DataRoot, &quot;tasks&quot;)
-        if not os.path.exists(taskDir):
-            os.mkdir(taskDir)
-        os.chown(taskDir, uid, gid)
-
-        incomingDir = os.path.join(taskDir, &quot;incoming&quot;)
-        if not os.path.exists(incomingDir):
-            os.mkdir(incomingDir)
-        os.chown(incomingDir, uid, gid)
-
-        return incomingDir
-
-
-
</del><span class="cx">     directory = getDirectory()
</span><span class="cx"> 
</span><span class="cx">     docRoot = config.DocumentRoot
</span><span class="lines">@@ -431,13 +425,12 @@
</span><span class="cx">                                         if not \
inboxItem.startswith(&quot;.&quot;): </span><span class="cx">                         \
inboxItems.add(os.path.join(inboxPath, inboxItem)) </span><span class="cx"> 
</span><del>-            incomingDir = createTaskServiceDirectory(config, uid, gid)
</del><span class="cx">             if inboxItems:
</span><del>-                taskFile = os.path.join(incomingDir, \
                &quot;scheduleinboxes.task&quot;)
-                with open(taskFile, &quot;w&quot;) as out:
</del><ins>+                inboxItemsFile = os.path.join(config.DataRoot, \
INBOX_ITEMS) +                with open(inboxItemsFile, &quot;w&quot;) as out:
</ins><span class="cx">                     for item in inboxItems:
</span><span class="cx">                         out.write(&quot;%s\n&quot; % (item))
</span><del>-                os.chown(taskFile, uid, gid)
</del><ins>+                os.chown(inboxItemsFile, uid, gid)
</ins><span class="cx"> 
</span><span class="cx">             if total:
</span><span class="cx">                 log.warn(&quot;Processing %d calendar homes \
in %s&quot; % (total, uidHomes)) </span><span class="lines">@@ -807,3 +800,152 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+class PostDBImportService(Service, object):
+    &quot;&quot;&quot;
+    Service for processing non-implicit inbox items after data has been
+    imported into the DB
+    &quot;&quot;&quot;
+
+    def __init__(self, config, store, service):
+        &quot;&quot;&quot;
+        Initialize the service.
+        &quot;&quot;&quot;
+        self.wrappedService = service
+        self.store = store
+        self.config = config
+
+    def startService(self):
+        &quot;&quot;&quot;
+        Start the service.
+        &quot;&quot;&quot;
+        self.processInboxItems()
+
+
+    @inlineCallbacks
+    def processInboxItems(self):
+        &quot;&quot;&quot;
+        When data is migrated from a non-implicit scheduling server there can
+        be inbox items that clients have not yet processed.  This method
+        runs those inbox items through the implicit scheduling mechanism.
+        &quot;&quot;&quot;
+
+        inboxItemsList = os.path.join(self.config.DataRoot, INBOX_ITEMS)
+        if os.path.exists(inboxItemsList):
+
+            root = getRootResource(self.config, self.store)
+            directory = root.getDirectory()
+            principalCollection = directory.principalCollection
+
+            inboxItems = set()
+            with open(inboxItemsList) as input:
+                for inboxItem in input:
+                    inboxItem = inboxItem.strip()
+                    inboxItems.add(inboxItem)
+
+            try:
+                for inboxItem in list(inboxItems):
+                    log.info(&quot;Processing inbox item: %s&quot; % (inboxItem,))
+                    ignore, uuid, ignore, fileName = inboxItem.rsplit(&quot;/&quot;, \
3) +
+                    record = directory.recordWithUID(uuid)
+                    if not record:
+                        continue
+
+                    principal = principalCollection.principalForRecord(record)
+                    if not principal:
+                        continue
+
+                    request = FakeRequest(root, &quot;PUT&quot;, None)
+                    request.checkedSACL = True
+                    request.authnUser = request.authzUser = davxml.Principal(
+                        davxml.HRef.fromString(&quot;/principals/__uids__/%s/&quot; \
% (uuid,)) +                    )
+
+                    calendarHome = yield principal.calendarHome(request)
+                    if not calendarHome:
+                        continue
+
+                    inbox = yield calendarHome.getChild(&quot;inbox&quot;)
+                    if inbox and inbox.exists():
+
+                        inboxItemResource = yield inbox.getChild(fileName)
+                        if inboxItemResource and inboxItemResource.exists():
+
+                            uri = &quot;/calendars/__uids__/%s/inbox/%s&quot; % \
(uuid, +                                fileName)
+                            request.path = uri
+                            request._rememberResource(inboxItemResource, uri)
+
+                            yield self.processInboxItem(
+                                root,
+                                directory,
+                                principal,
+                                request,
+                                inbox,
+                                inboxItemResource,
+                                uuid,
+                                uri
+                            )
+                    inboxItems.remove(inboxItem)
+
+            except Exception, e:
+                log.error(&quot;Error processing inbox item: %s (%s)&quot; % \
(inboxItem, e)) +                log.error(&quot;Restart calendar service to \
reattempt processing&quot;) +
+            finally:
+                # Rewrite the inbox items file in case we exit before we're
+                # done so we'll pick up where we left off next time we start up.
+                if inboxItems:
+                    with open(inboxItemsList + &quot;.tmp&quot;, &quot;w&quot;) as \
output: +                        for inboxItem in inboxItems:
+                            output.write(&quot;%s\n&quot; % (inboxItem,))
+                    os.rename(inboxItemsList + &quot;.tmp&quot;, inboxItemsList)
+                else:
+                    os.remove(inboxItemsList)
+
+        reactor.callLater(0, self.wrappedService.setServiceParent, self.parent)
+
+
+    @inlineCallbacks
+    def processInboxItem(self, root, directory, principal, request, inbox,
+        inboxItem, uuid, uri):
+        &quot;&quot;&quot;
+        Run an individual inbox item through implicit scheduling and remove
+        the inbox item.
+        &quot;&quot;&quot;
+
+        log.debug(&quot;Processing inbox item %s&quot; % (inboxItem,))
+
+        ownerPrincipal = principal
+        cua = &quot;urn:uuid:%s&quot; % (uuid,)
+        owner = LocalCalendarUser(cua, ownerPrincipal,
+            inbox, ownerPrincipal.scheduleInboxURL())
+
+        data = yield inboxItem.iCalendarText()
+        calendar = Component.fromString(data)
+        try:
+            method = calendar.propertyValue(&quot;METHOD&quot;)
+        except ValueError:
+            returnValue(None)
+
+        if method == &quot;REPLY&quot;:
+            # originator is attendee sending reply
+            originator = calendar.getAttendees()[0]
+        else:
+            # originator is the organizer
+            originator = calendar.getOrganizer()
+
+        principalCollection = directory.principalCollection
+        originatorPrincipal = \
principalCollection.principalForCalendarUserAddress(originator) +        originator = \
LocalCalendarUser(originator, originatorPrincipal) +        recipients = (owner,)
+
+        txn = request._newStoreTransaction
+        scheduler = DirectScheduler(request, inboxItem)
+        # Process inbox item
+        yield scheduler.doSchedulingViaPUT(originator, recipients, calendar,
+            internal_request=False)
+        # Remove item
+        yield inboxItem.storeRemove(request, True, uri)
+        yield txn.commit()
+
</ins></span></pre></div>
<a id="CalendarServertrunktxdavcaldavdatastoreindex_filepy"></a>
<div class="propset"><h4>Property changes: \
CalendarServer/trunk/txdav/caldav/datastore/index_file.py</h4> <pre \
class="diff"><span> </span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/CalendarServer/branches/egg-info-351/txdav/caldav/datastore/index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/caldav/datastore/index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/index.py:6322-6394
</span><span class="cx">   + \
/CalendarServer/branches/config-separation/txdav/caldav/datastore/index_file.py:4379-4443
 </span><span class="cx">/CalendarServer/branches/egg-info-351/txdav/caldav/datastore/index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/caldav/datastore/index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/inboxitems/txdav/caldav/datastore/index_file.py:7380-7381
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/index.py:6322-6394
</span><a id="CalendarServertrunktxdavcaldavdatastoretesttest_index_filepy"></a>
<div class="propset"><h4>Property changes: \
CalendarServer/trunk/txdav/caldav/datastore/test/test_index_file.py</h4> <pre \
class="diff"><span> </span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/CalendarServer/branches/egg-info-351/txdav/caldav/datastore/test/test_index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/test/test_index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/test/test_index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/test/test_index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/caldav/datastore/test/test_index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/test/test_index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/test/test_index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/test/test_index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/test/test_index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/test/test_index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/test/test_index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/test/test_index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/test/test_index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/test/test_index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/test/test_index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/test/test_index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/test/test_index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/test/test_index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/test/test_index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/test/test_index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/test/test_index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/test/test_index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/test/test_index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/test/test_index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/test/test_index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/test/test_index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/test/test_index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/test/test_index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/test/test_index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/test/test_index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/test/test_index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/test/test_index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/test/test_index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/test/test_index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/test/test_index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/test/test_index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/test/test_index.py:6322-6394
 </span><span class="cx">   + \
/CalendarServer/branches/config-separation/txdav/caldav/datastore/test/test_index_file.py:4379-4443
 </span><span class="cx">/CalendarServer/branches/egg-info-351/txdav/caldav/datastore/test/test_index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/caldav/datastore/test/test_index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/caldav/datastore/test/test_index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/caldav/datastore/test/test_index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/caldav/datastore/test/test_index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/caldav/datastore/test/test_index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/caldav/datastore/test/test_index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/caldav/datastore/test/test_index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/caldav/datastore/test/test_index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/caldav/datastore/test/test_index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/caldav/datastore/test/test_index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/caldav/datastore/test/test_index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/caldav/datastore/test/test_index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/caldav/datastore/test/test_index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/caldav/datastore/test/test_index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/caldav/datastore/test/test_index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/caldav/datastore/test/test_index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/caldav/datastore/test/test_index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/caldav/datastore/test/test_index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/caldav/datastore/test/test_index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/caldav/datastore/test/test_index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/caldav/datastore/test/test_index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/caldav/datastore/test/test_index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/caldav/datastore/test/test_index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/caldav/datastore/test/test_index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/caldav/datastore/test/test_index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/caldav/datastore/test/test_index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/caldav/datastore/test/test_index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/caldav/datastore/test/test_index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/caldav/datastore/test/test_index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/inboxitems/txdav/caldav/datastore/test/test_index_file.py:7380-7381
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/caldav/datastore/test/test_index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/caldav/datastore/test/test_index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/caldav/datastore/test/test_index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/caldav/datastore/test/test_index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/caldav/datastore/test/test_index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/caldav/datastore/test/test_index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/caldav/datastore/test/test_index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/test/test_index.py:6322-6394
 </span><a id="CalendarServertrunktxdavcarddavdatastoreindex_filepy"></a>
<div class="propset"><h4>Property changes: \
CalendarServer/trunk/txdav/carddav/datastore/index_file.py</h4> <pre \
class="diff"><span> </span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/CalendarServer/branches/egg-info-351/txdav/carddav/datastore/index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/carddav/datastore/index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/vcardindex.py:6322-6394
</span><span class="cx">   + \
/CalendarServer/branches/config-separation/txdav/carddav/datastore/index_file.py:4379-4443
 </span><span class="cx">/CalendarServer/branches/egg-info-351/txdav/carddav/datastore/index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/carddav/datastore/index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/inboxitems/txdav/carddav/datastore/index_file.py:7380-7381
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/vcardindex.py:6322-6394
</span><a id="CalendarServertrunktxdavcarddavdatastoretesttest_index_filepy"></a>
<div class="propset"><h4>Property changes: \
CalendarServer/trunk/txdav/carddav/datastore/test/test_index_file.py</h4> <pre \
class="diff"><span> </span></pre></div>
<a id="svnmergeinfo"></a>
<div class="modfile"><h4>Modified: svn:mergeinfo</h4></div>
<span class="cx">/CalendarServer/branches/egg-info-351/txdav/carddav/datastore/test/test_index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/test/test_index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/test/test_index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/test/test_index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/carddav/datastore/test/test_index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/test/test_index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/test/test_index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/test/test_index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/test/test_index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/test/test_index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/test/test_index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/test/test_index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/test/test_index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/test/test_index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/test/test_index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/test/test_index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/test/test_index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/test/test_index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/test/test_index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/test/test_index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/test/test_index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/test/test_index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/test/test_index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/test/test_index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/test/test_index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/test/test_index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/test/test_index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/test/test_index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/test/test_index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/test/test_index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/test/test_index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/test/test_index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/test/test_index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/test/test_index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/test/test_index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/test/test_index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/test/test_index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/test/test_vcardindex.py:6322-6394
 </span><span class="cx">   + \
/CalendarServer/branches/config-separation/txdav/carddav/datastore/test/test_index_file.py:4379-4443
 </span><span class="cx">/CalendarServer/branches/egg-info-351/txdav/carddav/datastore/test/test_index_file.py:4589-4625
 </span><span class="cx">/CalendarServer/branches/generic-sqlstore/txdav/carddav/datastore/test/test_index_file.py:6167-6191
 </span><span class="cx">/CalendarServer/branches/new-store/txdav/carddav/datastore/test/test_index_file.py:5594-5934
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile/txdav/carddav/datastore/test/test_index_file.py:5911-5935
 </span><span class="cx">/CalendarServer/branches/new-store-no-caldavfile-2/txdav/carddav/datastore/test/test_index_file.py:5936-5981
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/batchupload-6699/txdav/carddav/datastore/test/test_index_file.py:6700-7198
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/cached-subscription-calendars-5692/txdav/carddav/datastore/test/test_index_file.py:5693-5702
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/directory-cache-on-demand-3627/txdav/carddav/datastore/test/test_index_file.py:3628-3644
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/more-sharing-5591/txdav/carddav/datastore/test/test_index_file.py:5592-5601
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/partition-4464/txdav/carddav/datastore/test/test_index_file.py:4465-4957
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pods/txdav/carddav/datastore/test/test_index_file.py:7297-7377
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycalendar/txdav/carddav/datastore/test/test_index_file.py:7085-7206
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/pycard/txdav/carddav/datastore/test/test_index_file.py:7227-7237
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/relative-config-paths-5070/txdav/carddav/datastore/test/test_index_file.py:5071-5105
 </span><span class="cx">/CalendarServer/branches/users/cdaboo/shared-calendars-5187/txdav/carddav/datastore/test/test_index_file.py:5188-5440
 </span><span class="cx">/CalendarServer/branches/users/glyph/conn-limit/txdav/carddav/datastore/test/test_index_file.py:6574-6577
 </span><span class="cx">/CalendarServer/branches/users/glyph/contacts-server-merge/txdav/carddav/datastore/test/test_index_file.py:4971-5080
 </span><span class="cx">/CalendarServer/branches/users/glyph/dalify/txdav/carddav/datastore/test/test_index_file.py:6932-7023
 </span><span class="cx">/CalendarServer/branches/users/glyph/dont-start-postgres/txdav/carddav/datastore/test/test_index_file.py:6592-6614
 </span><span class="cx">/CalendarServer/branches/users/glyph/linux-tests/txdav/carddav/datastore/test/test_index_file.py:6893-6900
 </span><span class="cx">/CalendarServer/branches/users/glyph/misc-portability-fixes/txdav/carddav/datastore/test/test_index_file.py:7365-7374
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-6/txdav/carddav/datastore/test/test_index_file.py:6322-6334
 </span><span class="cx">/CalendarServer/branches/users/glyph/more-deferreds-7/txdav/carddav/datastore/test/test_index_file.py:6369
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle/txdav/carddav/datastore/test/test_index_file.py:7106-7155
 </span><span class="cx">/CalendarServer/branches/users/glyph/oracle-nulls/txdav/carddav/datastore/test/test_index_file.py:7340-7351
 </span><span class="cx">/CalendarServer/branches/users/glyph/sendfdport/txdav/carddav/datastore/test/test_index_file.py:5388-5424
 </span><span class="cx">/CalendarServer/branches/users/glyph/sharedpool/txdav/carddav/datastore/test/test_index_file.py:6490-6550
 </span><span class="cx">/CalendarServer/branches/users/glyph/sql-store/txdav/carddav/datastore/test/test_index_file.py:5929-6073
 </span><span class="cx">/CalendarServer/branches/users/glyph/subtransactions/txdav/carddav/datastore/test/test_index_file.py:7248-7258
 </span><span class="cx">/CalendarServer/branches/users/glyph/use-system-twisted/txdav/carddav/datastore/test/test_index_file.py:5084-5149
 </span><span class="cx">/CalendarServer/branches/users/sagen/inboxitems/txdav/carddav/datastore/test/test_index_file.py:7380-7381
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources/txdav/carddav/datastore/test/test_index_file.py:5032-5051
 </span><span class="cx">/CalendarServer/branches/users/sagen/locations-resources-2/txdav/carddav/datastore/test/test_index_file.py:5052-5061
 </span><span class="cx">/CalendarServer/branches/users/sagen/purge_old_events/txdav/carddav/datastore/test/test_index_file.py:6735-6746
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4038/txdav/carddav/datastore/test/test_index_file.py:4040-4067
 </span><span class="cx">/CalendarServer/branches/users/sagen/resource-delegates-4066/txdav/carddav/datastore/test/test_index_file.py:4068-4075
 </span><span class="cx">/CalendarServer/branches/users/sagen/resources-2/txdav/carddav/datastore/test/test_index_file.py:5084-5093
 </span><span class="cx">/CalendarServer/branches/users/wsanchez/transations/txdav/carddav/datastore/test/test_index_file.py:5515-5593
 </span><span class="cx">/CalendarServer/trunk/twistedcaldav/test/test_vcardindex.py:6322-6394
 </span></div>

</body>
</html>



_______________________________________________
calendarserver-changes mailing list
calendarserver-changes@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/calendarserver-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic