Laden...

Suche Versionsverwaltung für .NET UND VB6

Erstellt von GambaJo vor 10 Jahren Letzter Beitrag vor 10 Jahren 8.799 Views
GambaJo Themenstarter:in
105 Beiträge seit 2006
vor 10 Jahren
Suche Versionsverwaltung für .NET UND VB6

Derzeit nutzen wir Microsoft SourceSafe (Version 6) als Versionsverwaltung für unser Produkt. Das Produkt besteht aus einem Kern, der in VB6 programmiert ist, und aus diversen kleineren Projekten, die in VB6 und .NET programmiert sind.

Da SourceSafe alles andere als benutzerfreundlich und aktuell ist, sind wir auf der Suche nach einem neuen Versionsverwaltungssystem. Ich habe mir schon diverse Systeme angeschaut (darunter auch TFS, SVN und Git), allerdings waren alle nicht wirklich geeignet, da man damit den VB6-Code nicht wirklich gut verwalten kann.

SourceSafe hat noch den Vorteil, dass es eine Integration in die IDE für VB6 und ins Visual Studio gibt. Das ist aber nicht so das Problem. Das größte Problem ist, dass das Branchen von VB6-Code mit diesen Systemen nicht möglich ist. Zumindest nicht, ohne manuell Dateien hin und her zu kopieren.

Aber vielleicht hat je jemand eine ähnliche Erfahrung gemacht. VB6 ist ja durchaus noch weit verbreitet.

I
57 Beiträge seit 2011
vor 10 Jahren

Du hast dir Git anscheinend nicht genauer angesehen.
Ich sehe keinen Nachteil bei Git, unabhängig von der Programmiersprache.
Turtoise Git für die Explorer integration und im Studio per Plugin.
Ich verstehe auch nicht wo das Problem beim branchen, speziell bei vb6, sein soll.

16.842 Beiträge seit 2008
vor 10 Jahren

Perforce hat eine (für mich) eigenartige Weise, wie es sich im Checkin verhält(Versionierung pro Datei oder pro Label, nicht pro Gesamtstand).
Aber VB6 soll zu "100%" unterstützt sein, auch in der IDE.

Ich nutze Perforce wie auch TFS/Git - bevorzuge aber allein aufgrund der Bedienung zweiteres.

GambaJo Themenstarter:in
105 Beiträge seit 2006
vor 10 Jahren

Du hast dir Git anscheinend nicht genauer angesehen.

Ich habe da kaum Erfahrung, und Git ist nicht so einfach auf Anhieb zu verstehen. Werde das aber nächste Woche mit einem erfahrenen Git-Benutzer ausprobieren.

Ich nutze Perforce wie auch TFS/Git - bevorzuge aber allein aufgrund der Bedienung zweiteres.

Heißt das, dass Du auch VB6-Code im TFS verwaltest? Wenn ja, wie klappt das mit den Branches?

16.842 Beiträge seit 2008
vor 10 Jahren

Ne, ich mach nur .NET. Aber ich meine, dass einige meiner Kollegen noch VB6 nutzen bzw. genutzt haben.
Ich weiß aber, dass Perforce sich in die VB6 IDE integrieren kann P4: Microsoft Visual Basic
Bezüglich den Funktionen ist das ja sowieso Sprachenunabhängig; wüsste nich, was es da bei VB6 besonderes geben soll. Branches laufen hier eben auf Labels und fertig.

F
10.010 Beiträge seit 2004
vor 10 Jahren

Ich wüsste auch nicht, warum branches mit SVN bei VB6 nicht gehen sollten.

2.207 Beiträge seit 2011
vor 10 Jahren

Hallo zusammen,

SVN sollte ziemlich egal sein, mit was du ankommst (C#, VBx,...). Es gehen branches, merges und und und. Und es ist kostenlos. Hoster dafür wären Zb. "Assembla" und Co. oder eben privat auf deinem NAS 😉 Für VisualStudio wären dann AnkhSVN und dazu TortoiseSVN da. VisualSVN ist, so glaube ich, kostenpflichtig.

Private benutze ich auch für Projekte TFS. Bin begeistert davon. Jedoch alles mit C#. Aber mit VS 2012 klappt das schon sehr gut.

Gruss

Coffeebean

175 Beiträge seit 2010
vor 10 Jahren

Hallo,

auch ich habe so meine Verständnisschwierigkeiten, warum ein Subversion nicht mit VB6 Sourcen klarkommen soll - dem Subversion ist es nämlich fürchterlich Schnuppe, was man ihm für Dateien an den Kopf wirft. Ob das nun C#, VB, Assembler, Java, COBOL oder sonstwas ist, es behandelt alles gleich.

Wie dem auch sei.... Du hast Dir eigentlich die zwei richtigen Kandidaten rausgesucht (zumindest wenn man kein Geld in die Hand nehmen will/kann/darf).

Subversion ermöglicht eigentlich einen recht zügigen Einstieg und ist meist einfach zu bedienen. Es gibt mit TortoiseSVN eine gute Explorer-Integration und verschiedene Add-Ins für Visual Studio (kostenlos ist dann AnkhSvn). Subversion verfolgt den Ansatz, dass es immer einen zentralen Server gibt (also geben muss) den man für Checkouts, Merges und/oder Commits erreichen können muss.

Git ist zur Zeit "der König" der dezentralisierten SCMs (wie gesagt - zumindest bei den kostenlosen Angeboten). Die Lernkurve ist verhältnismäßig hoch, zumindest im Vergleich zu Subversion o. ä., da es halt vom klassischen Client-Server abrückt und daher erst einmal ein Umdenken notwendig ist. Die Kommandozeile ist da auch nicht jedermanns Sache 😉 Aber auch für Git gibt es inzwischen für Windows nette Tools wie z. B. SourceTree oder auch TortoiseGit. Und natürlich gibt es auch eine Integration für Visual Studio, z. B. den Git Source Control Provider oder eine Integration in den Team Foundation Server (die Visual Studio Tools for Git).

Man muss sich halt entscheiden was man will: Will mann auch ohne Verbindung zum Server seine Änderungen am Code committen können (z. B. im Urlaub oder während einer Bahnfahrt)? Dann ist ein dezentralisiertes System wie Git unverzichtbar......

bye,
Michael

Debuggers don't remove Bugs, they only show them in Slow-Motion.

16.842 Beiträge seit 2008
vor 10 Jahren

Für TFS gibts ne kostenlose Cloudversion (http://tfs.visualstudio.com, nutze ich auch, klappt super! - gibts als TFS als auch als TFS+Git und funktioniert mit der Serverkommunikation wie auch als local branch) und auch für perforce als lokale Installation (bis 5? User).

2.207 Beiträge seit 2011
vor 10 Jahren

Stimme ich Abt zu: Das klappt echt gut.

Vielleicht ein wenig offtopic: Die 5 User als Maximum sind erstmal angegeben, weil es noch kein Pricing-Modell gibt. Momentan gehen auch mehr. Wenn eins kommt und man mehr als 5 User drin hat wird wohl eine Mail kommen, von wegen: "Schmeiss alle bis auf 5 raus, sonst kostet es was". Im Moment gehen also auch noch mehr als 5 User.

Gruss

Coffeebean

GambaJo Themenstarter:in
105 Beiträge seit 2006
vor 10 Jahren

Wären mehr Lizenzen notwendig. Aber das ist nicht mein Bier.
Cloud-Lösung wird wohl aber nicht gefragt werden, da das Unternehmen seinen Quellcode ungern nach außen frei gibt.

2.207 Beiträge seit 2011
vor 10 Jahren

Hallo GambaJo,

was spricht dann gegen einen internen SVN-Server?

Gruss

Coffeebean

GambaJo Themenstarter:in
105 Beiträge seit 2006
vor 10 Jahren

Im Prinzip nichts.
Ich meine mich aber erinnern zu können, dass das Mergen dort nicht so einfach war. Eine der wichtigeren Anforderungen ist nämlich, dass man Quellcode-Dateien nicht mehr exklusiv auscheken muss.

GambaJo Themenstarter:in
105 Beiträge seit 2006
vor 10 Jahren

Ok, ich habe noch mal recherchiert.
Git wäre sehr wohl problematisch, da in VB6 die Forms in der Regel aus zwei Dateien bestehen, und eine davon ist binär. Die kann man nicht mergen.
In SVN ginge das, da man für diese eine Regel aufstellen könnte, mit der man diese Dateien exklusiv auscheckt.

Für den TFS gibt es auch ein PlugIn und einen Provider, mit dem die Anbindung VB6 zu TFS klappen würde. Wie das allerdings mit den Branches klappt, steht nirgendwo.

3.511 Beiträge seit 2005
vor 10 Jahren

Also, meine VB6 Zeiten sind unendlich lange her, aber ich kann mich nicht daran erinnern, dass die Forms binär waren. Höchstens die Resourcen-Dateien. Aber sobald es Binär wird, hat man das Problem bei jeder Sprache mit jedem VCS.

Wegen den TFS und Branching: Einfach mal nach "TFS Branching Guide" suchen.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

175 Beiträge seit 2010
vor 10 Jahren

Hi,

ich habe noch nie so richtig mit VB6 programmiert - aber wenn ich mich richtig erinnere, dann werden diese binären Dateien vom Resource Compiler erstellt - sprich, es gibt "leserlichen" Code dazu und nur dieser gehört ins SCM.... Dann kannst Du prima mergen und VB merkt nach dem Merge dass es die Resourcen neu bauen muss....

Bye,
MK

Debuggers don't remove Bugs, they only show them in Slow-Motion.

GambaJo Themenstarter:in
105 Beiträge seit 2006
vor 10 Jahren

Forms bestehen aus *.frm ud *.frx Dateien. Die frx-Dateien sind binär und enthalten leider Informationen, die nirgendwo anders stehen.

In Small guide to using VB6 with TFS 2012 habe ich einen netten Guide für TFS gefunden, allerdings nichts über Branches. Im TFS Branching Guide steht leider auch nichts dazu.

B
357 Beiträge seit 2010
vor 10 Jahren

Vom TFS gibts auch eine lokale und kostenlose Express-Variante, die etwas eingeschränkt ist (nur SQL Server Express, keine SharePoint- oder Reportintegration, nur 5 Benutzer...). Nutze ich bisher, werde aber in Kürze auf die größere Version umsteigen. Allerdings habe ich das beschriebene Problem nicht mit binären Dateien - und ich verstehe es auch nicht so recht. Irgendwo müssen diese binären Dateien ja generiert werden, und zwar aus lesbaren Dateien. Und nur diese gehören in die Versionsverwaltung.

3.511 Beiträge seit 2005
vor 10 Jahren

Die frx Dateien werden aus den frm Dateien erzeugt und gehören definitiv nicht in ein VCS.

Was genau willst du zum TFS Branching wissen?

Ehrlich gesagt hab ich das Gefühl, dass ihr selbst SourceSafe bis jetzt "falsch" genutzt habt, und ihr jetzt versucht den falschen Weg fortzusetzen.

"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)

731 Beiträge seit 2006
vor 10 Jahren

Hi.

Falls du dich bei git nicht mit der Kommandozeile rumschlagen willst (was ich aber jedem empfehlen würde), dann kannst du auch git extensions benutzen. Es handelt sich um eine sehr gute grafische Oberfläche und die Visual Studio Integration ist gleich mit dabei.

MfG
wax

S
145 Beiträge seit 2013
vor 10 Jahren

Was ich mich eher frage, wielange wollt ihr euch nocht mit VB6 beschäftigen?

Versteht mich nicht falsch wir auf Arbeit verwenden selbst noch VB6 in vielen Modulen, müssen aber bereits auf VMWare oder VirtualPC mit WinXP zum proggem auf VB6 immer umsteigen.
Da Microsfot die COM GUID vom ADODB änderte.
(Sry bin da eher temporärer mit beteiligt, falls ich nicht ganz richtig liege)

Ansonsten haben wir bei uns natürlich auch mit branchen rum experementiert, aber im Grund finde ich VSS immer noch mit am besten.
Auch wenn wir branchen für uns selbst nicht nutzen da doch jeder seine eigenen Projekte hat.
Oder es gibt halt absprachen.
TFS Workshop stand bei uns auch schon im Raum, aber da war der Nutzen-/Kostenfaktor nicht gerade hoch.

Im Grund will ich blos sagen, ich würde die entscheidung ev. nicht zu sehr von VB6 abhängig machen.