我想找到管理和版本我們的共享文件的最佳方式。現在我們在TortoiseHG中使用mercurial,這對於一個項目中的所有文件版本都是好的,但是我們想要與主存儲庫分開處理一些文件。如何管理共享文件
我們使用codeigniter,我們有一些模型,庫和視圖文件,我們想要在我們的項目之間共享這些文件,並將這些文件從當前項目中分離出來,與其他存儲庫(或者其他方式,例如使用包管理器 - 不要沒有什麼可能是最好的)。
換句話說,我們有項目A和項目B(我們有比兩個更多的項目,這只是例如)。當我們從項目B的所有者那裏獲得功能請求(這是一個普通功能(更好的登錄系統))時,我們準備了必要的更改,並且我們希望將此修改上載到所有其他項目。現在我們在當前正在進行的項目中創建這些修改。如果我們使用自己的共享文件庫創建另一個第三個項目,可能很難開發,因爲這些文件不能單獨工作,所以需要其他視圖以及控制器文件來加載和測試它們。
結構:
root/
application/
model/
auth.php
other1.php
other2.php
library/
mail.php
other1.php
所以我們想從我們的任何項目分別auth.php和mail.php版本,比other.php-S並上傳到其他地方,檢查是否有任何更新在這些分離的共享文件存儲庫中,如果存在,則在自己的項目中更新這些文件。
我到目前爲止所嘗試的:我在mercurial中創建了一個subrepository,但正如我所看到的,只有當我們將我們的共享文件放在單獨的文件夾中,這不是我們想要的。
隨着subrepository我們得到了這些結構:
root/
.hg/
...
application/
model/
auth.php
other1.php
other2.php
library/
mail.php
other1.php
subrepo-files/
application/
model/
auth.php
library/
mail.php
我希望你明白我在說什麼,因爲它是越來越難以治療。現在我們所做的是,我們手動將這些共享文件複製到所有其他項目,當其中一個更新時。是的,這太可怕了!有時候有人會忘記將共享文件的更新版本複製到其他項目中,當我們在共享文件上的其他項目中創建其他更改時,並將它們複製回其他項目時,我們會丟失以前的更新(這是使用自己的項目進行版本控制,但我們只注意到太晚了,我們必須手動調試它們)。
我花了幾天的時間找到最好的方法,但我沒有找到我們想要的東西。
在這種情況下,我們應該對我們的/ ci文件/文件夾結構進行重新排序,這不是我們能做的。不幸:( – Twois