AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Subversion und VisualSVN für Ein-Mann-Entwicklung

Subversion und VisualSVN für Ein-Mann-Entwicklung

Ein Thema von Harry Stahl · begonnen am 5. Nov 2016 · letzter Beitrag vom 14. Nov 2016
Antwort Antwort
Seite 1 von 13  1 2311     Letzte » 
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.164 Beiträge
 
Delphi 10.4 Sydney
 
#1

Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 14:59
Ich habe mich bislang nicht mit dem Thema Subversionsverwaltung beschäftigt, frage mich aber, ob ich nicht auch als Einzelperson von der Subversionsverwaltung profitieren kann.

Und zwar unter dem Aspekt, dass ich im Netzwerk mal an unterschiedlichen PC's die gleichen Projekte (zu Testzwecken) verwalte, bzw. von Unterwegs (auf Reisen) mit einem Notebook vor Ort gerne mal ein Projekt weiter bearbeiten möchte, so dass ich dann nach Rückkehr an meinem Hauptentwicklungs-PC die Änderungen aus dem Repository übernehmen kann.

Habe mir dazu auf meinem Strato-Webserver (Windows 2012 Server) das Programm VisualSVN eingerichtet und mir dort Repositories angelegt. Als SVN unter Delphi nutze ich Subversion.

1. Dazu schon mal direkt eine Frage zu den Benutzern:

Sollte ich (obwohl ich ja nur eine Person bin) mehrere Benutzer einrichten und diese Identitäten dann jeweils von den anderen PC's aus nutzen?
Oder nur einen Benutzer?

2. Dann eine Frage zu den globalen / geteilten Units, die in unterschiedlichen Projekten verwaltet werden. Wie bindet man die richtigerweise ein?

Das Subversionssystem übernimmt offensichtlich nur alle Dateien aus dem Projektverzeichnis und aus den Unterverzeichnissen.

Ich habe es jetzt erst mal so gelöst, dass ich ein Dummy-Projekt mit den geteilten Units angelegt habe. Das binde ich dann immer in die Projektgruppe ein und poste Änderungen dann über das Dummy-Projekt. So komme ich auch an anderen PC's an die Shared units. Scheint mir aber ein wenig umständlich zu sein. Gibt es dafür keine bessere Lösung?

3. Prinzipiell würde mich auch das Thema "Branches" interessieren. Mir geht es hin und wieder schon mal so, dass ich ein Programm in eine bestimmte Richtung entwickle, dann aber einen großen Teil oder fast alles wieder verwerfe und dann ist es manchmal recht umständlich wieder auf die gewünschte Ausgangsversion zurückzukommen, bzw. vielleicht möchte man ja einen Teil der Arbeit in die alte Ausgangsversion übernehmen.

Wie macht man das? Wie sage ich Delphi, dass die aktuelle Arbeit jetzt Teil eines variablen Zweigs sein soll? Indem ich es erneut in den Braches-Ordner poste? Muss ich mir dort selber Unterordner anlegen?

4. Nutzt das auch jemand von Euch als Einzelperson, welche Erfahrungen habt ihr damit gemacht?
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 16:06
ob ich nicht auch als Einzelperson von der Subversionsverwaltung profitieren kann.
Auf jeden Fall! Wie hast du es denn bisher ohne ausgehalten?

Aber tu dir bitte einen Gefallen: Nimm gleich Git, nicht Subversion. Ist mittlerweile eigentlich der Industriestandard und hat Subversion abgelöst, und das nicht ohne Grund. Es lässt sich deutlich besser damit arbeiten, vor allem wenn man mehrere Branches hat oder an mehreren Rechnern gleichzeitig arbeitet, aber auch sonst ganz allgemein. Es hat zwar am Anfang eine recht steile Lernkurve, aber es ist besser, gleich damit anzufangen, als erst noch Subversion zu lernen. Wahrscheinlich sind die Konzepte von Git am Anfang auch weniger verwirrend, wenn man nicht durch andere Versionskontrollsysteme wie Subversion, die etwas anders funktionieren, bereits vorbelastet ist. Wenn du Git erst mal beherrscht, willst du nie wieder zurück.

Ich werde deine Fragen mal für Git beantworten:

1. Dazu schon mal direkt eine Frage zu den Benutzern:

Sollte ich (obwohl ich ja nur eine Person bin) mehrere Benutzer einrichten und diese Identitäten dann jeweils von den anderen PC's aus nutzen?
Oder nur einen Benutzer?
Ich würde immer die gleiche Identität nehmen. Du bist ja schließlich auch immer die gleiche Person, egal an welchem Rechner du gerade arbeitest.

2. Dann eine Frage zu den globalen / geteilten Units, die in unterschiedlichen Projekten verwaltet werden. Wie bindet man die richtigerweise ein?
Git Sub-Modules wären eine Möglichkeit. (Nur der Vollständigkeit halber: Unter Subversion gibt es sowas ähnliches, nennt sich svn:externals.)

3. Prinzipiell würde mich auch das Thema "Branches" interessieren. Mir geht es hin und wieder schon mal so, dass ich ein Programm in eine bestimmte Richtung entwickle, dann aber einen großen Teil oder fast alles wieder verwerfe und dann ist es manchmal recht umständlich wieder auf die gewünschte Ausgangsversion zurückzukommen, bzw. vielleicht möchte man ja einen Teil der Arbeit in die alte Ausgangsversion übernehmen.

Wie macht man das? Wie sage ich Delphi, dass die aktuelle Arbeit jetzt Teil eines variablen Zweigs sein soll? Indem ich es erneut in den Braches-Ordner poste? Muss ich mir dort selber Unterordner anlegen?
Unter Git, indem du einfach auf den (neuen) Branch wechselst und dann deine Änderungen dort committest.
Code:
git checkout -b neuer-branch
git add -u
git commit
(Du bist dann dauerhaft auf diesem Branch, also wenn du danach wieder zurück zum Haupt-Branch willst, dann musst du anschließend noch mal git checkout master ausführen)

Interessant ist auch git add --patch , wenn man nur einen Teil der Änderungen committen will. Ich weiß nicht ob es nur mir so geht, aber ich arbeite oft an mehreren Baustellen gleichzeitig. Habe z.B., während ich ein neues Feature implementiert habe, gleichzeitig noch an einer anderen Stelle einen Bug gefunden und gefixt. Mit git add --patch kann ich beides sauber trennen.

Auch interessant ist git rebase , um Commits nachträglich umzusortieren oder in andere Branches zu übernehmen. Aber das ist eher was für Fortgeschrittene. Als Anfänger würde ich die Finger davon lassen, auch weil man sonst versehentlich Commits ins Nirwana schicken kann (lassen sich zwar in der Regel wiederherstellen, aber die Panik ist nicht so schön. Ich weiß wovon ich rede).

Lies auf jeden Fall ein Git-Tutorial.

4. Nutzt das auch jemand von Euch als Einzelperson, welche Erfahrungen habt ihr damit gemacht?
Siehe oben. Ja! Ich kann es mir ohne gar nicht mehr vorstellen. Dabei verwende ich meistens nicht mal mehrere Rechner. Der größte Vorteil ist, dass es einem Sicherheit für Experimente gibt, wenn man weiß, dass man jederzeit zu einem vorherigen Stand zurückgehen kann. Auch habe ich festgestellt, dass es oft hilfreich ist, wenn man länger an einer Sache nicht arbeiten konnte und nicht mehr weiß, was man zuletzt gemacht hat. Man kann sich dann einfach mal die letzten Änderungen anschauen, die man gemacht hat, und findet so schneller wieder rein.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.766 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 16:06
Moin Harry...

Mir ist es einfach nur schleierhaft wie du bisher ohne Versionskontrolsytem auskommen konntest...

Deine Fragen vereinfacht:
1. Normalerweise nur ein Benutzer. Wenn du wissen willst von welchem Computer (Identität) du eingecheckt hast, kann kannst du verschiedene Identitäten anlegen.
2. Du bindest die Units wie gewohnt ein. Hilfreich ist eine Ordnerstruktur z.B. Global / Projekt1 / Projekt2 usw.
3. Branches: Ich mache nur einen Branch für fertige Versionen. Das jeder halten wie er will...
4. Ausschließlich als Einzelversion. Ich möchte es nicht mehr missen.


Geändert von haentschman ( 5. Nov 2016 um 16:39 Uhr)
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#4

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 16:09
Zitat:
Mir ist es einfach nur schleierhaft wie du bisher ohne Verionskontrolsytem auskommen konntest...
Mir ist schleierhaft, wie man ein solches System zur Pflicht erklären kann

Ich mache täglich ein paar dutzend ZIP Backups meines Projektes. Natürlich alles automatisiert.
Wenn ich zu einer alten Version zurück möchte, weiß ich immer ganz genau wo die sind - auf der Festplatte in einem ZIP-Archiv.
Zum Vergleichen der Sourcen benutze ich BeyondCopare. ist ja schließlich bei der IDE dabei.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.522 Beiträge
 
#5

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 16:10
Also ich bin da voll bei Namenloser.

Der Gag ist vor allem, dass man Git auch komplett ohne Server rein lokal nutzen kann. Subversion war zwar damals (so vor 10 Jahren oder so ) ganz nett, aber heutzutage will man sich den Overhead nicht mehr antun.
Sebastian P.R. Gingter
不死鳥 Visit my Blog.
Do not argue with an idiot. They lower you to their level and then try to beat you with experience.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.766 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 16:36
Moin...
Zitat:
Also ich bin da voll bei Namenloser.
...ich nicht.

Ich liebe es das ganze über eine altbekannte Struktur benutzen zu können...ohne irgendwelche Konsolenbefehle. Auch wenn der Server "nicht online" ist kann ich kann ich weiterarbeiten. Beim nächsten "online" wird halt eingecheckt. Das Argument greift bei mir nicht.
PS: Ich habe mich noch nicht wirklich damit beschäftigt...z.b. ich weiß nicht wo die Daten (QT) liegen. Ein eigener Server im lokalen Netz (von außen erreichbar) ist mir lieber.

Geändert von haentschman ( 5. Nov 2016 um 16:40 Uhr)
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 16:38
Versionskontrollpflicht: +1

Git over Subversion: +1

  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.164 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 16:59
Hey, vielen Dank erst mal an Euch für die Antworten!!

Scheine ich ja wirklich bislang was verpasst zu haben...

Ich habe jetzt erst mal mit Subversion angefangen, weil das ohne zusätzlich irgendwas einrichten zu müssen, funktioniert hat.
Bin aber erst im Testmodus, ist also noch keine endgültige Entscheidung, Git werde ich mir dann auch ansehen.

Wobei ich gestehen muss, dass ich nach wie vor kein großer Freund der Konsole bin (obwohl mein Haupt-Entwicklungssystem ja inzwischen mit Ubuntu bootet und ich inzwischen so einiges mit Linux mache), aber wenn der Mehrwert es rechtfertigt, wäre ich dazu natürlich bereit...

Wo gibt es denn ein gutes GIT-Tutorial? (Gerne auch ein Youtube-Video oder so).
Das kann ich aber auch auf dem Webserver laufen lassen (wo kriegt man das GIT-Server-Programm)? Denn nur so kann ich ja den Plan realisieren, unterwegs (stundenlang im Zug oder abends im Hotelzimmer) auf meine Repository zugreifen zu können und mir den letzten Arbeitsstand auf das Notebook zu holen und dann wieder in der Repository zu aktualisieren.

Wie ich schon feststellte, muss man dann allerdings auch peinlich darauf achten, dass alle Delphi-Installationen mit den gleichen Paketen und dem gleichen Versions-Stand der Komponenten ausgestattet sind...

Gibt es noch Fürsprecher für Subversion?
Gibt es Fans von Mercurial, was ja auch in Delphi 10.1 integriert ist?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.199 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 17:06
Ich habe beides mal versucht, aber bin damit nicht klar gekommen - und lieber bei Sicherungen in Zips (auch eigene Lösung) geblieben.

Nachdem hier diese Thread gestartet wurde habe ich mir vorgenommen, nochmal Tutorials bei Video2Brain anzuschauen.
Da hatte ich aber auch schon mal welche abgebrochen, weil mir das zu theoretisch vorkam.

Harry, gib mal bescheid, für was Du Dich dann entscheidest...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.164 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Subversion und VisualSVN für Ein-Mann-Entwicklung

  Alt 5. Nov 2016, 17:07
Ein eigener Server im lokalen Netz (von außen erreichbar) ist mir lieber.
Hast Du dafür einen EXTRA-PC als Server eingerichtet, wo dann auch der SVN-Server läuft (welchen nutzt Du?) oder ist es Dein Entwicklungs-PC, den Du dann von außen erreichen kannst (per Port-Weiterleitung)?

Ist das dann noch performant genug? Gerade auch, wenn es um Upload geht, sind die Webserver doch i.d.R. um einiges schneller.

Mein "Super-Duper" Telekom-Internet verabschiedet sich hin und wieder auch mal (alle 1-3 Wochen), so dass der Router neu gestartet werden muss, wäre doof, wenn ich da gerade unterwegs bin.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf