2008-09-25 89 views
7

這篇文章類似於this previously asked question.我真的想以TTB格式設置我的SVN存儲庫,但是在Visual Studio 2008(ASP.NET/VB.NET)中創建項目時, ,在考慮解決方案文件,項目文件,項目文件夾,解決方案中的多個項目等時,創建的結構往往不兼容。是否有人有腳本或過程來創建新的ASP.NET項目並將其移至TTB格式儘可能無痛苦?版本控制中的項目結構 - .NET特定版本


讓我更具體。假設我有一個名爲StackOverflowIsAwesome的項目。我可以把它放到我的本地文件夾結構中(假設它是c:\ working)。當我創建它時,VS創建c:\ working \ StackOverflowIsAwesome和一大堆子文件夾(bin,app_data等)。但我想我的倉庫結構,看起來像......

 
StackOverflowIsAwesome 
    /trunk 
     /bin 
     /app_data 
    /tags 
    /branches 

那麼,有沒有一個乾淨的方式來做到這一點始終還是我需要訴諸不斷移動/修改文件和文件夾,使這項工作?

回答

0

如果您的TTB是常見的而不是每個項目,那麼它沒有問題。或者我錯過了什麼?

1

我們有一個非常簡單的方法去:

文件結構:

  • 解決方案文件夾(包含解決方案文件,構建腳本,也許更多?)
    • 項目文件夾
    • 項目文件夾2
    • 參考文獻(包含共享的a解決方案)。

然後我們只需檢查整個解決方案的文件夾中的內容到我們的倉庫。我們爲每個解決方案使用一個存儲庫我不確定這是否是組織解決方案的最佳方式,但它對我們有效。

此外,我們分支在最高級別,而不是每個項目。

+0

我們對解決方案大小的項目組執行完全相同的操作。 我們也有一些較小的單項目項目(如公共庫)。對於這些項目,每個項目都有一個TTB(如果需要,解決方案文件可以包含在項目目錄中)。 – VanSkalen 2008-09-25 20:17:04

0

當處理構成Visual Studio解決方案的多個項目時,很難決定如何正確構建事物。

您需要處理結構的一個關鍵方面是可以輕鬆地檢索特定發行版的所有文件。儘可能地簡化這一點非常重要。在subversion中,將根文件夾複製到標籤分支上更容易,然後記住爲X項目重複相同的操作。

能夠長時間在主幹線以外工作也很重要。你也必須考慮這一點。

您可能會發現您的軟件有許多自然組合在一起的組件。你可以做這樣的事情

/tag 

/core_library 
    /branch 
    /main 

/business_logic 
    /branch 
    /main 

/report_library 
    /branch 
    /main 

/my_ui 
    /branch 
    /main 

有沒有簡單的答案。你做什麼取決於你的具體項目。如果一切仍然出現亂七八糟的混亂,那麼也許你需要看看你的項目是如何設計的,並看看是否可以改變,以提高理解。

-1

我做這種方式:

  1. 在VS創建項目
  2. 進口一切都在項目文件夾回購/項目名稱/後備箱
  3. 添加回購/分支機構和回購/標籤的文件夾

這給了我一個倉庫結構,如:

projectname 
    /trunk 
     /bin 
     /obj 
     /Properties 
     projectname.sln 
    /tags 
    /branches 

我可以將所有文件保留在文件系統的默認位置。

1

另一種方式:

StackOverflowIsAwesome 
    /trunk 
    /database 
    /datafiles 
    /documents 
    /build 
    /installer 
    /lib 
     /External_DAL (external that points to shared library) 
    /utilities 
    /vendor 
    /src 
     /StackOverFlowIsAwesome 
     /StackOverFlowIsAwesome.csprj 
     /bin 
     /... 
     /StackOverFlowIsAwesomeTests 
     /StackOverFlowIsAwesomeTests.csprj 
     /bin 
     /... 
    /branches 
    /tags 

這將是爲每個項目。由於我們正在使用構建腳本,因此我們不需要將我們的解決方案文件存儲在SVN中。

0

對於較大的項目,我們通常使用這種格式在這裏:

/Project 
    /trunk 
     /lib/    # Binary imports here (not in svn) 

     /src    # Solution file here 
      /Libraries  # Library assemblies here 
      /StackOverflowIsAwesome.Common 

      /Products  # Delivered products here 
      /StackOverflowIsAwesome.Site 

      /Projects  # internal assemblies here 
      /StackOverflowIsAwesome.Tests 
    /branches 
     /1.x 
    /tags 
     /StackOverflowIsAwesome-1.0 

根據實際項目非源文件(文件等)有樹幹根和額外的開發資源下 目錄是在src 。

下面的獨立項目是在他們自己的項目根目錄下,但在同一個存儲庫中。