2008-12-31 38 views
0

我會盡量讓它儘可能簡單。可視化的源代碼安全 - 從網絡項目中刪除文件

  1. 目前我們的團隊有一個存儲項目的VSS數據庫。
  2. 開發人員獲取代碼並放置在本地主機上並在本地進行開發。
  3. 指定開發人員抓住最新版本並推送到開發服務器。

問題是,當從項目中刪除一個文件(通過在VS2008中刪除它),然後下一次另一個開發人員(而不是刪除它的人)簽入時,它會提示他們檢查那些已刪除文件,因爲他們在本地機器上仍有副本。

有沒有辦法解決這個問題?要讓VSS指示客戶端機器刪除這些文件並且不提示他們重新檢入?什麼是這個的首選方法?


編輯說明(S):

  1. 我同意SVN比VSS更好
  2. 我同意Web應用程序項目比網站項目
  3. 問題更好:此相同的事情發生在從類庫中移除的文件中。

回答

5

你解決這個問題的方法之一是停止使用網站項目。網站項目使Visual Studio自動將它在項目路徑中找到的任何內容添加到項目中。

相反,轉到沒有此行爲問題的Web應用程序項目。

網站項目適合單人發展。

UPDATE:從天了過去曾在,無論他們安裝了受影響的構建過程similiar問題

VB商店。你可以從他們的劇本中獲得一個頁面,並擁有一個「乾淨」的構建機器。在進行部署之前,您應該刪除所有的項目文件夾,然後做一個最新的。這樣你就可以確保部署的唯一東西就是你在源代碼管理中擁有的東西。

順便說一句,這也是TFS構建服務器的工作原理。它刪除工作區,然後創建一個新的工作區並下載必要的工程文件。

此外,你可能會考慮使用類似Cruise Control來處理構建。

+0

Hey Chris - Th爲迴應。不幸的是,目前我們已經走了一段時間並不是理想的解決方案,而且我們擁有的人越多,對流程的改變越慢。儘管我會繼續推薦這一建議。 – 2008-12-31 15:50:14

+0

網站項目存在很多問題,特別是在團隊開發方面。 WS是爲VS2005添加的新項目類型。通過VS2005 SP1,MS已經開始從它離開到WAPs。 – NotMe 2008-12-31 15:55:10

+0

我們有同樣的問題,除了我現在是一個1的團隊,所以它不再是一個問題。這是我們能想出的唯一解決方案。 – JoshBerke 2008-12-31 16:21:54

0

你最好的解決方案是切換到更好的版本控制系統,如SVN。

在我的工作中,我們最近從一家外包公司獲得了一個項目,他使用VSS作爲他們的版本控制。我們能夠從VSS將所有更改歷史記錄導入到SVN中,然後在SVN中快速啓動並運行。

並與SVN,您可以設置文件和文件夾,所以在您的Web項目中的文件忽略不得到投入SVN和忽略的屬性被檢出到每個開發人員的機器

我相信我們使用VSSMigrate要遷移到SVN http://www.poweradmin.com/sourcecode/vssmigrate.aspx

1

也許開發人員應該注意只檢查或添加他們一直在處理的內容。如果他們正在添加他們甚至沒有使用的東西,那就是馬虎。

0

VSS是一個糟糕的版本控制系統,你應該切換到SVN,但這與問題的關鍵無關。項目文件包含對哪些文件實際上是項目的一部分的引用。如果Visual Studio項目沒有被檢入並且對其進行更改,則沒有辦法讓任何其他開發人員完全更新,因此查詢在從VSS獲取最新內容時刪除文件。從那裏你有多種選擇...

  1. 使vbproj部分的存儲庫。任何項目級別的更改都將成爲提交的一部分,其他開發人員可能會收到通知。這裏的問題是它也將在開發服務器上。理想情況下,您可以使用幾乎相同的流程部署到開發中,就像您將部署爲發佈一樣。這導致了另一種方式... ...

  2. SVN爲幾乎所有的重大事件,其中鉤子字面上只是一個正確命名的批處理文件/ EXE的鉤子。出於您的目的,您可以使用post-commit掛鉤在每次提交時將相應的文件(通過ftp)推送到服務器。解決文件問題,更重要的是更接近持續集成的概念。

0

有些事情,你可能要考慮這樣做:

  1. 獲取最新(遞歸)
  2. 入住...

它的一個手動過程,但它可能給你所需的結果,再加上如果VS談到刪除的文件,你知道他們應該從本地機器在步驟1中刪除。

相關問題