Wir haben in der Regel Perforce und SmartBears Code Collaborator verwendet, Big Corp
und jetzt werden wir Mercurial auch für bestimmte Projekte verwenden.
Unterstützung für Code Collaborator Mercurial (wir verwenden Version 5) und ich versuche festzustellen, wann die beste Zeit (während des Festschreibens / Push-to-Server-Vorgangs) die beste / effizienteste Zeit für eine Codeüberprüfung ist
Vielen Dank
code-reviews
mercurial
cbrulak
quelle
quelle
Antworten:
Wir haben in meiner Firma in letzter Zeit fast dasselbe durchgemacht. Folgendes haben wir getan:
Wir behalten eine zentrale definitive Kopie aller unserer Repositorys auf einem Server. Wenn Entwickler Code "auschecken" möchten, gehen sie zu diesem Server und klonen von den dortigen Repositorys. Wenn der Entwicklungszyklus abgeschlossen ist, wird der Code ebenfalls in das entsprechende Repository verschoben.
Wir trennen stabile Repositorys von Entwicklungs- Repositorys. Der Code muss überprüft werden, bevor er in ein stabiles Repository verschoben wird. (Dies ist von Bedeutung, da wir auch verlangen, dass unsere stabilen Repositorys den Code enthalten, der derzeit in der Produktion ausgeführt wird, und sich nur durch ausstehende Code-Promotions unterscheiden.)
Um die Codeüberprüfung durchzusetzen, haben wir einen
pretxnchangegroup
Hook geschrieben (dokumentiert im HG Book ). Wir machen uns die Tatsache zunutze, dass bei Ausführung dieses Hooks das Repository so angezeigt wird, als ob die Codeänderungen dauerhaft wären, und dass wir gleichzeitig die Möglichkeit haben, den Push zu verhindern. Grundsätzlich ist der Prozess wie folgt:Im Wesentlichen bietet dies dem Entwickler einen ziemlich optimierten Prozess (alles, was sie tun müssen, ist ein hg-Push) und automatisiert die Erstellung der Codeüberprüfung vollständig (und das Hochladen zusätzlicher geänderter Dateien zur Überprüfung), während sichergestellt wird, dass der gesamte Code überprüft wird .
Hinweis: Dies ist ein ziemlich einfacher Prozess (und für uns relativ neu), sodass er möglicherweise nicht für alle funktioniert und es möglicherweise einige Designfehler gibt, auf die wir noch nicht gestoßen sind. Aber bisher hat es ganz gut geklappt.
quelle
Dies hängt davon ab, wie Ihre Repository-Struktur aufgebaut ist und was Sie erreichen möchten. Wir bevorzugen "Pre-Commit" -Reviews, was in der DVCS-Welt wirklich "Pre-Push" bedeutet. DVCSs sind in dieser Umgebung (im Vergleich zu herkömmlichen SCMs) besser geeignet, da sie über integrierte Funktionen zum Speichern Ihrer lokalen Änderungen und zum Zurückholen Ihres Arbeitsbereichs verfügen, sodass Sie an etwas anderem arbeiten können.
Wenn Sie Nachprüfungen durchführen möchten, hängt der ideale Workflow stark von Ihrer Repository-Struktur ab. Nehmen wir zum Beispiel eine Repository-Struktur an, die der in diesem Artikel über Git-Repository-Layouts beschriebenen ähnelt . In diesem Fall möchten Sie möglicherweise die Änderungen überprüfen, mit denen zusammengeführt wird
develop
. Einzelne Commits für Feature-Zweige sind möglicherweise nicht sinnvoll zu überprüfen. Offensichtlichhotfixes
muss auch alles zusammen mit dem Zusammenführen in überprüft werdenmaster
.Wenn Sie stattdessen einen einzelnen Integrationszweig haben, in dem die Benutzer direkt einchecken, möchten Sie alle Pushs zu diesem Zweig überprüfen. Das ist wohl etwas weniger effizient, könnte aber trotzdem funktionieren. In dieser Umgebung müssten Sie sicherstellen, dass alle Änderungen, die übertragen wurden, überprüft werden, bevor Sie eine Veröffentlichung ausschneiden. Das kann schwieriger sein.
Was b) betrifft, würde ich nur vorschlagen, den SmartBear-Support ([email protected]) direkt per E-Mail zu kontaktieren. Wir (ja, ich arbeite für SmartBear) helfen Ihnen gerne dabei, Ihre Pfadprobleme zu lösen, aber diese Frage enthält nicht genügend Informationen, um Ihr Problem zu beheben. Der normale Prozess ist, einfach das Installationsprogramm auszuführen und alles funktioniert einfach. Anscheinend ist dabei etwas schiefgelaufen.
quelle