Lesen Sie ein paar "Warum ein DVCS besser ist" -Antworten auf mehrere Fragen zu Programmierern. Sie alle scheinen zu sagen, dass DVCS im Allgemeinen besser ist, da Sie in großen Projekten kein Commit-Rennen haben, dh IE-Commit, also veraltet aktualisieren, festschreiben, wieder veraltet, festschreiben, immer noch veraltet usw.
DVCS begrenzen dies mit dem Konzept des Push. Aber würde es in sehr großen Projekten nicht ein "Push Race" geben, besonders am Ende des Tages? Ich weiß, dass dies in Git durch die ständige Verzweigung für alles etwas behoben wird, aber in Mercurial verzweigt man nicht, man erstellt einen neuen Kopf.
Problem sehe ich
- Benutzer versucht zu pushen
- Veraltet (Mercurial lässt Sie nicht pushen, wenn Ihr lokales Repo veraltet ist), sodass Sie Ihre lokalen Änderungen abrufen und zusammenführen
- Der Benutzer versucht erneut zu pushen, aber während er zusammengeführt hat, hat jemand anderes gepusht, sodass er wieder veraltet ist
- Ziehen und erneut zusammenführen
- Immer noch veraltet
- Wiederholen
Klingt bekannt?
Ist dies ein tatsächliches Problem bei sehr großen und beliebten Quecksilber-Repos? Was ist mit in einem Unternehmen, wenn jeder seinen letzten Schub des Tages macht?
--close-branch
- und mercurial hat Zweige benannt, Sie müssen nicht in ein neues Verzeichnis klonen
hg branch myfeature; hg ci -m "Starting feature branch"; hg push --new-branch