2008-09-25 16 views
7

Ten wpis jest podobny do this previously asked question. Naprawdę chcę skonfigurować moje repozytorium SVN w formacie TTB, ale podczas tworzenia projektu w Visual Studio 2008 (ASP.NET/VB.NET) , tworzona struktura wydaje się być niekompatybilna przy rozpatrywaniu pliku rozwiązania, plików projektu, folderów dla projektów, wielu projektów w ramach rozwiązań itp. Czy ktoś ma skrypt lub procedurę, aby wziąć nowo utworzony projekt ASP.NET i przenieść go do TTB formatować tak bezboleśnie jak to możliwe?Struktura projektów w kontroli wersji - .NET specific


Pozwolę, że będę bardziej konkretny. Załóżmy, że mam projekt, który tworzę, o nazwie StackOverflowIsAwesome. Mogę umieścić to w mojej lokalnej strukturze folderów (załóżmy, że to c: \ working). Kiedy go tworzę, VS tworzy c: \ working \ StackOverflowIsAwesome i całą masę podfolderów (bin, app_data, itp.). Ale ja chcę moje struktura repozytorium wyglądać ...

 
StackOverflowIsAwesome 
    /trunk 
     /bin 
     /app_data 
    /tags 
    /branches 

Więc, czy jest czysty sposób to robić konsekwentnie, czy trzeba uciekać się do stale przesuwając/Modyfikacja plików i folderów do tej pracy?

Odpowiedz

0

Jeśli Twoje TTB są bardziej powszechne niż na projekt, nie ma z tym problemu. Czy może czegoś brakuje?

1

Poszliśmy z bardzo uproszczone podejście:

Struktura pliku:

  • Rozwiązanie Folder (zawiera plik rozwiązań, budowania skryptów, może więcej?)
    • folderze projektu
    • Folder projektu 2
    • Referencje (zawiera wspólne zestawy do rozwiązania).

Potem wystarczy sprawdzić zawartość całego folderu rozwiązanie jest w naszym repozytorium. Używamy jednego repozytorium dla każdego rozwiązania. Nie jestem pewien, czy jest to optymalny sposób na zorganizowanie rozwiązania, ale działa dla nas.

Ponadto działamy na najwyższym poziomie, a nie na projekt.

+0

Dokładnie to samo robimy w przypadku grup projektowych o wielkości rozwiązania. Mamy również kilka mniejszych pojedynczych projektów (takich jak wspólne biblioteki). jest to TTB na projekt dla nich (plik rozwiązania może być zawarty w katalogu projektu dla singli, jeśli jest to pożądane). – VanSkalen

0

Podczas pracy z wieloma projektami tworzącymi Visual Studio Solution trudno jest zdecydować, jak poprawnie uporządkować elementy.

Jednym z kluczowych aspektów, które musisz zrobić ze swoją strukturą, jest ułatwienie odzyskania wszystkich plików dla konkretnego wydania. Ważne jest, aby było to tak proste, jak to tylko możliwe. W kopiowaniu subversion skopiowanie folderu głównego do gałęzi znaczników jest łatwiejsze niż pamiętanie, aby powtórzyć tę samą operację dla projektów X.

Ważna jest także możliwość pracy przez dłuższy czas poza głównym bagażnikiem. Musisz to również wziąć pod uwagę.

Może się okazać, że twoje oprogramowanie zawiera wiele komponentów, które naturalnie grupują się razem.Możesz zrobić coś podobnego. Nie ma prostej odpowiedzi. Nie można łatwo odpowiedzieć. To, co robisz, naprawdę zależy od twojego konkretnego projektu. Jeśli wszystko wciąż wychodzi z nieszczęśliwego bałaganu, być może trzeba przyjrzeć się, jak projekt został zaprojektowany i zobaczyć, czy można go zmienić, aby poprawić zrozumienie.

-1

zrobić to w ten sposób:

  1. utworzyć projekt w VS
  2. Importuj wszystko w folderze projektu do repo/Nazwa_projektu/trunk
  3. Dodaj repo/oddziały i repo/tagów foldery

to daje mi repozytorium struktury takie jak:

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

I mogę po prostu zostawić wszystkie pliki w ich domyślnych miejscach w systemie plików.

1

Innym sposobem:

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 

Byłoby to dla każdego projektu. Ponieważ używamy skryptu budowania, nie musimy przechowywać naszego pliku rozwiązania w SVN.

0

Dla większych projektów zazwyczaj używamy tego formatu tutaj:

/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 

zależności od aktualnego projektu pliki źródłowe (non dokumenty, etc.) mają katalogu pod nasady pnia i dodatkowych środków rozwojowych są pod src .

Niezależne projekty w ramach są pod własnym/głównym projektem, ale w tym samym repozytorium.

Powiązane problemy