2010-07-17 69 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