A git remote ZServer type. Yeah. Seriously. It lets you pull TTW code.
Project description
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 utlity 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