Unser Repository sieht aus wie:
/trunk
/branches
/sandbox
/vendor
/ccnet
/ trunk ist Ihre Standardentwicklung. Wir verwenden CI, daher muss dies immer Tests erstellen und bestehen.
/ branches Hier setzen wir "sanktionierte" große Änderungen ein, dh etwas, von dem wir wissen, dass es in den Kofferraum gelangt, aber möglicherweise etwas Arbeit benötigt und CI brechen würde. Auch dort, wo wir an Wartungsversionen arbeiten, die ihre eigenen CI-Projekte haben.
/ sandbox Jeder Entwickler hat seine eigene Sandbox sowie eine gemeinsam genutzte Sandbox. Dies gilt für Aufgaben wie "Fügen wir unserem Produkt einen LINQ-Anbieter hinzu", die Sie ausführen, wenn Sie nicht Ihre eigentliche Arbeit erledigen. Es kann schließlich in den Kofferraum gehen, es kann nicht, aber es ist da und unter Versionskontrolle. Kein CI hier.
/ Vendor Standard Vendor Branch für Projekte, in denen wir kompilieren, aber keinen Code pflegen.
/ ccnet Dies sind unsere CI-Tags, die nur der CI-Server hier schreiben kann. Im Nachhinein hätten wir gesagt, wir sollten dies in etwas Allgemeineres wie CI, BUILDS usw. umbenennen.