-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
31 lines (22 loc) · 1.19 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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