Zastanawiam się nad niektórymi strategiami rozgałęzień (tworzenie oddziałów na funkcję, być może na programistę, ponieważ jesteśmy małą grupą) i zastanawialiśmy się, czy ktoś nie napotkał żadnych problemów. Czy tworzenie gałęzi zajmuje dużo miejsca?Rozgałęzianie i przestrzeń dyskowa TFS
Odpowiedz
Kiedy ostatnio wyglądałem, TFS używa kopiowania przy zapisie, co oznacza, że nie zwiększysz miejsca na dysku, dopóki nie zmienisz plików. To trochę jak korzystanie z dowiązań symbolicznych, dopóki nie zmienisz rzeczy.
James jest w zasadzie poprawny. Dla pełniejszego odpowiedź, musimy zacząć od postu Bucka z tyłu w roku 2006: http://blogs.msdn.com/buckh/archive/2006/02/22/tfs_size_estimation.aspx
Każdy nowy wiersz w lokalnej tabeli wersja dodaje około 520 bajtów (jeden wiersz zostanie dodana do każdego obszaru roboczego, który dostaje nowo dodane pozycja, a rozmiar jest zdominowany przez lokalną kolumnę ścieżki). Jeśli masz 100 obszarów roboczych, które otrzymają nowo dodany element, baza danych wzrośnie o 52 KB. Jeśli dodasz 1000 nowych plików o średniej wielkości (połączenie plików źródłowych, plików binarnych, obrazów itp.) I uzyskasz 100 obszarów roboczych, baza danych kontroli wersji powiększy się o około 112 MB (60 KB * 1000 + 520 * 1000 * 100) .
Możemy pominąć liczbę 60 KB, ponieważ elementy rozgałęzione nie duplikują zawartości pliku. (Nie jest to "copy-on-write", James - O (N) ilość metadanych musi być obliczona i przechowywana podczas samej operacji rozgałęzienia, w porównaniu z systemami takimi jak git, które według mnie działają w O (1) - ale masz rację, że nowy element wskazuje ten sam rekord w tbl_Content jako element źródłowy, dopóki nie zostanie poddany edycji). Pozostaje nam tylko współczynnik 520 * num_workspaces * files_per_workspace
. Na serwerze testowym MS istnieje około 2 miliardów wierszy w tbl_LocalVersion, ale w opisanej przez siebie małej grupie powinno to być całkowicie pomijalne.
Blogiem o czymś, o czym Buck nie wspomina, jest historia łączenia. Jeśli przyjmiesz przepływ pracy obciążony gałęzią i pozostaniesz przy nim przez kilka cykli programistycznych, prawdopodobnie tbl_MergeHistory wzrośnie prawie tak samo, jak tbl_LocalVersion. Ponownie, wątpię, by rejestrował się nawet na radarze małego zespołu, ale na dużych instalacjach można łatwo zgromadzić setki milionów wierszy. Powiedział, że każdy rząd jest znacznie mniejszy, ponieważ nie ma pól nvarchar (260).
- 1. Rozgałęzianie i bazy danych TFS
- 2. iOS: Podstawowe dane i przestrzeń dyskowa
- 3. Przestrzeń dyskowa nie została zwolniona nawet po usunięciu obszaru klucza z programu Kasandra db i zagęszczeniu
- 4. PostgreSQL 9.0.13 robi pg_restore, ale nie ma dowodu, że przestrzeń dyskowa jest używana
- 5. Rekomendacja rozgałęzienia TFS
- 6. Nie można zagnieździć gałęzi TFS, więc rozgałęzianie w celu udostępnienia kodu nie działa?
- 7. Przestrzeń jądra systemu Linux i przestrzeń użytkownika
- 8. Czy bardziej wydajne jest rozgałęzianie lub mnożenie?
- 9. Eclipse nadal tworzy przestrzeń roboczą ... i buduje przestrzeń roboczą ... i przestrzeń roboczą budynku
- 10. Przestrzeń robocza xcodebuild i schemat
- 11. najlepsze praktyki Nuget i TFS
- 12. Kompresor YUI i TFS Build
- 13. TFS 2012 i web.config przekształca
- 14. aktualizacja TFS 2010 i TFS 2012 RC do TFS 2012 końcowy
- 15. Przestrzeń użytkownika a przestrzeń jądra sterownika
- 16. Hibernate, SessionFactoryObjectFactory i OutOfMemoryError: java sterty przestrzeń
- 17. Przestrzeń nazw Xml i C# csproj
- 18. Przestrzeń nazw C++ i zmienne statyczne
- 19. CSS Przestrzeń pomiędzy menu i podmenu
- 20. Groovy XML i przestrzeń nazw "xml:"
- 21. UITableView przestrzeń między wiersza i sekcjach
- 22. Przestrzeń galerii na początku i końcu
- 23. Mediacodec i kamera, przestrzeń kolorów niepoprawna
- 24. Windows8 ListView i przestrzeń pomiędzy elementami
- 25. nrepl.el i leiningen 2 domyślna przestrzeń nazw?
- 26. Skonfiguruj lokalizację serwera TFS w powertools TFS
- 27. Visual Studio 2010 i TFS niechciane wymeldowanie
- 28. help with TFS i odnośniki DLL
- 29. Problemy z biblioteką TFS i referencjami
- 30. IBM RTC i Microsoft TFS 2010
+1: Moje zrozumienie. Oddział zajmie miejsce na twojej lokalnej stacji roboczej, ale zawsze możesz osłonić gałąź, jeśli nie chcesz jej widzieć (co zasadniczo usuwa ją z obszaru roboczego) i przycinać ją, gdy już to zrobi i ponownie włączy. – TrueWill
nie można znaleźć żadnych informacji na ten temat, więc jeśli ktoś natknie się na jakiekolwiek linki, skieruj mnie do nich. Dzięki za odpowiedź. –