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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.