2008-12-04 54 views
2

我們有一個項目,供應商爲我們生成一些自定義代碼,並生成後端內容。每次他們發佈新版本時,我們都會手動將整個文件夾結構合併到我們的存儲庫中。這很容易添加和修改文件(只是複製/粘貼),但我必須創建一個批處理腳本來刪除所有刪除的文件/文件夾(我使用diff工具來獲取已刪除文件的列表,然後使一個批處理文件)。如何將新文件夾結構合併到SVN中?

我們SVN回購看起來是這樣的:

OurProject \
--OurBackendCode \
--VendorCode \

我知道我可以先刪除在我們回購的供應商目錄中的所有文件,然後添加新版本。這很容易,但將不需要的「刪除」和「添加」條目留給SVN日誌(我們在SVN中保留其代碼副本的全部原因是我們可以輕鬆訪問日誌進行故障排除)。

有沒有更容易的方法來合併這些被刪除的文件到我的回購?

編輯:蒂姆正確地指出,如果我們只允許供應商訪問我們的SVN回購,他們可以在分支上進行更改。不幸的是,那不是我的電話。我只是一名開發人員。另外我懷疑我們會相信他們(我對SVN安全性一無所知)。

第二次編輯:我們結束了剛剛刪除現有的供應商分支,只是在新的供應商代碼中添加。但我提出了讓供應商訪問我們的SVN的想法,它向上浮動並帶有一些承諾:)

回答

2

爲什麼你不讓他們訪問你的SVN回購 - 也許是一個分支,然後你融入你的?

讓他們只訪問他們需要的部分很簡單。我真的認爲這對你和他們來說是最好的解決方案。

+0

那不是我的電話;我只是一名開發人員。賠率是我們不相信他們。那肯定是最簡單的選擇。 – 2008-12-04 16:25:26

+0

如果你不信任他們就可以......他們已經給你代碼,你可以給他們自己的分支,然後你融入你的主幹... – Tim 2008-12-04 16:27:23

+0

簡單==好。您可以隨時撤消他們擁有的內容,並控制訪問它的用戶。這不像你給商店的鑰匙 - 他們已經編寫了代碼。它讓每個人都更輕鬆。 – Tim 2008-12-04 16:28:30

2

如果您可以讓SVN訪問他們需要的文件夾並讓他們管理它,會容易得多。 :-)

Doh,Tim在我之前打過Post!

簡化你所做的事情的唯一方法是編寫運行diff的整個過程,獲取刪除/刪除的文件,並將其提供到svn-delete中。然後至少你會有1個命令與源文件夾和目標文件夾一起運行。

理想情況下,您只想讓遠程開發人員能夠訪問SVN,就像Tim說的那樣,如果您無法鎖定文件夾,請給他們一個分支,但最終仍然會運行合併(使用分支)。

2

這聽起來像我想這裏是什麼是Vendor Branches其中連續導入的供應商代碼獲取新版本。

這樣,沒有刪除管理,你可以從已提出的同事2.0等

0

一個答案使用Subversion DIFF 1.0版是創建新的代碼刪除臨時分支,然後從該分支到真實分支進行SVN合併(並且之後刪除臨時分支)。

1

創建一個verdor repo(與您的開發回購單獨分離),並要求供應商轉售自上一個版本交付給您之後的修訂版本。在您的網站上,您可以簡單地將其加載回供應商的回購。 簡單而簡單。

相關問題