2012-12-10 14 views
10

Może dlatego, że nie jestem zaznajomiony z TFS (pracowałem głównie z SVN), ale nie rozumiem, jak utworzyć gałąź w projekcie hostowanym przez Codeplex.Jak utworzyć oddział w projekcie hostowanym przez TFS/Codeplex?

Używam VS2012. W źródle sterowania Explorer, wybiorę rozgałęzienia i scalanie> Oddział ... w menu kontekstowym, ale nie wiem co wpisać w polu docelowy:

enter image description here

Jeśli staram $/wpfanimatedgif/branches/1.3, pojawia się następujący błąd:

The target item $/wpfanimatedgif/branches/1.3 cannot be under the source item $/wpfanimatedgif.

Gdy próbuję $/branches/1.3, otrzymuję ten błąd:

TFS10198: Source control must branch into an existing team project. branches is not a team project.

Próbowałem również utworzyć nowy projekt zespołu z Team Explorer, ale nie mam wymaganych uprawnień.

Jak mogę utworzyć oddział? Czy nie jest to możliwe w projekcie Codeplex?

BTW, dlatego chcę utworzyć oddział, ponieważ pracuję nad funkcją eksperymentalną i nie chcę publikować w "bagażniku" (lub jakkolwiek to się nazywa w TFS). Być może TFS ma inny sposób radzenia sobie z tym scenariuszem? Wiem o zmianach w regale, ale jeśli dobrze zrozumiem, kod półki nie będzie dostępny w Codeplex, prawda?

Odpowiedz

17

Po pierwsze, może pomóc zrozumieć, czym jest "projekt zespołowy" - jest to logiczny wpis w kontroli źródła na najwyższym poziomie drzewa kontroli źródła i zwykle jest przeznaczony dla grupy programistów i różnych uprawnienia i ustawienia są ustawione na tym poziomie. W ramach projektu zespołowego można realizować wiele projektów rozwojowych, takich jak rozwiązania Visual Studio lub projekty Java. W tym przypadku Twój projekt zespołowy to $/WpfAnimatedGif.

Co do rozgałęzienia i łączących te występują poniżej poziomie projektu zespołu, jak zwykle do swoich rówieśników trunk lub main oddziałów. Różne rozgałęzienia i strategie łączące są ujęte w TFS Branching and Merging Guide, ale uproszczony przykład dla Visual rozwiązania Studio o nazwie „WpfAnimatedGif” może mieć strategię oddział, który wygląda tak:

$/WpfAnimatedGif/main/WpfAnimatedGif 
$/WpfAnimatedGif/branches/1.3/WpfAnimatedGif 
$/WpfAnimatedGif/branches/test_features/WpfAnimatedGif 

Jeśli chodzi o „najlepszych praktyk”, byliby utworzyć folder trunk lub main pod folderem $/WpfAnimatedGif i przenieść projekty VS poniżej tego. Można jednak utworzyć nowy folder dla każdego oddziału i każdego projektu niezależnie.

Np

$/WpfAnimatedGif/WpfAnimatedGif rozgałęzione do $/WpfAnimatedGif/branches/1.3/WpfAnimatedGif

i

$/WpfAnimatedGif/WpfAnimatedGif rozgałęzionego do $/WpfAnimatedGif/branches/1.3/WpfAnimatedGif.Demo

Jednak ponieważ te branże są niezależne, to trzeba także następnie połączyć te dwa foldery niezależnie, zamiast atomowo z folderu branches.

+2

Dzięki za szczegółowe wyjaśnienie, rozumiem teraz lepiej. Mój błąd polegał na tym, że próbowałem rozgałęzić projekt zespołu, a nie jeden z jego folderów. –

+2

Tak, nie jest całkowicie oczywiste, że foldery najwyższego poziomu są specjalne, szczególnie jeśli pochodzisz z innego systemu kontroli wersji, w którym to nie jest prawdą. Mam nadzieję, że to pomogło. –

Powiązane problemy