Plone版本控制,如何?
我正在尝试学习 Python,更具体地说,Zope 和 Plone。我读过《Professional Plone Development》一书,其中提到的一件事是必须使用版本控制。但这本书没有进一步扩展该主题。这引出了两个问题。
第一:SVN还是git? (我的研究指向 git,如果只是为了学习它。到目前为止我只使用过 SVN。)
第二:哪些文件应该由版本控制处理?设置和我自己的代码?整个 Zope 目录?当然不是 data.fs 吗?不是 .pyc 文件,我确信这一点。由于这个原因,这些天我暂时离开了 Plone,但我找不到一个好的指南。简而言之,到目前为止,当我在本地 PC 和网络服务器之间同步数据时,事情就发生了变化。糟糕。我不知道为什么。缺少某些更新,或者更新了某些特定于平台的文件。我的家庭 PC 是 64 位 Ubuntu,我的远程 Web 服务器是 32 位 RHEL。感觉就像是一团混乱,而且是一团危险的混乱,我有点担心回到它附近。
有没有办法知道哪些文件应该由版本控制系统处理,哪些不应该由版本控制系统处理?
谢谢。
I'm trying to get into Python and, more specifically, Zope and Plone. I read the book Professional Plone Development and one thing it says is that one MUST use version control. But the book did not expand on that topic any further. This leads to two questions.
First: SVN or git? (My research points to git, if only to learn it. I've only used SVN so far.)
And second: Which files should be handled by version control? Settings and my own code? The whole Zope directory? Not the data.fs, surely? Not the .pyc files, I'm sure of that. I've taken a break from Plone for that reason these days, and I couldn't find a good guide for that. In short, so far, when I synchronised the data between my local PC and my web server, things broke. Badly. And I'm not sure why. Either some updates were missing, or some platform-specific files were updated. My home PC is 64 bit Ubuntu and my distant web server is 32 bit RHEL. It felt like such a mess, and like such a dangerous mess, that I'm a bit apprehensive of going back near it.
Is there a way to know which files should be handled by a version control system and which should not?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不,不。切勿更改 Zope/Plone 系统代码。创建一个附加组件并在那里进行自定义。当然,您必须保留备份,但版本控制并不适合于此。
您应该确保任何生产扩建都是可重复的。这意味着将所有版本固定到您的版本(请参阅 http://pypi.python.org/pypi/buildout .dumppickedversions 作为一个方便的扩展来记录您选择的版本)并在本地保留任何源发行版的备份,即备份您的构建下载缓存。
No, no. Never make changes to the Zope/Plone system code. Create an add-on and make your customisations there. Of course you must keep backups, but version control is not a good fit for this.
You should ensure that any production buildout is repeatable. That means pinning all versions to your release (see http://pypi.python.org/pypi/buildout.dumppickedversions for a handy extension to record your picked versions) and keeping a backup of any source distributions locally, i.e. backing up your buildout downloads-cache.
我只将构建文件放入 svn(目录:project/buildout/trunk)。 Buildout 会获取正确版本的所有 Plone/Zope 文件。
另外,我把鸡蛋放在 svn 中(目录:project/eggs/trunk)。我的鸡蛋保存了对 Plone 的所有修改。
我的构建使用 mr.developer 自动获取我的鸡蛋。
您可以检查 http://toutpt.wordpress.com/2010/07/07/nantes-developpement-com-a-new-plone-website-by-makina-corpus/
它是一个大型构建,并使用各种模组和扩展。
I put only my buildout files into svn (dir: project/buildout/trunk). Buildout fetches all Plone/Zope files in the right versions.
Additionally i put my eggs in svn (dir: project/eggs/trunk). My eggs hold all the modifications into Plone.
My buildout uses mr.developer to auto fetches my eggs.
You ca check http://toutpt.wordpress.com/2010/07/07/nantes-developpement-com-a-new-plone-website-by-makina-corpus/
its a big buildout and uses all kind of mods and extensions.
对此很难找到确凿的答案。我找到的最好的参考是这个 Plone 项目,它已经签入版本控制:
https:// /github.com/Plone-Conference-Devs/ploneconfbuildout
It's quite hard to find a conclusive answer for this. The best reference I've found is this Plone project, which is checked into version control already:
https://github.com/Plone-Conference-Devs/ploneconfbuildout