2012-12-10 14 views
10

Vielleicht liegt es nur daran, dass ich TFS nicht kenne (ich habe hauptsächlich mit SVN gearbeitet), aber ich verstehe nicht, wie man eine Verzweigung in einem von Codeplex gehosteten Projekt erstellt.Wie erstelle ich eine Verzweigung in einem TFS/Codeplex gehosteten Projekt?

Ich benutze VS2012. Im Source Control Explorer, wähle ich Verzweigen und Zusammenführen> Niederlassung ... im Kontextmenü, aber dann weiß ich nicht, was in dem Ziel Feld eingeben:

enter image description here

Wenn ich versuche $/wpfanimatedgif/branches/1.3, bekomme ich folgende Fehlermeldung:

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

Wenn ich $/branches/1.3 versuchen, ich diesen Fehler:

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

Ich habe auch versucht, ein neues Team-Projekt von Team Explorer zu erstellen, aber ich habe nicht die erforderlichen Berechtigungen.

Also wie kann ich eine Verzweigung erstellen? Oder ist es bei einem Codeplex-Projekt unmöglich?

BTW, der Grund, warum ich eine Verzweigung erstellen möchte, ist, weil ich an einer experimentellen Funktion arbeite und ich nicht auf den "Stamm" (oder was auch immer es in TFS genannt wird) veröffentlichen möchte. Vielleicht geht TFS anders mit diesem Szenario um? Ich weiß, dass Änderungen in den Regalen enthalten sind, aber wenn ich es richtig verstanden habe, wird der Code auf dem CodePlex nicht verfügbar sein, oder?

Antwort

17

Erstens kann es hilfreich sein zu verstehen, was ein "Team Project" ist - es ist ein logischer Eintrag in der Quellcodeverwaltung auf der obersten Ebene der Quellcodeverwaltung und ist normalerweise für eine Gruppe von Entwicklern und verschiedenen Berechtigungen und Einstellungen werden auf dieser Ebene festgelegt. Innerhalb eines Teamprojekts können Sie mehrere Entwicklungsprojekte wie Visual Studio-Lösungen oder Java-Projekte ausführen. In diesem Fall lautet Ihr Teamprojekt $/WpfAnimatedGif.

Wie zum Verzweigen und Zusammenführen, treten jene unter Projektebene-Team, in der Regel als Peers zu Ihren trunk oder main Filialen. Verschiedene Branching und Merging-Strategien sind in der TFS Branching and Merging Guide bedeckt, aber ein vereinfachtes Beispiel für eine Visual Studio-Lösung namens „WpfAnimatedGif“ könnte eine Zweig Strategie haben, die wie folgt aussieht:

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

Wie für „Best Practices“, sie würden Erstellen Sie einen trunk oder main Ordner unter dem Ordner $/WpfAnimatedGif und verschieben Sie Ihre VS-Projekte darunter. Sie können jedoch für jeden Zweig einen neuen Ordner erstellen und jedes Projekt unabhängig voneinander verzweigen.

ZB:

$/WpfAnimatedGif/WpfAnimatedGif zu $/WpfAnimatedGif/branches/1.3/WpfAnimatedGif verzweigten

und

$/WpfAnimatedGif/WpfAnimatedGif zu $/WpfAnimatedGif/branches/1.3/WpfAnimatedGif.Demo verzweigten

Da jedoch diese Zweige unabhängig sind, würden Sie auch unabhängig diese beiden Ordner dann zu verschmelzen haben, anstelle von Atom aus dem Ordner branches.

+2

Dank für die detaillierte Erklärung, verstehe ich jetzt besser. Mein Fehler war, dass ich versuchte, das Teamprojekt selbst zu verzweigen, anstatt eines seiner Ordner. –

+2

Ja, es ist nicht ganz offensichtlich, dass die Top-Level-Ordner speziell sind, besonders wenn Sie von einem anderen Versionskontrollsystem kommen, wo das nicht stimmt. Hoffe das hat geholfen. –