【问题标题】:Plone version control, how?克隆版本控制,如何?
【发布时间】:2010-07-17 15:52:35
【问题描述】:

我正在尝试学习 Python,更具体地说,是 Zope 和 Plone。我读了 Professional Plone Development 一书,它说的一件事是必须使用版本控制。但这本书没有进一步扩展该主题。这就引出了两个问题。

首先:SVN 还是 git? (我的研究指向 git,如果只是为了学习它。到目前为止我只使用过 SVN。)

其次:版本控制应该处理哪些文件?设置和我自己的代码?整个 Zope 目录?肯定不是data.fs吗?不是 .pyc 文件,我敢肯定。由于这个原因,这些天我已经从 Plone 休息了一段时间,但我找不到一个好的指南。简而言之,到目前为止,当我在本地 PC 和 Web 服务器之间同步数据时,事情就坏了。很糟糕。我不确定为什么。缺少某些更新,或者更新了某些特定于平台的文件。我的家用电脑是 64 位 Ubuntu,而我的远程 Web 服务器是 32 位 RHEL。感觉就像一团糟,又像一团危险的烂摊子,我有点害怕回到它附近。

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

谢谢。

【问题讨论】:

    标签: python version-control plone zope


    【解决方案1】:

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

    您应该确保任何生产扩展都是可重复的。这意味着将所有版本固定到您的版本(请参阅http://pypi.python.org/pypi/buildout.dumppickedversions 以获取用于记录您选择的版本的便捷扩展)并在本地保留任何源分发的备份,即备份您的构建下载缓存。

    【讨论】:

    • 在您自己的包中,您希望忽略所有 .pyc 和 .pyo 文件,以及整个 .egg-info 目录。我很确定 Aspeli 的书提供了更好的排除列表。
    【解决方案2】:

    我只将我的构建文件放入 svn(目录: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/ 这是一个很大的扩展,并使用了所有类型的模块和扩展。

    【讨论】:

    • +1。设置您的忽略文件(.svnignore、.hgignore 或 .cvsignore,或任何您的 vcs 忽略文件)是一个好主意,首先要确保没有您不想要的内容进入。
    • 经过大量思考,我认为您的答案是正确的。它更特定于 Plone,上次尝试包含所有 DID 导致一团糟。 (但是,如果我现在做一些不同的事情,我不想随意做,因此是个问题)。此外,buildout 应该自己处理 Plone 和 Zope 文件,并且更改 buildout 背后的文件似乎是一个坏主意。你似乎证实了这种感觉。
    【解决方案3】:

    很难找到一个确定的答案。我找到的最佳参考是这个 Plone 项目,它已经被检查到版本控制中:

    https://github.com/Plone-Conference-Devs/ploneconfbuildout

    【讨论】:

      猜你喜欢
      • 2020-11-06
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 2014-12-11
      • 2012-07-27
      • 1970-01-01
      相关资源
      最近更新 更多