A git remote ZServer type. Yeah. Seriously. It lets you pull TTW code.
Okay, I'm sorry. But yes. This is real. Do you have a TTW developed Zope site? Do you really wish you didn't? mr.tennant exposes a git remote that you can pull from and get a git repository that represents your TTW code as well as its transaction history. Then change it. Then push it. Yeah. For now it's just utility functions, but try:: from AccessControl.SecurityManagement import newSecurityManager from AccessControl.SecurityManager import setSecurityPolicy from Testing.makerequest import makerequest from Products.CMFCore.tests.base.security import PermissiveSecurityPolicy, OmnipotentUser import tempfile from mr.tennant.git import dump_objects, serialise_directory, serialise_commit _policy=PermissiveSecurityPolicy() _oldpolicy=setSecurityPolicy(_policy) newSecurityManager(None, OmnipotentUser().__of__(app.acl_users)) app=makerequest(app) from mr.tennant.git import get_commits_for_history repo = tempfile.mkdtemp() objects, HEAD = get_commits_for_history(app.repository) dump_objects(repo, objects, HEAD=HEAD) print repo When you go to the tempfolder it points you to and run 'git reset --hard' you'll get a working repo with a history, containing the contents of app.repository