[CalendarServer-changes] [9351] CalendarServer/branches/release/CalendarServer-3.3-dev

source_changes at macosforge.org source_changes at macosforge.org
Fri Jun 8 16:32:48 PDT 2012


Revision: 9351
          http://trac.macosforge.org/projects/calendarserver/changeset/9351
Author:   wsanchez at apple.com
Date:     2012-06-08 16:32:47 -0700 (Fri, 08 Jun 2012)
Log Message:
-----------
Re-merge changes from the old 3.3-dev branch.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/provision/root.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/applepush.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/test/test_applepush.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/purge.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/test/test_purge_old_events.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/aggregate.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/appleopendirectory.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/cachingdirectory.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/directory.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/sudo.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_cachedirectory.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_directory.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_util.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/util.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlaccountsparser.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlfile.py

Property Changed:
----------------
    CalendarServer/branches/release/CalendarServer-3.3-dev/
    CalendarServer/branches/release/CalendarServer-3.3-dev/support/build.sh
    CalendarServer/branches/release/CalendarServer-3.3-dev/txdav/caldav/datastore/index_file.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/txdav/caldav/datastore/test/test_index_file.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/txdav/carddav/datastore/index_file.py
    CalendarServer/branches/release/CalendarServer-3.3-dev/txdav/carddav/datastore/test/test_index_file.py


Property changes on: CalendarServer/branches/release/CalendarServer-3.3-dev
___________________________________________________________________
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/implicituidrace:8137-8141
/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/cdaboo/timezones:7443-7699
/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/deploybuild:7563-7572
/CalendarServer/branches/users/glyph/disable-quota:7718-7727
/CalendarServer/branches/users/glyph/dont-start-postgres:6592-6614
/CalendarServer/branches/users/glyph/imip-and-admin-html:7866-7984
/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/multiget-delete:8321-8330
/CalendarServer/branches/users/glyph/new-export:7444-7485
/CalendarServer/branches/users/glyph/oracle:7106-7155
/CalendarServer/branches/users/glyph/oracle-nulls:7340-7351
/CalendarServer/branches/users/glyph/other-html:8062-8091
/CalendarServer/branches/users/glyph/parallel-sim:8240-8251
/CalendarServer/branches/users/glyph/quota:7604-7637
/CalendarServer/branches/users/glyph/sendfdport:5388-5424
/CalendarServer/branches/users/glyph/shared-pool-take2:8155-8174
/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/uidexport:7673-7676
/CalendarServer/branches/users/glyph/use-system-twisted:5084-5149
/CalendarServer/branches/users/glyph/xattrs-from-files:7757-7769
/CalendarServer/branches/users/sagen/applepush:8126-8184
/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
/CalendarServer/trunk:8290,8294,8303,8305,8307,8314,8320,8331-8332,8422,8427,8445
   + /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/release/CalendarServer-3.3-dev:8718-9344
/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/implicituidrace:8137-8141
/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/cdaboo/timezones:7443-7699
/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/deploybuild:7563-7572
/CalendarServer/branches/users/glyph/disable-quota:7718-7727
/CalendarServer/branches/users/glyph/dont-start-postgres:6592-6614
/CalendarServer/branches/users/glyph/imip-and-admin-html:7866-7984
/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/multiget-delete:8321-8330
/CalendarServer/branches/users/glyph/new-export:7444-7485
/CalendarServer/branches/users/glyph/oracle:7106-7155
/CalendarServer/branches/users/glyph/oracle-nulls:7340-7351
/CalendarServer/branches/users/glyph/other-html:8062-8091
/CalendarServer/branches/users/glyph/parallel-sim:8240-8251
/CalendarServer/branches/users/glyph/quota:7604-7637
/CalendarServer/branches/users/glyph/sendfdport:5388-5424
/CalendarServer/branches/users/glyph/shared-pool-take2:8155-8174
/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/uidexport:7673-7676
/CalendarServer/branches/users/glyph/use-system-twisted:5084-5149
/CalendarServer/branches/users/glyph/xattrs-from-files:7757-7769
/CalendarServer/branches/users/sagen/applepush:8126-8184
/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
/CalendarServer/trunk:8290,8294,8303,8305,8307,8314,8320,8331-8332,8422,8427,8445,8549

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/provision/root.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/provision/root.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/provision/root.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -286,9 +286,9 @@
                                     break
 
                         if principal:
-                            log.debug("Wiki-authenticated principal %s being assigned to authnUser and authzUser" % (record.guid,))
+                            log.debug("Wiki-authenticated principal %s being assigned to authnUser and authzUser" % (record.uid,))
                             request.authzUser = request.authnUser = davxml.Principal(
-                                davxml.HRef.fromString("/principals/__uids__/%s/" % (record.guid,))
+                                davxml.HRef.fromString("/principals/__uids__/%s/" % (record.uid,))
                             )
 
         if not hasattr(request, "authzUser") and config.WebCalendarAuthPath:

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/applepush.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/applepush.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/applepush.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -164,8 +164,9 @@
             if numSubscriptions > 0:
                 self.log_debug("Sending %d APNS notifications for %s" %
                     (numSubscriptions, key))
-                for token, guid in subscriptions:
-                    provider.sendNotification(token, key)
+                for token, uid in subscriptions:
+                    if token and uid:
+                        provider.sendNotification(token, key)
 
 
 
@@ -398,7 +399,7 @@
         txn = self.factory.store.newTransaction()
         subscriptions = (yield txn.apnSubscriptionsByToken(token))
 
-        for key, modified, guid in subscriptions:
+        for key, modified, uid in subscriptions:
             if timestamp > modified:
                 self.log_debug("FeedbackProtocol removing subscription: %s %s" %
                     (token, key))
@@ -546,24 +547,32 @@
         @type request: L{twext.web2.server.Request}
         """
 
-        token = request.args.get("token", None)
-        key = request.args.get("key", None)
-        if key and token:
-            key = key[0]
-            token = token[0].replace(" ", "").lower()
-            principal = self.principalFromRequest(request)
-            guid = principal.record.guid
-            yield self.addSubscription(token, key, guid)
-            code = responsecode.OK
-            msg = None
-        else:
+        token = request.args.get("token", ("",))[0].replace(" ", "").lower()
+        key = request.args.get("key", ("",))[0]
+
+        if not (key and token):
             code = responsecode.BAD_REQUEST
             msg = "Invalid request: both 'token' and 'key' must be provided"
 
+        elif not validToken(token):
+            code = responsecode.BAD_REQUEST
+            msg = "Invalid request: bad 'token' %s" % (token,)
+
+        else:
+            principal = self.principalFromRequest(request)
+            uid = principal.record.uid
+            try:
+                yield self.addSubscription(token, key, uid)
+                code = responsecode.OK
+                msg = None
+            except InvalidSubscriptionValues:
+                code = responsecode.BAD_REQUEST
+                msg = "Invalid subscription values"
+
         returnValue((code, msg))
 
     @inlineCallbacks
-    def addSubscription(self, token, key, guid):
+    def addSubscription(self, token, key, uid):
         """
         Add a subscription (or update its timestamp if already there).
 
@@ -573,12 +582,12 @@
         @param key: The push key
         @type key: C{str}
 
-        @param guid: The GUID of the subscriber principal
-        @type guid: C{str}
+        @param uid: The uid of the subscriber principal
+        @type uid: C{str}
         """
         now = int(time.time()) # epoch seconds
         txn = self.store.newTransaction()
-        yield txn.addAPNSubscription(token, key, now, guid)
+        yield txn.addAPNSubscription(token, key, now, uid)
         yield txn.commit()
 
     def renderResponse(self, code, body=None):

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/test/test_applepush.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/test/test_applepush.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/push/test/test_applepush.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -61,12 +61,12 @@
         token = "2d0d55cd7f98bcb81c6e24abcdc35168254c7846a43e2828b1ba5a8f82e219df"
         key1 = "/CalDAV/calendars.example.com/user01/calendar/"
         timestamp1 = 1000
-        guid = "D2256BCC-48E2-42D1-BD89-CBA1E4CCDFFB"
-        yield txn.addAPNSubscription(token, key1, timestamp1, guid)
+        uid = "D2256BCC-48E2-42D1-BD89-CBA1E4CCDFFB"
+        yield txn.addAPNSubscription(token, key1, timestamp1, uid)
 
         key2 = "/CalDAV/calendars.example.com/user02/calendar/"
         timestamp2 = 3000
-        yield txn.addAPNSubscription(token, key2, timestamp2, guid)
+        yield txn.addAPNSubscription(token, key2, timestamp2, uid)
         yield txn.commit()
 
         # Set up the service

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/purge.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/purge.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/purge.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -188,7 +188,7 @@
 
 class PurgePrincipalService(WorkerService):
 
-    guids = None
+    uids = None
     dryrun = False
     verbose = False
     completely = False
@@ -197,7 +197,7 @@
     def doWork(self):
         rootResource = self.rootResource()
         directory = rootResource.getDirectory()
-        total = (yield purgeGUIDs(directory, rootResource, self.guids,
+        total = (yield purgeUIDs(directory, rootResource, self.uids,
             verbose=self.verbose, dryrun=self.dryrun,
             completely=self.completely))
         if self.verbose:
@@ -389,8 +389,8 @@
         else:
             raise NotImplementedError(opt)
 
-    # args is a list of guids
-    PurgePrincipalService.guids = args
+    # args is a list of uids
+    PurgePrincipalService.uids = args
     PurgePrincipalService.completely = completely
     PurgePrincipalService.dryrun = dryrun
     PurgePrincipalService.verbose = verbose
@@ -496,14 +496,14 @@
 
 
 @inlineCallbacks
-def purgeGUIDs(directory, root, guids, verbose=False, dryrun=False,
+def purgeUIDs(directory, root, uids, verbose=False, dryrun=False,
     completely=False):
     total = 0
 
     allAssignments = { }
 
-    for guid in guids:
-        count, allAssignments[guid] = (yield purgeGUID(guid, directory, root,
+    for uid in uids:
+        count, allAssignments[uid] = (yield purgeUID(uid, directory, root,
             verbose=verbose, dryrun=dryrun, completely=completely))
         total += count
 
@@ -620,27 +620,27 @@
 
 
 @inlineCallbacks
-def purgeGUID(guid, directory, root, verbose=False, dryrun=False, proxies=True,
+def purgeUID(uid, directory, root, verbose=False, dryrun=False, proxies=True,
     when=None, completely=False):
 
     if when is None:
         when = PyCalendarDateTime.getNowUTC()
 
     # Does the record exist?
-    record = directory.recordWithGUID(guid)
+    record = directory.recordWithUID(uid)
     if record is None:
         # The user has already been removed from the directory service.  We
         # need to fashion a temporary, fake record
 
         # FIXME: probaby want a more elegant way to accomplish this,
         # since it requires the aggregate directory to examine these first:
-        record = DirectoryRecord(directory, "users", guid, shortNames=(guid,),
+        record = DirectoryRecord(directory, "users", uid, shortNames=(uid,),
             enabledForCalendaring=True)
         record.enabled = True
-        directory._tmpRecords["shortNames"][guid] = record
-        directory._tmpRecords["guids"][guid] = record
+        directory._tmpRecords["shortNames"][uid] = record
+        directory._tmpRecords["uids"][uid] = record
 
-    cua = "urn:uuid:%s" % (guid,)
+    cua = "urn:uuid:%s" % (uid,)
 
     principalCollection = directory.principalCollection
     principal = principalCollection.principalForRecord(record)
@@ -648,7 +648,7 @@
     request = FakeRequest(root, None, None)
     request.checkedSACL = True
     request.authnUser = request.authzUser = davxml.Principal(
-        davxml.HRef.fromString("/principals/__uids__/%s/" % (guid,))
+        davxml.HRef.fromString("/principals/__uids__/%s/" % (uid,))
     )
 
     calendarHome = yield principal.calendarHome(request)
@@ -669,7 +669,7 @@
     count = 0
     assignments = []
 
-    perUserFilter = PerUserDataFilter(guid)
+    perUserFilter = PerUserDataFilter(uid)
 
     for collName in (yield calendarHome.listChildren()):
         collection = (yield calendarHome.getChild(collName))
@@ -696,7 +696,7 @@
                     event = perUserFilter.filter(event)
                     action = cancelEvent(event, when, cua)
 
-                uri = "/calendars/__uids__/%s/%s/%s" % (guid, collName, childName)
+                uri = "/calendars/__uids__/%s/%s/%s" % (uid, collName, childName)
                 request.path = uri
                 if action == CANCELEVENT_MODIFIED:
                     count += 1
@@ -728,7 +728,7 @@
                     if not dryrun:
                         result = (yield childResource.storeRemove(request, True, uri))
                         if result != NO_CONTENT:
-                            print "Error deleting %s/%s/%s: %s" % (guid,
+                            print "Error deleting %s/%s/%s: %s" % (uid,
                                 collName, childName, result)
 
 
@@ -736,7 +736,7 @@
 
     # Remove empty calendar collections (and calendar home if no more
     # calendars)
-    calHome = (yield txn.calendarHomeWithUID(guid))
+    calHome = (yield txn.calendarHomeWithUID(uid))
     if calHome is not None:
         calendars = list((yield calHome.calendars()))
         remainingCalendars = len(calendars)
@@ -763,13 +763,13 @@
 
 
     # Remove VCards
-    abHome = (yield txn.addressbookHomeWithUID(guid))
+    abHome = (yield txn.addressbookHomeWithUID(uid))
     if abHome is not None:
         for abColl in list( (yield abHome.addressbooks()) ):
             for card in list( (yield abColl.addressbookObjects()) ):
                 cardName = card.name()
                 if verbose:
-                    uri = "/addressbooks/__uids__/%s/%s/%s" % (guid, abColl.name(), cardName)
+                    uri = "/addressbooks/__uids__/%s/%s/%s" % (uid, abColl.name(), cardName)
                     if dryrun:
                         print "Would delete: %s" % (uri,)
                     else:
@@ -815,13 +815,13 @@
 
         proxyFor = (yield principal.proxyFor(proxyType == "write"))
         for other in proxyFor:
-            assignments.append((principal.record.guid, proxyType, other.record.guid))
+            assignments.append((principal.record.uid, proxyType, other.record.uid))
             (yield removeProxy(other, principal))
 
         subPrincipal = principal.getChild("calendar-proxy-" + proxyType)
         proxies = (yield subPrincipal.readProperty(davxml.GroupMemberSet, None))
         for other in proxies.children:
-            assignments.append((str(other).split("/")[3], proxyType, principal.record.guid))
+            assignments.append((str(other).split("/")[3], proxyType, principal.record.uid))
 
         (yield subPrincipal.writeProperty(davxml.GroupMemberSet(), None))
 

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/test/test_purge_old_events.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/test/test_purge_old_events.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/calendarserver/tools/test/test_purge_old_events.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -18,7 +18,7 @@
 Tests for calendarserver.tools.purge
 """
 from calendarserver.tap.util import getRootResource
-from calendarserver.tools.purge import purgeOldEvents, purgeGUID, purgeOrphanedAttachments
+from calendarserver.tools.purge import purgeOldEvents, purgeUID, purgeOrphanedAttachments
 
 from twext.web2.http_headers import MimeType
 
@@ -512,7 +512,7 @@
     test_purgeOldEvents.todo = "New lazy indexing broke this"
 
     @inlineCallbacks
-    def test_purgeGUID(self):
+    def test_purgeUID(self):
         txn = self._sqlCalendarStore.newTransaction()
 
         # Create an addressbook and one CardDAV resource
@@ -527,11 +527,11 @@
         calColl = (yield calHome.calendarWithName("calendar1"))
         self.assertEquals(len( (yield calColl.calendarObjects()) ), 3)
 
-        # Make the newly created objects available to the purgeGUID transaction
+        # Make the newly created objects available to the purgeUID transaction
         (yield txn.commit())
 
         # Purge home1
-        total, ignored = (yield purgeGUID("home1", self.directory,
+        total, ignored = (yield purgeUID("home1", self.directory,
             self.rootResource, verbose=False, proxies=False,
             when=PyCalendarDateTime(2010, 4, 1, 12, 0, 0, 0, PyCalendarTimezone(utc=True))))
 
@@ -549,7 +549,7 @@
 
 
     @inlineCallbacks
-    def test_purgeGUIDCompletely(self):
+    def test_purgeUIDCompletely(self):
         txn = self._sqlCalendarStore.newTransaction()
 
         # Create an addressbook and one CardDAV resource
@@ -564,11 +564,11 @@
         calColl = (yield calHome.calendarWithName("calendar1"))
         self.assertEquals(len( (yield calColl.calendarObjects()) ), 3)
 
-        # Make the newly created objects available to the purgeGUID transaction
+        # Make the newly created objects available to the purgeUID transaction
         (yield txn.commit())
 
         # Purge home1 completely
-        total, ignored = (yield purgeGUID("home1", self.directory,
+        total, ignored = (yield purgeUID("home1", self.directory,
             self.rootResource, verbose=False, proxies=False, completely=True))
 
         # 4 items deleted: 3 events and 1 vcard


Property changes on: CalendarServer/branches/release/CalendarServer-3.3-dev/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/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/implicituidrace/support/build.sh:8137-8141
/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/cdaboo/timezones/support/build.sh:7443-7699
/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/deploybuild/support/build.sh:7563-7572
/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/new-export/support/build.sh:7444-7485
/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/applepush/support/build.sh:8126-8184
/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
/CalendarServer/trunk/support/build.sh:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445
   + /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/release/CalendarServer-3.3-dev/support/build.sh:8718-9344
/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/implicituidrace/support/build.sh:8137-8141
/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/cdaboo/timezones/support/build.sh:7443-7699
/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/deploybuild/support/build.sh:7563-7572
/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/new-export/support/build.sh:7444-7485
/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/applepush/support/build.sh:8126-8184
/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
/CalendarServer/trunk/support/build.sh:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445,8549

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/aggregate.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/aggregate.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/aggregate.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -72,10 +72,10 @@
 
         # FIXME: This is a temporary workaround until new data store is in
         # place.  During the purging of deprovisioned users' data, we need
-        # to be able to look up records by guid and shortName.  The purge
+        # to be able to look up records by uid and shortName.  The purge
         # tool sticks temporary fake records in here.
         self._tmpRecords = {
-            "guids" : { },
+            "uids" : { },
             "shortNames" : { },
         }
 
@@ -134,7 +134,7 @@
         # FIXME: These temporary records shouldn't be needed when we move
         # to the new data store API.  They're currently needed when purging
         # deprovisioned users' data.
-        record = self._tmpRecords["guids"].get(uid, None)
+        record = self._tmpRecords["uids"].get(uid, None)
         if record:
             return record
 

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/appleopendirectory.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/appleopendirectory.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -714,12 +714,8 @@
                 self.INDEX_TYPE_AUTHID    : dsattributes.kDSNAttrAltSecurityIdentities,
             }.get(indexType)
             assert queryattr is not None, "Invalid type for record faulting query"
-        # mailto: CUAs get normalized to lowercase internally, so do a case
-        # insensitive search
-        if queryattr == dsattributes.kDSNAttrEMailAddress:
-            caseInsensitive = True
-        else:
-            caseInsensitive = False
+        # Make all OD queries case insensitive
+        caseInsensitive = True
 
         results = []
         for recordType in recordTypes:

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/cachingdirectory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/cachingdirectory.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/cachingdirectory.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -36,6 +36,7 @@
 from twistedcaldav.config import config
 from twistedcaldav.directory.directory import DirectoryService, DirectoryRecord, DirectoryError, UnknownRecordTypeError
 from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
+from twistedcaldav.directory.util import normalizeUUID
 
 
 class RecordTypeCache(object):
@@ -269,6 +270,7 @@
         return self._lookupRecord(None, CachingDirectoryService.INDEX_TYPE_AUTHID, authID)
 
     def recordWithGUID(self, guid):
+        guid = normalizeUUID(guid)
         return self._lookupRecord(None, CachingDirectoryService.INDEX_TYPE_GUID, guid)
 
     recordWithUID = recordWithGUID

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/directory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/directory.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/directory.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -48,7 +48,7 @@
 
 from twistedcaldav.config import config
 from twistedcaldav.directory.idirectory import IDirectoryService, IDirectoryRecord
-from twistedcaldav.directory.util import uuidFromName
+from twistedcaldav.directory.util import uuidFromName, normalizeUUID
 from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
 from twistedcaldav import servers
 from twistedcaldav.memcacher import Memcacher
@@ -176,12 +176,14 @@
         return None
 
     def recordWithUID(self, uid):
+        uid = normalizeUUID(uid)
         for record in self.allRecords():
             if record.uid == uid:
                 return record
         return None
 
     def recordWithGUID(self, guid):
+        guid = normalizeUUID(guid)
         for record in self.allRecords():
             if record.guid == guid:
                 return record
@@ -923,7 +925,7 @@
         )
 
     def __init__(
-        self, service, recordType, guid,
+        self, service, recordType, guid=None,
         shortNames=(), authIDs=set(), fullName=None,
         firstName=None, lastName=None, emailAddresses=set(),
         calendarUserAddresses=set(), autoSchedule=False, enabledForCalendaring=None,
@@ -937,8 +939,7 @@
         assert recordType
         assert shortNames and isinstance(shortNames, tuple) 
 
-        if not guid:
-            guid = uuidFromName(service.guid, "%s:%s" % (recordType, ",".join(shortNames)))
+        guid = normalizeUUID(guid)
 
         if uid is None:
             uid = guid
@@ -978,12 +979,15 @@
         """
         if not self.enabledForCalendaring:
             return frozenset()
-        return frozenset(
-            ["urn:uuid:%s" % (self.guid,)] +
+        cuas = set(
             ["mailto:%s" % (emailAddress,)
              for emailAddress in self.emailAddresses]
         )
+        if self.guid:
+            cuas.add("urn:uuid:%s" % (self.guid,))
 
+        return frozenset(cuas)
+
     calendarUserAddresses = property(get_calendarUserAddresses)
 
     def __cmp__(self, other):

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/sudo.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/sudo.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/sudo.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -126,7 +126,7 @@
         super(SudoDirectoryRecord, self).__init__(
             service=service,
             recordType=recordType,
-            guid=None,
+            uid="%s:%s" % (recordType, shortName),
             shortNames=(shortName,),
             fullName=shortName,
         )

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_cachedirectory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_cachedirectory.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_cachedirectory.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -187,6 +187,9 @@
         self.service.queried = False
         self.assertTrue(self.service.recordWithGUID(self.guidForShortName("user01")) is not None)
         self.assertFalse(self.service.queried)
+
+        # Make sure guid is case-insensitive
+        self.assertTrue(self.service.recordWithGUID(self.guidForShortName("user01").lower()) is not None)
         
     def test_cacheoneshortname(self):
         self.dummyRecords()

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_directory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_directory.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_directory.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -25,6 +25,7 @@
 from twistedcaldav.directory.xmlfile import XMLDirectoryService
 from twistedcaldav.directory.calendaruserproxyloader import XMLCalendarUserProxyLoader
 from twistedcaldav.directory import augment, calendaruserproxy
+from twistedcaldav.directory.util import normalizeUUID
 from twistedcaldav.directory.principal import DirectoryPrincipalProvisioningResource
 
 import cPickle as pickle
@@ -38,7 +39,7 @@
         return 0
     return 1
 
-class SALCTests(TestCase):
+class SACLTests(TestCase):
 
     def setUp(self):
         self.patch(DirectoryRecord, "CheckSACL", StubCheckSACL)
@@ -560,3 +561,47 @@
         )
 
 
+class GUIDTests(TestCase):
+
+    def setUp(self):
+        self.service = DirectoryService()
+        self.service.setRealm("test")
+        self.service.baseGUID = "0E8E6EC2-8E52-4FF3-8F62-6F398B08A498"
+
+    def test_normalizeUUID(self):
+
+        # Ensure that record.guid automatically gets normalized to
+        # uppercase+hyphenated form if the value is one that uuid.UUID( )
+        # recognizes.
+
+        data = (
+            (
+                "0543A85A-D446-4CF6-80AE-6579FA60957F",
+                "0543A85A-D446-4CF6-80AE-6579FA60957F"
+            ),
+            (
+                "0543a85a-d446-4cf6-80ae-6579fa60957f",
+                "0543A85A-D446-4CF6-80AE-6579FA60957F"
+            ),
+            (
+                "0543A85AD4464CF680AE-6579FA60957F",
+                "0543A85A-D446-4CF6-80AE-6579FA60957F"
+            ),
+            (
+                "0543a85ad4464cf680ae6579fa60957f",
+                "0543A85A-D446-4CF6-80AE-6579FA60957F"
+            ),
+            (
+                "foo",
+                "foo"
+            ),
+            (
+                None,
+                None
+            ),
+        )
+        for original, expected in data:
+            self.assertEquals(expected, normalizeUUID(original))
+            record = DirectoryRecord(self.service, "users", original,
+                shortNames=("testing",))
+            self.assertEquals(expected, record.guid)

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_util.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_util.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/test/test_util.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -24,5 +24,5 @@
     def test_uuidFromName(self):
         self.assertEquals(
             uuidFromName(uuid_namespace_dns, "python.org"),
-            "886313e1-3b8a-5372-9b90-0c9aee199e5d",
+            "886313E1-3B8A-5372-9B90-0C9AEE199E5D",
         )

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/util.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/util.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/util.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -20,6 +20,7 @@
 """
 
 __all__ = [
+    "normalizeUUID",
     "uuidFromName",
 ]
 
@@ -38,8 +39,22 @@
     if type(name) is unicode:
         name = name.encode("utf-8")
 
-    return str(uuid5(UUID(namespace), name))
+    return normalizeUUID(str(uuid5(UUID(namespace), name)))
 
+
+def normalizeUUID(value):
+    """
+    Convert strings which the uuid.UUID( ) method can parse into normalized
+    (uppercase with hyphens) form.  Any value which is not parsed by UUID( )
+    is returned as is.
+    @param value: string value to normalize
+    """
+    try:
+        return str(UUID(value)).upper()
+    except (ValueError, TypeError):
+        return value
+
+
 def transactionFromRequest(request, newStore):
     """
     Return the associated transaction from the given HTTP request, creating a

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlaccountsparser.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlaccountsparser.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlaccountsparser.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -30,6 +30,7 @@
 from twext.python.log import Logger
 
 from twistedcaldav.directory.directory import DirectoryService
+from twistedcaldav.directory.util import normalizeUUID
 
 import re
 import hashlib
@@ -237,7 +238,7 @@
         
         result = XMLAccountRecord(self.recordType)
         result.shortNames = shortNames
-        result.guid = guid
+        result.guid = normalizeUUID(guid)
         result.password = password
         result.fullName = fullName
         result.firstName = firstName

Modified: CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlfile.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlfile.py	2012-06-08 23:27:47 UTC (rev 9350)
+++ CalendarServer/branches/release/CalendarServer-3.3-dev/twistedcaldav/directory/xmlfile.py	2012-06-08 23:32:47 UTC (rev 9351)
@@ -34,6 +34,7 @@
 from twistedcaldav.config import fullServerPath
 from twistedcaldav.directory.directory import DirectoryService, DirectoryRecord, DirectoryError
 from twistedcaldav.directory.xmlaccountsparser import XMLAccountsParser, XMLAccountRecord
+from twistedcaldav.directory.util import normalizeUUID
 from twistedcaldav.scheduling.cuaddress import normalizeCUAddr
 from twistedcaldav.xmlutil import addSubElement, createElement, elementToXML
 from uuid import uuid4
@@ -256,6 +257,7 @@
         return None
 
     def recordWithGUID(self, guid):
+        guid = normalizeUUID(guid)
         for recordType in self.recordTypes():
             record = self._lookupInIndex(recordType, self.INDEX_TYPE_GUID, guid)
             if record is not None:
@@ -431,6 +433,7 @@
         """
         if guid is None:
             guid = str(uuid4())
+        guid = normalizeUUID(guid)
 
         if not shortNames:
             shortNames = (guid,)
@@ -473,6 +476,8 @@
         disk.
         """
 
+        guid = normalizeUUID(guid)
+
         # Make sure latest XML records are read in
         accounts = self._forceReload()
 
@@ -497,6 +502,8 @@
         is serialized to disk.
         """
 
+        guid = normalizeUUID(guid)
+
         # Make sure latest XML records are read in
         accounts = self._forceReload()
 


Property changes on: CalendarServer/branches/release/CalendarServer-3.3-dev/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/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/implicituidrace/txdav/caldav/datastore/index_file.py:8137-8141
/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/cdaboo/timezones/txdav/caldav/datastore/index_file.py:7443-7699
/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/deploybuild/txdav/caldav/datastore/index_file.py:7563-7572
/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/new-export/txdav/caldav/datastore/index_file.py:7444-7485
/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/applepush/txdav/caldav/datastore/index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/caldav/datastore/index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445
   + /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/release/CalendarServer-3.3-dev/txdav/caldav/datastore/index_file.py:8718-9344
/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/implicituidrace/txdav/caldav/datastore/index_file.py:8137-8141
/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/cdaboo/timezones/txdav/caldav/datastore/index_file.py:7443-7699
/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/deploybuild/txdav/caldav/datastore/index_file.py:7563-7572
/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/new-export/txdav/caldav/datastore/index_file.py:7444-7485
/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/applepush/txdav/caldav/datastore/index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/caldav/datastore/index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445,8549


Property changes on: CalendarServer/branches/release/CalendarServer-3.3-dev/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/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/cdaboo/timezones/txdav/caldav/datastore/test/test_index_file.py:7443-7699
/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/deploybuild/txdav/caldav/datastore/test/test_index_file.py:7563-7572
/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/new-export/txdav/caldav/datastore/test/test_index_file.py:7444-7485
/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/applepush/txdav/caldav/datastore/test/test_index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/caldav/datastore/test/test_index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445
   + /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/release/CalendarServer-3.3-dev/txdav/caldav/datastore/test/test_index_file.py:8718-9344
/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/cdaboo/timezones/txdav/caldav/datastore/test/test_index_file.py:7443-7699
/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/deploybuild/txdav/caldav/datastore/test/test_index_file.py:7563-7572
/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/new-export/txdav/caldav/datastore/test/test_index_file.py:7444-7485
/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/applepush/txdav/caldav/datastore/test/test_index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/caldav/datastore/test/test_index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445,8549


Property changes on: CalendarServer/branches/release/CalendarServer-3.3-dev/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/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/implicituidrace/txdav/carddav/datastore/index_file.py:8137-8141
/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/cdaboo/timezones/txdav/carddav/datastore/index_file.py:7443-7699
/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/deploybuild/txdav/carddav/datastore/index_file.py:7563-7572
/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/new-export/txdav/carddav/datastore/index_file.py:7444-7485
/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/applepush/txdav/carddav/datastore/index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/carddav/datastore/index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445
   + /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/release/CalendarServer-3.3-dev/txdav/carddav/datastore/index_file.py:8718-9344
/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/implicituidrace/txdav/carddav/datastore/index_file.py:8137-8141
/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/cdaboo/timezones/txdav/carddav/datastore/index_file.py:7443-7699
/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/deploybuild/txdav/carddav/datastore/index_file.py:7563-7572
/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/new-export/txdav/carddav/datastore/index_file.py:7444-7485
/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/applepush/txdav/carddav/datastore/index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/carddav/datastore/index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445,8549


Property changes on: CalendarServer/branches/release/CalendarServer-3.3-dev/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/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/cdaboo/timezones/txdav/carddav/datastore/test/test_index_file.py:7443-7699
/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/deploybuild/txdav/carddav/datastore/test/test_index_file.py:7563-7572
/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/new-export/txdav/carddav/datastore/test/test_index_file.py:7444-7485
/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/applepush/txdav/carddav/datastore/test/test_index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/carddav/datastore/test/test_index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445
   + /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/release/CalendarServer-3.3-dev/txdav/carddav/datastore/test/test_index_file.py:8718-9344
/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/cdaboo/timezones/txdav/carddav/datastore/test/test_index_file.py:7443-7699
/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/deploybuild/txdav/carddav/datastore/test/test_index_file.py:7563-7572
/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/new-export/txdav/carddav/datastore/test/test_index_file.py:7444-7485
/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/applepush/txdav/carddav/datastore/test/test_index_file.py:8126-8184
/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
/CalendarServer/trunk/txdav/carddav/datastore/test/test_index_file.py:8290,8294,8303,8305,8307,8314,8320,8331-8332,8427,8445,8549
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20120608/345b381a/attachment-0001.html>


More information about the calendarserver-changes mailing list