Sollte ein Entwickler VSS verwenden dürfen, wenn er es vorzieht?

14

Ich stellte Mercurial meiner Abteilung vor. Ich liebe es, aber es ist meine erste Erfahrung in der Versionskontrolle. Ich benutze es mit NetBeans PHP für die Webentwicklung.

Ein anderer Entwickler, der an unternehmensinternen Anwendungen arbeitet, verwendet Visual Source Safe und möchte nicht wechseln. Er arbeitet in einer Visual Studio-Umgebung.

Bis auf diesen haben sich alle anderen Entwickler bei Mercurial eingekauft. Zum größten Teil arbeiten wir alle ziemlich unabhängig.

Ich versuche, diese Abteilung in die richtige Richtung zu bewegen. Ich habe alle mit einem Konto bei Kiln eingerichtet. Ich hatte gehofft, dass jeder, der Fogbugz verwendet, auch die Straße runter kommt (da derzeit keine Bug-Datenbank gepflegt wird) Ich habe VSS nie benutzt, aber ich höre sehr schlechte Dinge darüber.

Wäre es besser, ihm zu erlauben, VSS weiterhin zu verwenden, wenn er dies vorzieht, oder wäre es im besten Interesse, ihn bei Mercurial einzubeziehen?

JD Isaacks
quelle
Vielleicht finden Sie stackoverflow.com/questions/961878/… interessant.
Ein Entwickler, der sein eigenes privates VCS verwendet, steht einem Entwickler gefährlich nahe, dessen Code nicht ordnungsgemäß gesichert wird. Ich hoffe, Sie machen (off site!) Backups Ihres Mercurial-Repositorys. Das deckt alle bis auf einen von euch ab. Tun Sie dasselbe für das VSS-Repository? Wenn bei diesen Sicherungen etwas schief geht, würde jemand dies bemerken? Etc.
Derobert
8
Es ist wie ein Entwickler, der zum Programmieren auf einem Toilettensitz sitzen möchte, während der Rest der Mitarbeiter Stühle benutzt.
Muhammad Hasan Khan
1
Beruhige Leute ('-') VSS ist nicht so schlimm! Ich habe mit VSS angefangen. Obwohl ich VSS nicht mehr benutze, kann ich es nicht so schlecht machen, wie die Leute es ausmachen (es ist auch nicht großartig). Dachte, ich hätte eine Art Gleichgewicht ...
Darknight

Antworten:

50

Wäre es besser, ihm zu erlauben, weiterhin vss zu verwenden, wenn er dies bevorzugt?

Nein. Es hat keinen Sinn, zwei verschiedene Quellcodeverwaltungssysteme parallel zu betreiben. Dies widerspricht der Vorstellung, dass alle Entwickler mit demselben Repository verbunden sind und alle Vorteile daraus ziehen.

Ein einzelner Entwickler, der nur ein anderes System verwendet, isoliert sich effektiv vom Team. Auch wenn sich Projekte nicht kreuzen, ist es immer noch eine schlechte Sache.

Ein weiteres Argument ist der doppelte Wartungsaufwand für beide Systeme.

Ich denke, Sie sollten Ihre Autorität nutzen oder das Problem an das Management weiterleiten, um den Inhalt schnell von VSS zu Mercurial zu migrieren und dann VSS herunterzufahren.

PS Da wir gerade von VSS sprechen, ist es berüchtigt, Check-ins zu verlieren oder Code anderweitig zu beschädigen, wenn Sie es am wenigsten erwarten. Es funktioniert, geht aber regelmäßig auf die Nerven. Wenn Sie eine bessere Alternative haben, vermeiden Sie VSS.


quelle
42
NIEMAND sollte VSS unter allen Umständen verwenden. Der Name ist eine Lüge. In VSS ist nichts sicher.
CaffGeek
17
Stimmen Sie dem zu und möchten Sie etwas hinzufügen, was wir gelernt haben: Die Verwendung von VSS bietet keinen Vorteil, der nicht schnell durch den größeren Vorteil der Nichtverwendung von VSS ausgeglichen wird.
Ben Hoffstein
+1 Danke, das habe ich mir auch gedacht, ich wollte nur, dass andere Beiträge schreiben, bevor ich eine Ausgabe davon mache.
JD Isaacks
2
@ Ben: wird tun, und wenn die Leute fragen "Wer ist Hoffstein?" Ich werde sie
anstarren
2
Würden Sie die gleiche Antwort geben, wenn das Team SourceSafe oder TFS oder SVN verwendet und der Schurkenentwickler Git oder Mercurial verwendet?
Kyralessa
16

Ich würde niemals in Betracht ziehen, einem Schurkenentwickler die Verwendung eines anderen Versionsverwaltungssystems als dem Rest des Teams zu gestatten.

Die Quellcodeverwaltung ist nicht nur so, dass ich frühere Versionen von dem finden kann, was ich getan habe, sondern auch andere (und die aktuelle Version). Dies ist nicht verhandelbar. Was passiert, wenn er verlässt oder von einem Bus überfahren wird und niemand sonst Zugang zu seinem Code hat (der möglicherweise sogar von Netzwerkadministratoren überschrieben wird, wenn sie seinen Computer löschen, ohne zu wissen, dass er dort eine eigene Quellcodeverwaltung hat?

Ich gehe davon aus, dass sich sein Quellcode möglicherweise nur auf seinem Computer befindet, da sonst niemand VSS verwendet.) Ein Entwickler, der so etwas sogar vorschlägt, ist nicht professionell und würde mich seiner Arbeit gegenüber misstrauisch machen. Was will er nicht, dass der Rest von dir es sieht?

Auch VSS ist notorisch fehlerhaft. Sein Code ist dort nicht einmal sicher.

HLGEM
quelle
10

Zunächst sollte niemand VSS verwenden.

Weisen Sie Ihren Entwickler an, ein Mercurial-Plugin für Visual Studio zu erwerben.

Dima
quelle
Hast du Erfahrung mit besagtem Plugin?
Ich habe es benutzt - es funktioniert gut.
MetalMikester
@ Thorbjørn Ravn Andersen: Nein. Wir arbeiten mit Subversion.
Dima
1
Ohne eine Erklärung kann diese Antwort für den Fall unbrauchbar werden, dass jemand anders eine gegenteilige Meinung äußert. Wenn beispielsweise jemand eine Behauptung wie "Jeder sollte aufgefordert werden, zunächst VSS zu verwenden. Vermeiden Sie auf jeden Fall die Verwendung des Mercurial-Plugins für Visual Studio." , wie würde diese Antwort dem Leser helfen, zwei gegensätzliche Meinungen zu treffen? Überlegen Sie , ob Sie es in eine bessere Form bringen
möchten
3

Jeder sollte sich auf demselben Quellcodeverwaltungssystem befinden. Außerdem ist es Ihr oberstes Ziel, auch alle auf das gleiche Bug-Tracking-System zu bringen. Sie haben bereits das Richtige getan, um eine eng integrierte Lösung zu finden.

Wenn Sie Schwierigkeiten haben, sie zum Wechseln zu bewegen, versuchen Sie es von einem Karriere-Standpunkt aus. Wenn sie künftig an einem anderen Ort arbeiten, wird dieser potenzielle Arbeitgeber wahrscheinlich Erfahrung mit einem integrierten Setup für Fehler- / Quellcodeverwaltungsanwendungen haben wollen.

Mat Nadrofsky
quelle
1
+1, aber ich bin mir nicht sicher, ob das ein Verkaufsargument ist. Ich habe weit mehr Unternehmen gefunden, die entweder keine Ahnung hatten, was Quellcodeverwaltung ist, VSS für das A und O der Quellcodeverwaltung hielten oder die Quellcodeverwaltung nur unzureichend verwendeten, als diejenigen, die ein integriertes Setup wünschen. Zum Teufel, die meisten von denen, die ich gesehen habe, haben nicht einmal Bug-Tracking-Apps verwendet oder hatten ein eigenes "Task-System", das extrem einfach war.
Wayne Molina
+1 zu deinem Kommentar. Ich sehe die Welt wieder durch rosarote Brillen und Jobs, die auf Stack Careers veröffentlicht wurden. Du hast recht. Sogar unser Laden hatte das Zeug nicht, bis das Team, mit dem ich zusammenarbeite, vor ungefähr 4 Jahren anfing, dafür zu bellen.
Mat Nadrofsky
3

Ich werde wiederholen, was andere gesagt haben, da es schlecht ist, ihm zu erlauben, VSS und nicht Mercurial zu verwenden. Lassen Sie mich jedoch Devil's Advocate spielen und sagen, dass Sie es zulassen können, wenn und nur dann, wenn er sich immer noch für Mercurial einsetzt, damit andere bei Bedarf auf seine Arbeit zugreifen können. Es ist IMO nichts auszusetzen, wenn Sie Ihre bevorzugten Tools verwenden, solange Sie andere nicht daran hindern, auf die Arbeit zuzugreifen, die sie möglicherweise benötigen. Natürlich ist VSS Müll, also sollte es nicht verwendet werden, egal was :)

Zum Beispiel arbeite ich in einem Unternehmen, das SVN verwendet, aber das Repository nicht richtig eingerichtet hat (keine Zweige / Tags / Trunk, alles wird nur unter einem Repository abgelegt) und dies verursacht einige Probleme, die niemand zu beheben weiß. Ich würde in meinem Fall kein Problem sehen, wenn ich Git lokal verwenden würde, aber immer noch git-svn verwende, um meine Sachen an SVN zu senden, damit der Rest des Teams es hat. Ist das sinnvoll?

Wayne Molina
quelle
Ja, das macht Sinn, aber Sie sollten auch erwägen, Ihre Teamkollegen über die Vorteile von Git gegenüber SVN aufzuklären
JD Isaacks
100% einverstanden, und glauben Sie mir, ich würde es versuchen, aber sie sind irgendwie ... auf ihre Weise eingestellt. Ich werde es so ausdrücken. Sie schreiben .NET 3.5, als ob es .NET 1.1 wäre. Kein LINQ, keine neuen Funktionen, nicht einmal Generics. Wir haben ein paar Leute, die versuchten, uns dazu zu bringen, von SVN zu VSS zu wechseln und VSS als besser anzukündigen (leider ist einer von ihnen der Entwicklungsmanager, aber zum Glück haben wir diesen Weg noch nicht eingeschlagen ...).
Wayne Molina
Sie sollten ihn dazu bringen, hier auf programmers.stackexchange.com nach "VSS" zu suchen . Ich denke, das würde ihn abschrecken ...
Ehrfurcht
0

Es ist nicht gut, einen Entwickler mit einem anderen Versionsverwaltungstool zu haben. Ein Zweck der Quellcodeverwaltung besteht darin, die Teamarbeit zu verbessern. Und er verstößt gegen diese Regel und kann später viel Ärger verursachen, obwohl Sie in letzter Zeit ziemlich unabhängig arbeiten. Fragen Sie ihn, warum er VSS bevorzugt, und erklären Sie ihm die Nachteile dieser Arbeitsweise.

Jalousie
quelle