2010-07-17 58 views
2

我试图进入Python,更具体地说,Zope和Plone。我阅读了“专业Plone开发”一书,它说的一点是必须使用版本控制。但这本书没有进一步扩展这个话题。这导致两个问题。Plone版本控制,怎么样?

第一:SVN还是git? (我的研究点与git,如果只是为了了解它我只用SVN至今。)

其次:哪些文件应该通过版本控制来处理?设置和我自己的代码?整个Zope目录?不是data.fs,当然?不是.pyc文件,我确信这一点。由于这个原因,我已经从Plone中休息一下,而且我找不到一个好的指导。总之,到目前为止,当我在本地PC和我的Web服务器之间同步数据时,事情就发生了。厉害。我不知道为什么。某些更新丢失,或者某些平台特定的文件已更新。我的家用电脑是64位Ubuntu,而我的远程网络服务器是32位RHEL。它感觉像是一团糟,像这样一个危险的混乱,我有点担心会回到它附近。

有没有办法知道哪些文件应该通过版本控制系统和处理那些不应该?

谢谢。

回答

5

不,不。永远不要更改Zope/Plone系统代码。创建一个附加组件并在那里进行自定义。当然,你必须保留备份,但版本控制不适合这一点。

你应该确保任何生产扩建是重复的。这意味着将所有版本固定到您的版本中(请参阅http://pypi.python.org/pypi/buildout.dumppickedversions,以获得一个方便的扩展来记录您选择的版本),并在本地备份任何源代码发行版,即备份您的buildout下载缓存。

+0

在你自己的软件包中,你想忽略所有.pyc和.pyo文件,以及整个.egg-info目录。我非常确定,Aspeli的书提供了一个更好的例外清单。 – Auspex 2012-03-09 14:27:06

1

我只是把我的扩建文件到SVN(DIR:项目/扩建/主干)。构建以正确的版本获取所有Plone/Zope文件。

此外,我把我的鸡蛋放在SVN(DIR:项目/鸡蛋/主干)。我的蛋把所有的修改都保存在Plone中。

我的扩建使用mr.developer自动获取我的蛋。

您可以检查http://toutpt.wordpress.com/2010/07/07/nantes-developpement-com-a-new-plone-website-by-makina-corpus/ 它的一个很大的扩展,并使用各种模块和扩展。

+0

+1。首先要设置你的忽略文件(.svnignore,.hgignore或.cvsignore,或者你的vcs忽略文件被调用的地方),以确保没有任何东西进入你不想要的地方。 – 2010-07-19 14:20:17

+0

经过很多反思,我选择了正确的答案。这对Plone来说更具体,并且试图包含所有DID导致上一次混乱。 (但是,如果我现在做了一些不同的事情,我不想随意做,所以这个问题)。另外,buildout应该自己处理Plone和Zope文件,修改buildout后面的文件似乎不是个好主意。你似乎确认了这种感觉。 – eje211 2010-07-20 16:29:42