2016-06-30 12 views
1

Ich möchte ein Versionskontrollsystem einrichten, in dem Entwickler sie in ein Repository verschieben können. Unsere Prüfabteilung kann diese Änderungen durchführen und sie testen. Nachdem diese Änderungen von der Testabteilung genehmigt wurden, werden sie für ein zweites Repository bereitgestellt, das zur Veröffentlichung bereitsteht.Two Step Commit mit SVN, Git,

Ich weiß, wir könnten Zweige für diese verwenden, aber es gibt eine Menge von Mikro-Änderungen und die Schaffung eines Zweigs für jeden von ihnen scheint wie ein Overhead für mich.

Kurz gesagt, ich brauche ein System, in dem jedes Commit wie ein Zweig agiert und individuell mit einem Master-Repository zusammengeführt werden kann.

Hinweis: Der Index von Git zählt nicht, da er nur lokal existiert und von der Testabteilung nicht aufgerufen werden kann.

Antwort

2

Mit einem verteilten Repo wie Git brauchen Sie keine Filialen, Sie brauchen mehrere Repos, von denen einer als Gatekeeper fungiert.

Immer wenn Sie zum Gatekeeper Repo drücken, löst dieser Repo durch einen Post-Receive-Haken die Tests aus.
Wenn diese Tests bestanden werden, hat es zum letzten Repo gedrängt, das als gesegneter Verweis für alle Entwickler fungiert.

Dies testet nicht "by commit", sondern für jede Gruppe von gedrückten Commits.

Ich erwähnte das zuvor, als die final repo was actually an svn one.
Ich erwähnte es auch für tests or for private builds.

+0

Ich verwende auch den gleichen Stil für die Entwicklung in meiner Organisation. Alle Änderungen werden in einem anderen Repo namens "development" durchgeführt, der eigentlich vom Master stammt. Sobald alle Commits in '' development '' verifiziert sind, wird der Master '' move '' übernommen. – Adeel