Ich schaue mir an, wie/wenn ich den Wechsel von Svn zu Git machen sollte.Single oder Multiple Git Repositories für Bibliotheken zwischen den Teams
Ich habe derzeit eine vielschichtige Reihe von Projekten in SVN, die so geschichtet sind, dass D C verwendet, die B verwendet, die A verwendet. Aktuelle Projekte wie X, Y, Z verwenden eine der gemeinsamen Bibliotheken A-D. Ziel ist es, dass zukünftige Projekte und andere Teams die Basisbibliotheken (A-D) teilen und eine bessere Verzweigungssteuerung ermöglichen. Wenn wir anderen Teams erlauben wollen, Bibliothek C zu benutzen, ohne sich mit X, Y, Z zu beschäftigen, dann ist es einfach, sie prüfen einfach das C-Bit des SVN-Baums, wenn das dazu führt, dass sie wollen Patch B, dann dito. Sie berühren X, Y, Z nicht, auch wenn sie sich im selben Repo befinden. Es ist nicht so offensichtlich, was mit Git passiert.
Wenn ich etwas mit git einrichten möchte, wie würde ich vorschlagen, dass ich es eingerichtet habe und was die Vor-/Nachteile bei der vorgeschlagenen Einrichtung sind.
Eigenschaften ich suche, sind:
- Einfacher Tagging (wenn möglich) so leicht den Zustand der gesamten Codebasis markieren kann (einfach mit einem gemeinsamen SVN-root oder einem einzigen git Repo)
- Leicht für andere, um die gemeinsamen Bibliotheken zu integrieren/wiederzuverwenden AD
- Einfach für sie, uns vorgeschlagene Fehlerkorrekturen/Patches zurückzugeben, die wir wählen können, um sie zu übernehmen oder zu ignorieren (eines der wichtigsten Dinge, die ich von git will).
- Teams effektiv Privateigentum Funktionen zur Verfügung für gemeinsam genutzte Bibliotheken haben (so sie können sie sie markieren und beheben für sich auf ihrem eigenen Zeitrahmen)
Git zu bieten, was ich will scheinen, ich bin nur nicht sicher, wie sich mit dem Problem "Single vs Multiple Repos" auseinandersetzen.