Unser Entwicklerteam verwendet VS.NET für die App-Entwicklung und TortoiseSVN/VisualSVN für die Versionskontrolle. Es scheint, dass fast jeden Tag Probleme mit der Arbeitskopie oder dem Repository auftreten und die Leute einfach die Hände hochwerfen und mich anrufen, wenn es passiert. Es sind definitiv menschliche Faktoren am Werk (SVN funktioniert, wie es sollte), aber ich bin es leid, den SVN-Helpdesk für das Entwicklerteam zu spielen. Kann mir jemand ein besser /Intuitiveres Setup für die Versionskontrolle?
Antworten
Zu viele Anzeigen?Vertreter SVN funktioniert gut für mich. Es lässt sich gut mit Visual Studio integrieren.
Kann jemand eine bessere/intuitivere Einrichtung für die Versionskontrolle empfehlen?
Besser? Ja. Intuitiver? Das ist fraglich. Schauen Sie sich Software zur verteilten Versionskontrolle an, nämlich Mercurial oder Git. Für beide gibt es frei verfügbare Plugins zur Integration in Visual Studio. Und wenn Sie ein wenig Geld ausgeben können, habe ich sehr gute Dinge über Kiln von Fog Creek gehört.
Was Ihre Probleme mit SVN angeht, habe ich ein paar Tipps. Erstens sollten Sie sicherstellen, dass alle Beteiligten mit der gleichen Version des Produkts arbeiten. Da es häufig aktualisiert wird, kann dies schwierig sein, da man nicht zu weit hinter die aktuelle Version zurückfallen möchte. Zweitens hatten wir früher große Probleme damit, dass Tortoise versucht hat, Symbolüberlagerungen auf gemappten Netzlaufwerken zwischenzuspeichern. Es gibt eine Option, die Sie irgendwo abschalten können, was die Dinge plötzlich Weg stabiler. Aber das war bei meinem letzten Job, und ich kann mich nicht mehr an die genaue Einstellung erinnern.
SVN ist so einfach wie ein Versionskontrollsystem nur sein kann. Probleme sollten nur beim Zusammenführen von Dateien auftreten... das kann schwierig sein.
Wenn Sie sich nicht um die "menschlichen Faktoren" kümmern, wird es egal sein, welches Versionskontrollsystem Sie verwenden, Sie werden immer der Helpdesk sein. Um diese Art von Problemen zu lösen, müssen Sie in der Regel Folgendes tun:
- Einrichtung eines Wikis mit gemeinsamen "Rezepten" für Versionskontrollaufgaben.
- Fügen Sie ein Workflow-Diagramm bei, das zeigt, wie Änderungen an Ihrem Code vorgenommen werden (für diejenigen, die nicht gerne lesen).
- Veranstalten Sie eine Schulungsveranstaltung, die speziell auf die speziell für Ihre Benutzer konzipiert ist (verwenden Sie das Wiki Material).
- Wenn Sie jemandem bei einem Problem helfen, sollten Sie ihn dazu bringen, die eigentliche Reparatur durchzuführen. Tun Sie es nicht einfach für ihn, sondern erklären Sie es ihm.
- Achten Sie darauf, dass Sie die Benutzer auf die Produktdokumentation verweisen, wenn Sie ihnen helfen.
Die Einführung eines neuen Versionskontrollsystems in einer Organisation sollte die von mir aufgeführten Punkte beinhalten. Mir ist klar, dass es für diejenigen, die es schaffen, zusätzliche Arbeit bedeutet, aber es erspart Ihnen später lange "Support"-Stunden.
Ich denke, Sie haben die Antwort bereits in Ihrer Frage gegeben - beseitigen Sie die "menschlichen Faktoren", indem Sie entsprechende Schulungen anbieten. Versionskontrolle für die Softwareentwicklung ist nicht viel einfacher als SVN. So wie Ihre Frage formuliert ist, würde ich vermuten, dass besagte menschliche Faktoren einfach andere Wege finden werden, um Ihr Leben interessant zu machen.
Wenn Sie Probleme mit Ihrem Repository haben (z.B. Commits auf Tags, falsche Commit-Meldungen...), ist es am einfachsten, es auf die harte Tour zu machen: Setzen Sie Hooks auf dem Server, um Richtlinien durchzusetzen. Sie können einen Blick werfen in offizielle Dokumentation .
Im Grunde ist dies ein einfacher Weg, um die Benennung / Formatierung zu erzwingen und eine Menge menschlicher Probleme zu vermeiden (Bindung an Tags, Durcheinander mit Externals...)