Soll ich alle Projekte in einem Repository oder mehr speichern?
-
02-07-2019 - |
Frage
Ich bin derzeit TortoiseSVN ein paar der Projekte zu verwalten, die ich im Moment auf dem Sprung haben. Als ich zuerst alles in die Quellcodeverwaltung bewegt war ich nicht wirklich sicher, wie alles gelegt werden sollte, damit ich am Ende jedes Projekt in sein eigenes Repository aufstellen.
Ich habe mich gefragt, wäre es eine gute Idee, nur für mich, sie alle zu einem großen Repository zu bewegen und sie in Projektordner aufgeteilt? Was bedeutet alle anderen tun?
Im Moment keiner von ihnen gemeinsamen Code teilen, aber sie können in der Zukunft. Wäre es es einfacher zu verwalten, wenn sie alle zusammen, wo.
Danke.
Lösung
Hängt in einem Ausmaß, was Sie mit „Projekt“ bedeuten.
Ich habe eine allgemeine lokale Repository Zufallsbits Sachen enthält, die ich schreibe (meine Website einschließlich, da es klein ist). Eine Single-User lokale SVN-Repository wird nicht spürbare Performance-Probleme leiden, bis Sie viele Jahre der Eingabe ausgegeben haben. Durch die Zeit SVN schneller sowieso sein. So habe ich noch zu bereuen geworfen alles in einem Repository mit, auch wenn einige der Sachen dort völlig unabhängig anders als das ist ich alles geschrieben.
Wenn ein „Projekt“ bedeutet „eine Zuweisung von Klasse“ oder „die Skripte ich nutze, um meinen TiVo zu fahren“ oder „meine Fortschritte, eine neue Sprache zu lernen“, dann ein repos pro Projekt zu schaffen scheint ein wenig überflüssig mich. Dann wieder, macht es auch nichts kosten. Also ich denke, ich würde sagen, nicht ändern, was du tust. Es sei denn, Sie wirklich wollen, die Erfahrung der reorganisieren Repositories, wobei in diesem Fall Sie ändern, was Sie tun: -)
Wenn jedoch durch „Projekt“ Sie bedeuten ein ‚echtes‘ Software-Projekt, mit dem öffentlichen Zugriff auf das Repository, dann denke ich, getrennter repos pro Projekt ist, was Sinn macht: zum Teil, weil es der Dinge sauber und jedes Projekt skaliert teilt unabhängig, sondern auch, weil es ist, was die Menschen erwarten zu sehen.
Gemeinsame Nutzung von Code zwischen verschiedenen Repositories ist weniger ein Problem, als Sie vielleicht denken, da svn den eher lieblich hat „svn: externals“ -Funktion. Auf diese Weise können Sie in einem Verzeichnis in ein anderes Repository ein Verzeichnis Ihrer Repository zeigen und überprüfen das Zeug automatisch zusammen mit Ihren Daten. Siehe, wie immer, das SVN-Buch für Details.
Andere Tipps
Ich würde sie im gleichen Repository speichern. Es ist eine Art ordentlicheres. Plus, warum wäre es für die kontinuierliche Integration Materie und so - Sie können immer einen bestimmten Ordner aus dem Repository ziehen.
Es ist auch einfacher zu verwalten -. Konten zu einem Repository, Zugriff auf Protokolle von einem Repository etc
Meine Faustregel ist, die Dinge zu konsolidieren, die zusammen geliefert werden. Mit anderen Worten, wenn Sie Projekt X und Y Projekt liefern separat könnten, dann legt sie in separaten repos.
Ja, manchmal bedeutet dies, Sie eine riesige Repo für ein Projekt haben, das eine große Anzahl von Komponenten enthält, aber die Leute auf Unterbäume eines Repo arbeiten kann und dies zwingt sie der „Gesamtprojekt“ zu denken, wenn sie Änderungen an der Commit Repo.
Ich würde es absolut jedes Projekt in einem eigenen Repository halten, getrennt von allen anderen. Dadurch wird jedes Projekt seine eigene Geschichte von Commits geben. Rollbacks an einem Projekt wird nicht andere Projekte auswirken.
Persönlich ziehe ich jedes Projekt in einem eigenen Repository
Wenn Sie mit vielen anderen Menschen arbeiten sollten Sie überlegen, ob jeder das gleiche Maß an Zugang zu jedem Projekt benötigt. Ich denke, dass es einfacher ist, Zugriffsrechte pro Person zu geben, wenn Sie jedes Projekt in einem separaten Repository gestellt. ~~~
Wenn Sie sich mit einem separaten Repository für jedes Projekt gehen, können Sie verwenden, um die
Solange jedes Projekt hat / trunk / tags und / branches du bist gut. Die richtige kontinuierliche Integration ist das Kriterium hier.
Ja, setzen Sie alles in der Quellcodeverwaltung.
Wenn Sie SVN verwenden, halten Projekte in ihrem eigenen Repository -. Svn ist langsam, und wird langsamer
Wenn Sie Ihre Projekte unabhängig sind, ist es in Ordnung, sie in getrennten Repositories zu halten. Wenn sie Komponenten teilen, dann setzen sie zusammen.
Für Subversion, würde ich vorschlagen, alles im gleichen Repository setzen; der administrative Aufwand für die Einrichtung eines neuen Repositorys zu hoch ist es ein Kinderspiel zu machen, so dass Sie später es wahrscheinlicher, nicht auf die Version etwas und bereuen. Subversion bietet viel feinkörniger Zugriffskontrollen, wenn Sie den Zugriff auf einen Teil Ihres Repository beschränken müssen.
Wie beginne ich meine Projekte zu migrieren jedoch Mercurial, habe ich eingeschaltet ein Repository pro Projekt zu erstellen, denn es dauert nur ein „hg init“ einen neuen an seinem Platz zu schaffen, und ich kann die hg Wald Erweiterung leicht Operationen auf verschachtelte Verwahrungsstellen führen. Subversion hat svn. Äußerlichkeiten, die etwas ähnlich sind, benötigen aber mehr Verwaltungsaufwand