我正在尝试进入Python,更具体地说,是Zope和Plone。我读过“专业Plone开发”一书,其中一件事就是必须使用版本控制。但是这本书没有进一步扩展这个主题。这导致了两个问题。
首先:SVN还是git? (我的研究指向git,如果只是为了学习它。到目前为止我只使用过SVN。)
第二:版本控制应该处理哪些文件?设置和我自己的代码?整个Zope目录?肯定不是data.fs吗?不是.pyc文件,我很确定。这些天我因为这个原因从Plone休息了一段时间,我找不到一个好的指南。简而言之,到目前为止,当我在本地PC和我的Web服务器之间同步数据时,事情就破裂了。厉害。而且我不确定为什么。缺少某些更新,或者某些特定于平台的文件已更新。我的家用电脑是64位Ubuntu,我的远程网络服务器是32位RHEL。感觉就像这样一团糟,就像这样一个危险的混乱,我有点担心回到它附近。
有没有办法知道版本控制系统应该处理哪些文件,哪些文件不应该处理?
感谢。
答案 0 :(得分:5)
不,不。切勿更改Zope / Plone系统代码。创建一个加载项并在那里进行自定义。当然你必须保留备份,但版本控制不适合这个。
您应该确保任何生产构建都是可重复的。这意味着将所有版本固定到您的版本中(请参阅http://pypi.python.org/pypi/buildout.dumppickedversions以获取方便的扩展以记录您选择的版本)并在本地保留任何源发行版的备份,即备份您的buildout downloads-cache。
答案 1 :(得分:1)
我只将我的buildout文件放入svn(dir:project / buildout / trunk)。 Buildout以正确的版本获取所有Plone / Zope文件。
另外我把鸡蛋放在svn(dir:project / eggs / trunk)中。我的鸡蛋对Plone进行了所有修改。
我的buildout使用mr.developer来自动取蛋。
您可以查看http://toutpt.wordpress.com/2010/07/07/nantes-developpement-com-a-new-plone-website-by-makina-corpus/ 它是一个很大的扩展,并使用各种mod和扩展。
答案 2 :(得分:0)
很难找到一个确凿的答案。我发现的最好的参考是这个Plone项目,它已经被检入版本控制: