Re: Abstract of git push pull to plone app theming.concepts
Dylan Jay <djay-n0pU0XVUApFWk0Htik3J/[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <CANyGbvcJJ8vYs1DcM+UnpPyTGE6S+XF_c1Ge_MhCdCj9G8z5ng@mail.gmail.com> |
On 12 Mar 2014 03:38, "Krishna Teja" <[email protected]> wrote: > > Sorry to disturb you.I want to ask you if its your idea and i got it right. > Hi, I've included the developers list as there is already a similar discussion there you should join. > 1. The theme is backed by bare repo (.git )and is stored in zodb along with the theme, > It would be bare repo but it wouldnt be the same structure you find in .got folder. ZODB doesn't have to store file like objects. Since dulwich already has a memoryrepo storage mechanism something similar to this but persistent , would be a better choice. > 2.when ever the theme is accessed to modify,the bare git repo is broght into memory using memory object store and tracks the changes. > > Yes. Whenever the theme is modified the changes would be stored in the zodb repo as a commit. > > > 3.the working directory is the above theme (containing assets bootstrap etc.)it will be linked to the bare repo in the memory so that changes can be Yes. But the working directory is really zodb portal resources objects. recorded and retraced. the changes u make will be recorded and when we want to undo changes the changes will be reflected back in the working directory that is the theme folder shown above.This is what the idea is about and it willbe implemented using python dulwich. Yes > > 4. When the user saves the files the changes are reflected back in the live site(the mechanism remains unchanged even after adding zodb backend).In addition to this the git repo in the memory will be pushed back to the database. Zodb is a transparent persistence mechanism so if changes are made to the objects that make up a git zodb object structure these would automatically get saved. No need to push anything. Try writing some basic zodb examples to discover how this works. > > 5.The push and pull are implemented via git smart http protocol https://github.com/jelmer/dulwich/blob/master/dulwich/web.py in dulwich.We pull bare repo from server and save it in memory.when the theme modification is compoleted we push it back using same http protocol that requires webDAV and post update hooks be set properly > This is where I think you have misunderstood things. The repo stays inside zodb. However I might like to checkout one of the themes I have on my public website to my local disk on my home computer. I would do a git clone http://mysite@git/theme1 Git will talk the smart http protocol to clone the repo to a local .git file representation and then check it out. I can then make local edits and commit those changes. Then if I do a git push and no one changed the theme on the server then git would again talk http smart protocol move those commits into the zodb based git repo. Also the portal resources theme would be updated to the latest version of that branch. This would enable a developer to clone a theme locally, debug it, then deploy it with a single git push command. > ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ Plone-developers mailing list Plone-developers-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/plone-developers