Laden...

Versionierung von Visual Studio Projekten

Erstellt von Christoph1972 vor 5 Jahren Letzter Beitrag vor 5 Jahren 4.915 Views
Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 5 Jahren
Versionierung von Visual Studio Projekten

Hallo zusammen,

bis vorkurzem war meine Versionierung mittels AnkhSVN direkt in Visual Studio integriert. Die Versionierung läuft/lief auf einem internen Server mit VisualSVN.

Mit dieser Lösung war ich eigentlich immer super zufrieden und hätte sie gerne weiterverwendet. Nur leider funktioniert AnkhSVN nicht mehr mit Visual Studio 2017. Das Problem haben auch andere User und es scheint so, als wenn das Problem nicht angegangen wird. Da es schon lange kein Update mehr von AnkhSVN gab und das Problem schon länger bekannt ist, bin ich nun auf der Suche nach einer neuen Lösung.

Nun meine Fragen:

Kann ich die aktuellen Daten von meinem SVN Server irgendwie integriert im Visual Studio weiter Verwenden? Wenn ja, wie?

Was gibt es für Lösungen die mir die Verwendung eines internen SVN Servers erlauben?

Hat hier jemand Erfahrungen mit TortoiseSVN für Visual Studio? Kann man das auch mit meinem SVN-Server verwenden, oder geht das nur für lokale Repositories?

Vielen Dank schon mal!

Gruß
Christoph

S
324 Beiträge seit 2007
vor 5 Jahren

Ich frage mal ganz kleinlaut: Gibt es einen Grund warum hier noch SVN statt Git genutzt wird?
Git wäre die bessere Alternative was das Tooling angeht (in jeder Vs incl. Code integriert).

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 5 Jahren

Gibt es einen Grund warum hier noch SVN statt Git genutzt wird?

Was passiert mit den Projekten die aktuell auf dem SVN-Server liegen?

Das Einrichten eines lokalen Git-Servers erscheint mir doch recht kompliziert, oder mache ich mir da unnötige Sorgen?

Im Netzt habe ich häufiger die Empfehlung gelesen, dass für einzelne Entwickler SVN vorteilhafter ist, da die Konfiguration und das Handling einfacher bzw. intuitiver sind.

Gruß
Christoph

S
324 Beiträge seit 2007
vor 5 Jahren

Du machst dir unnötige sorgen.
Wenn du Lokal arbeiten möchtest, brauchst du nicht mal einen Server.

Wenn du Server Betrieb haben möchtest, gibt es zahlreiche tools, welche dir das leben leichter machen (gogs.io oder gitea.io oder gitblit.com oder oder oder.. gibt echt viel von dem Kram).

Du kannst auch ohne weiteres ein SVN Repo zu einem Git-Repo incl. Branches und kompletter Historie migrieren.

16.807 Beiträge seit 2008
vor 5 Jahren

Im Netzt habe ich häufiger die Empfehlung gelesen, dass für einzelne Entwickler SVN vorteilhafter ist, da die Konfiguration und das Handling einfacher bzw. intuitiver sind.

Also gerade weil git viel einfacher ist (in der Quellcode-Verwaltung) rät man von SVN ab.
Auf die git Commandline lässt man ja kein neulich los (auch wenn ich die Commandline oft einfacher finde als UI Tools - einfach, weil es ich es gewohnt bin).

Git-Anbieter gibt es zu Hauf auch kostenlos (Visual Studio Team Services, GitLab, BitBucket...).
Aber egal welchen Anbieter man wählt - wenn überhaupt - sind Backups pflicht.

Als UI kann ich die alte(!) Version von SourceTree empfehlen, oder auch TowerGit (mein aktueller Favourite).

6.911 Beiträge seit 2009
vor 5 Jahren

Hallo Christoph1972,

vor ein paar Jahren, bevor ich von SVN zu git migrierte, hatte ich ähnliche Gedanken / Sorgen. Nach der Migration zu git bereute ich nur, dass ich nicht schon früher diesen Schritt vollzogen hatte. git ist v.a. wenn mehrere Zweige im Spiel sind SVN weit überlegen.

Neben der CommandLine nutze ich auch TortoiseGit fürs git-GUI (und manchmal auch den in VS integrierten).

Einen lokalen Server brauchst du bei git auch nicht. Ein git init in einem Ordner reicht und schon ist das Repo einsatzbereit.

Für "Server"-Lösungen gibt es genug Anbieter, siehe die anderen Antworten.

SVN war einmal das Non plus ultra, aber diese Zeiten sind vorbei 😉

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

3.003 Beiträge seit 2006
vor 5 Jahren

Ich frage mal ganz kleinlaut: Gibt es einen Grund warum hier noch SVN statt Git genutzt wird?

Git hat den Fokus auf Integration, svn auf Kollaboration. Klar machen am Ende des Tages beide das gleiche, aber die unterschiedlichen Ansätze machen sich bemerkbar, und für manch einen mag svn angenehmer oder besser in seine Prozesse integrierbar sein. Es ist auch nicht so, dass es nicht mehr entwickelt würde (das betrifft nur AnkhSvn). Außerdem empfinde ich persönlich den Entwicklungsprozess bei Git als komplexer bzw. schwerer zu kapieren, wenn man ihn noch gar nicht kennt.
Hauptsächlich wird der Grund "immer noch" svn zu benutzen, einfach der sein, dass man zufrieden ist und keinen Grund sieht, zu wechseln. Das Tooling halte ich nicht für schlechter als bei git.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

6.911 Beiträge seit 2009
vor 5 Jahren

Hallo LaTino,

Git hat den Fokus auf Integration, svn auf Kollaboration

Wirklich? Gerade für Kollobaration -- für mich das Zusammenarbeiten mehrer Entwickler -- sehe git klar im Vorteil und das zeigen auch die Erfolge von git-Plattformen wit GitHub, etc.
Der Grund liegt im verteilten Konzept von git, während SVN auf Zentralisierung setzt.

dass man zufrieden ist und keinen Grund sieht, zu wechseln.

Genaus so war es bei mir auch, bis ich in die git-Ecke gestupst wurde und seitdem sehr froh über diesen Schritt bin.
Wenn jemand nichts Anderes kennt, so ist leicht mit dem was man hat zufrieden zu sein. Reisen bringt neue Erfahrungen und so lässt sich die Zufriedenheit anders bewerten 😉

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

3.003 Beiträge seit 2006
vor 5 Jahren

Git hat den Fokus auf Integration, svn auf Kollaboration
Wirklich? Gerade für Kollobaration -- für mich das Zusammenarbeiten mehrer Entwickler

Der Satz ist nicht von mir, sondern von einem guten Freund aus dem svn-Kernentwicklerteam bei Apache 😉. Ich stimme ihm da aber zu. Was gemeint ist: natürlich sind beides Tools, die u.a. die Zusammenarbeit mehrerer Entwickler fördern wollen. Aber die Philosophie, wie das erreicht werden soll, ist bei beiden ziemlich unterschiedlich: git legt den Fokus auf die Integration der Änderungen verschiedener Entwickler. Es ist bei git echt leicht, einzelne Änderungen abzuweisen oder rückgängig zu machen. Die meisten Probleme, die mit SVN auftreten, beziehen sich auf genau das - das merging, also die Integration von Änderungen, ist svn etwas hinterher. Git ist stark, solange die Änderungen pro Entwickler atomar sind. Wenn mehrere Entwickler zum selben Problem am selben Stück Code Änderungen vornehmen wollen, wird es hakelig (und so sollte man git auch nicht verwenden). SVN kommt mit so etwas super klar, dort kann und soll man sogar so arbeiten.

Git integriert Änderungen verschiedener parallel an verschiedenen Problemen arbeitender Entwickler besser. SVN unterstützt parallel am gleichen Problem arbeitende Entwickler besser. Soweit ich das beobachten kann, geht der Trend definitiv zu ersterem, weil zweiteres den Bau von Monolithen begünstigt.

LaTino

"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 5 Jahren

Hallo zusammen!

Sorry, ich habe erst jetzt wieder Zeit mich mit Git zu beschäftigen.

Für den Serverbetrieb habe ich mich für gogs.io entschieden, da mir die Homepage von denen am meisten zugesagt hat. Als Datenbank habe ich MSSQL genommen, da diese bereits vorhanden war und regelmäßig gesichert wird. Auf dem Server habe ich Git und gogs installiert und auch konfiguriert. Auf dem Server kann ich lokal per Webbrowser Repositories anlegen und verwalten. Soweit scheint schon mal alles zu laufen.

Nun meine Frage: Wie verbinde ich jetzt VS mit einem Repository? Das geht über den Team-Explorer, oder? Wie muss die Verbindungszeichenfolge aussehen? http://ComputerName//........???

Ich schaffe es leider nicht eine Verbindung aufzubauen, der Server oder das Repository wird nicht gefunden.

Gruß
Christoph

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 5 Jahren

Und die URL sollte dieselbe sein, die du auch über den WebBrowser aufrufst.

Ich versuche es die ganze Zeit mit der selben URL.

Add = "Directory not found"
New = "URI formats are not supported."
Clone = Der Button Clone bleibt immer inaktiv.

Einfach geht bei mir nie! 😄

Gruß
Christoph

16.807 Beiträge seit 2008
vor 5 Jahren

Versuchst Du ein HTTP Repository über SSH zu clonen?

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 5 Jahren

Versuchst Du ein HTTP Repository über SSH zu clonen?

Keine Ahnung, ich füge einfach die URL in dem Team Explorer ein. Add und New habe ich primär versucht, Clone erst später.

Gruß
Christoph

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 5 Jahren

Visual Studio 2017 15.7.4

Die Links sind ja bereits etwas älter, von daher sollte das nicht zutreffen.

So sieht die URL aus: http://ComputerName:3000/

Folgende URLs habe ich eingegeben:

Bei Manage Connections: http://ComputerName:3000

Bei Add: http://ComputerName:3000/Christoph/

Bei Clone:http://ComputerName:3000/Christoph/TestRepository

Mit dem Internet Explorer funktioniert es.

Gruß
Christoph

16.807 Beiträge seit 2008
vor 5 Jahren

Manage Connections ist für TFS/VSTS bzw GitHub, wenn Du die GitHub Extension hast.

Du musst unter Local Git Repository auf "Clone" klicken und dann die Repository URL angeben.
Vermutlich fragt er Dich dann nach Credentials (sofern Du welche hast) und klont dann das Repository.

Oder einfach auf der Kommandozeile:

git clone <repository url>

Christoph1972 Themenstarter:in
212 Beiträge seit 2008
vor 5 Jahren

Du musst unter Local Git Repository auf "Clone" klicken und dann die Repository URL angeben.

Super, vielen Dank für die nette Unterstützung, jetzt läuft es! Ich habe Clone falsch interpretiert, was vermutlich an meiner Vorbelastung mit ANKHSVN liegt. Auch habe ich unten rechts den Button "Add to source control" zu spät gesehen, diesen hatte ich vergeblich im Kontextmenü der Projektmappe gesucht, wie bei ANKH halt. Jetzt muss ich erstmal mit dem Tool einwenig üben. Das was ich bisher gesehen habe, gefällt mir schon mal sehr gut und ich denke das ich damit klar kommen werde.

Also, vielen Dank noch mal an euch!

Gruß
Christoph