Einzel- oder Mehrfach-Git-Repositories für Bibliotheken, die von Teams gemeinsam genutzt werden

8

Ich schaue mir an, wie / wenn ich den Wechsel von SVN zu Git machen sollte.

Ich habe derzeit einen vielschichtigen Satz von Projekten in svn, die so geschichtet sind, dass D C verwendet, das B verwendet, das A verwendet. Tatsächlich eingesetzte Projekte wie X, Y, Z verwenden eine der gebräuchlichen Bibliotheken A-D. Das Ziel ist, dass zukünftige Projekte und andere Teams die Basisbibliotheken (A-D) teilen und eine bessere Verzweigungssteuerung ermöglichen.

Wenn wir in Svn anderen Teams erlauben wollen, Bibliothek C zu benutzen, ohne sich mit X, Y, Z zu beschäftigen, dann ist es einfach, sie checken einfach das C-Bit des Svn-Baumes aus, wenn das dazu führt, dass sie patchen wollen B, dann auch. 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 aufstelle und was die Vor- / Nachteile bei der vorgeschlagenen Einrichtung sind.

Features, nach denen ich suche, sind:

  1. Einfaches Tagging (wenn möglich), so kann der Status der gesamten Codebasis leicht markiert werden (einfach mit einem gemeinsamen svn root oder einem einzelnen Git Repo)
  2. Einfach für andere, die allgemeinen Bibliotheken A-D
  3. zu integrieren / wiederzuverwenden
  4. Einfach für sie, uns vorgeschlagene Fixes / Patches zurückzugeben, die wir auswählen oder ignorieren können (eines der wichtigsten Dinge, die ich von git will).
  5. Teams verfügen über effektive Funktionen für private Eigentümer, die für gemeinsam genutzte Bibliotheken verfügbar sind (damit sie sie markieren und auf ihren eigenen Zeitleisten selbst reparieren können)

Git scheint zu bieten, was ich will, ich bin mir einfach nicht sicher, wie ich mit dem Einzel-vs-Multiple-Repos-Problem umgehen soll.

    
DaveC 28.02.2010, 17:11
quelle

1 Antwort

2
  

Wenn ich etwas einrichten möchte mit   Git, wie würdest du vorschlagen, ich richte es ein   [...]

Gehen Sie einfach mit mehreren Git Repositories (sie sind ziemlich billig und sie sind verwandt mit vielen kleinen Booten anstelle einer Titanic - mit anderen Worten, ich finde, dass sie flexibel sind und ich liebe Flexibilität).

Ab und zu helfe ich bei einem Projekt, das so strukturiert ist

%Vor%

Der 'Server', 'Client', 'Docs' und jeder Ordner in 'Tools' sind separate Git-Repositories. Dadurch können spezialisierte Teammitglieder genau das klonen und bearbeiten, an dem sie arbeiten möchten.

Ganz zu schweigen davon, wenn wir einfach alles reinziehen wollen, können wir foo klonen (was den Rest als Untermodule anzieht).

Es ist großartig, dass git dir erlaubt, das zu tun, warum nutzt du es nicht aus?

  

[...] und was sind die?   Vorteile / Nachteile mit Ihrem vorgeschlagenen   Setup.

Es ist möglich, dass mein Vorschlag leicht zu implementieren ist.

    
Fake Code Monkey Rashid 28.02.2010, 17:20
quelle

Tags und Links