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
Thema durchsuchen
Ansicht
Themen-Optionen

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 5 von 13   « Erste     345 67     Letzte »    
mse1

Registriert seit: 21. Nov 2007
115 Beiträge
 
#41

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

  Alt 6. Nov 2016, 11:23
Ich habe nicht den ganzen Thread gelesen, bin aber platt, dass es möglich sein soll ohne Versionskontrolle professionell Software zu entwickeln. Meiner Meinung nach ist auch für das kleinste Hobbyprojekt die Verwendung von Git oder einem anderen tauglichen VCS eine grosse Erleichterung. SVN ist eher nicht tauglich IMHO...
Für Git gibt es das in Free Pascal geschriebene MSEgit Frontend. Das habe ich gemacht, um ein Werkzeug zu erhalten, welches für meine Aufgaben das Maximum an Produktivität und Bequemlichkeit bietet und da alle erhältlichen GUIs meine Wünsche nicht befriedigen konnten.
Ein geändertes Projekt sieht dann z.B. aus wie "modified.png". Mit 'git'-'Commit/Stage/Unstage all (Ctrl+O)' kann der Projektstand in einem Schnappschuss festgehalten werden ("commit.png").
Jeder Projektzustand erhält einen zugeordneten Hashwert (SHA,Quersumme), welche zusammen mit dem Hashwert des Vorgängerzustandes abgelegt wird. Im Beispiel ist der SHA f9870430c6b809667e418748a2c9b1f13828651c, der des Vorgängers ('Parent') 94d840349de35a917a2688865614781a8fdf3cd4 ("committed.png"), dabei kann man die Änderungen nochmals in aller Ruhe überprüfen.
Die gesamte Kette der Projektzustände ist im Projektverzeichnis im Unterverzeichnis ".git" abgelegt; es kann jeder beliebige Zustand aus dem ".git" in das Projektverzeichnis zurückgeholt werden.
Wenn man also z.B. den Verdacht hat, mit der letzten Änderung einen Bock geschossen zu haben, kann man durch Auswählen einer Zeile im Log und RightClick-'Checkout' ein früherer Zustand zurückholen.
Zustände können Namen erhalten. Eine Zusammenhängende Zustandskette mit Namen nennt man Branch. Es gibt Möglichkeiten um Änderungen von einer Branch in andere Branch zu Übertragen.
Zustände können auch in andere git Repositories übertragen werden (push) oder von anderen Repositories ins Projekt-git-Archiv geholt werden (fetch). Die grünen Pfeile in "committed.pdf" bezeichnen Dateien, welche noch nicht in das Aktuelle remote-git-Repository übertragen wurden.
Viele meiner Projekte sind in GitLab öffentlich gemacht:
https://gitlab.com/groups/mseide-msegui
Für interne Projekte verwende ich als Backup und Netzwerk Repository Gitolite
http://gitolite.com/gitolite/index.html
MSEgit gibt es hier:
https://sourceforge.net/projects/mse.../files/msegit/
das Projekt ist hier:
https://gitlab.com/mseide-msegui/mse...r/tools/msegit
Miniaturansicht angehängter Grafiken
modified.jpg   commit.png   committed.jpg  
Martin Schreiber

Geändert von mse1 ( 6. Nov 2016 um 11:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#42

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

  Alt 6. Nov 2016, 11:51
Ein geändertes Projekt sieht dann z.B. aus wie "modified.png". Mit 'git'-'Commit/Stage/Unstage all (Ctrl+O)' kann der Projektstand in einem Schnappschuss festgehalten werden ("commit.png").
Die Ansichten finde ich total unübersichtlich. Dass man bei solchen Fenstern als VCS-Einsteiger keine Lust mehr hat, kann ich absolut nachvollziehen. Da habe ich selbst ja auch schon keine Lust mehr mir das anzuschauen.

Da finde ich die Fenster und Ansichten aus meinen Screenshots mit TortoiseGit deutlich besser:
http://www.entwickler-ecke.de/topic_...it_115462.html

Finde ich sehr Schwach dieses Argument. Wenn etwas plötzlich nicht mehr funktioniert, weiß man in der Regel wo man kürzlich dran gearbeitet hat.
Das hilft dir aber auch nur bedingt, wenn du nicht einfach die thematischen einzelnen Änderungen durchgehen kannst, sondern lediglich mehrere Versionsstände auf Dateiebene miteinander vergleichen kannst.
Natürlich kann man auch so vergleichen, es ist aber ein Vielfaches umständlicher.

Auch das sollte einem normalerweise nicht passieren und ist mir in mittlerweile 9 Jahren nicht passiert.
Zumindest hast du es nicht bemerkt. Da du beim Abschicken der Änderungen keine Prüfung durchführst, kannst du es ja gar nicht merken, außer wenn du irgendwann merkst, dass etwas nicht mehr geht. Da du die letzten Änderungen an der Stelle aber auch wiederum dann später gar nicht zur Verfügung hast, kannst du auch wiederum nicht so einfach feststellen, dass das Problem bei einer bestimmten Änderung eingebaut wurde.

Meine ZIP-Archive sind auch an einer definierten Stelle =)
Das Argument passt bei dir nicht, nein.

Ebenfalls ein schwaches Argument wie ich finde. Man sollte seinen Code schon kennen.
Das kommt eben auf die Projektgröße an. Weder bei meinen beruflichen noch bei meinen privaten Projekten kann ich den Code auswendig kennen, weil der Quelltext schlicht zu umfangreich ist. Und schon gar nicht Jahre später noch wissen was wie läuft.
Sebastian Jänicke
AppCentral

Geändert von jaenicke ( 6. Nov 2016 um 11:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#43

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

  Alt 6. Nov 2016, 11:56
Ich habe hier zu Git mal eine kurze Einführung mit Screenshots geschrieben (wirklich nur kurz zum Einstieg):
http://www.entwickler-ecke.de/topic_...it_115462.html
Zum Server bin ich leider noch nicht gekommen...
Danke, das ist sehr hilfreich.

Auch Dein Tutorial zu Subversion hätte mir eine Menge Raterei erspart, wenn ich es schon gekannt hätte...

In Fakt sieht es aber so aus, als ob alle Leute, die Versionsverwaltung machen, NICHT die Integration in Delphi verwenden, um die Änderungen zu posten oder zu holen, oder sehe ich das falsch?
  Mit Zitat antworten Zitat
mse1

Registriert seit: 21. Nov 2007
115 Beiträge
 
#44

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

  Alt 6. Nov 2016, 12:01
Die Ansichten finde ich total unübersichtlich.
Selbstverständlich kann man sich bei MSEgit die Fenster einrichten wie man will. Wie hättest du es denn gerne?
Martin Schreiber
  Mit Zitat antworten Zitat
mse1

Registriert seit: 21. Nov 2007
115 Beiträge
 
#45

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

  Alt 6. Nov 2016, 12:06
In Fakt sieht es aber so aus, als ob alle Leute, die Versionsverwaltung machen, NICHT die Integration in Delphi verwenden, um die Änderungen zu posten oder zu holen, oder sehe ich das falsch?
Ich finde die Integration alles und jedes in eine IDE keine gute Idee. Dadurch entsteht ein unhandliches fehleranfälliges Monster das so kompliziert zu programmieren ist, dass man bei der Qualität, Funktionsumfang und Usability zwangsläufig Abstriche machen muss.
Martin Schreiber
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#46

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

  Alt 6. Nov 2016, 12:08
Doppelter Post (gelöscht)
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
599 Beiträge
 
Delphi XE6 Enterprise
 
#47

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

  Alt 6. Nov 2016, 12:25
Ich nutze jetzt seit ca. 10 Jahren Subversion in Form von TortoiseSVN. Davor habe ich ZIP-Archive gemacht. Was ich als riesigen Vorteil gegenüber den ZIP-Archiven sehen, ist, dass ich beim Einchecken von Änderungen einen Kommentar hinterlegen kann (z.B. sowas wie "Anforderung #4711 - Schriftart in den Buttons fett" oder so). So kann ich auch noch Jahre später sehen, was gemacht wurde, ohne jedesmal in die Diffs sehen zu müssen.

Meine Struktur ist so: jede Projektgruppe ein Archiv, und zusätzlich ein Archiv für einen "LIB"-Ordner, in dem gemeinsame Bibliotheken liegen. Jede Projektgruppe besteht aus einzelnen Ordnern für die Unterprojekte, und auch dort einem "LIB"-Ordner für alles, was für alle jeweiligen Unterprojekte gemeinsam benötigt wird (z.B. auch fr3-Reportdateien).

Die ganze Entwicklung läuft auf 2 peer-to-peer vernetzten Rechnern, ein Server und ein "VM-Server" mit VMs für jede Entwicklungsumgebung und für jeden Testrechner.
  Mit Zitat antworten Zitat
Jim Carrey
(Gast)

n/a Beiträge
 
#48

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

  Alt 6. Nov 2016, 12:43
Zitat:
Natürlich kann man auch so vergleichen, es ist aber ein Vielfaches umständlicher.
Da ist garantiert was dran und das bestreite ich nicht.

Zitat:
Das kommt eben auf die Projektgröße an. Weder bei meinen beruflichen noch bei meinen privaten Projekten kann ich den Code auswendig kennen, weil der Quelltext schlicht zu umfangreich ist. Und schon gar nicht Jahre später noch wissen was wie läuft.
Mein aktuelles Projekt hat derzeit ohne Leerzeilen 56.000 Zeilen.
Das ist nicht sonderlich viel aber ich weiß immer ganz genau was ich wo finde.

Zitat:
Was ich als riesigen Vorteil gegenüber den ZIP-Archiven sehen, ist, dass ich beim Einchecken von Änderungen einen Kommentar hinterlegen kann (z.B. sowas wie "Anforderung #4711 - Schriftart in den Buttons fett" oder so). So kann ich auch noch Jahre später sehen, was gemacht wurde, ohne jedesmal in die Diffs sehen zu müssen.
ZIP-Archive können auch Kommentare enthalten.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#49

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

  Alt 6. Nov 2016, 13:19
Werden noch Leute für die Statistik benötigt?

Ich lege ebenso für jedes Projekt, bei dem ich davon ausgehe dass ich es morgen nochmal anfassen werde, ein Git Repository an. Ein paar veröffentliche ich auch auf Github. Mit SVN braucht man heute nicht mehr anfangen. Ich würde empfehlen sich für Git (oder gern auch Mercurial) mal ein paar Tage lang mit der Konsole zu befassen. Wenn einem die Konsole dann immernoch nicht zusagt, kann man ja wechseln. Ich bin mit der Konsole ein vielfaches schneller und verstehe auch besser was Git da tut.

Mit Zip-Dateien entwickeln... kann man machen. ( ) Aber falls mal jemand mit Versionierung überhaupt erst anfängt, würde ich empfehlen einfach eine fertige Lösung für das Jahrzehnte alte Problem zu verwenden und sich in Git einzuarbeiten. Solange man das nicht einfach "schon immer so macht", sehe ich in Zips keine weiteren Vorteile.
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#50

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

  Alt 6. Nov 2016, 17:16
In Fakt sieht es aber so aus, als ob alle Leute, die Versionsverwaltung machen, NICHT die Integration in Delphi verwenden, um die Änderungen zu posten oder zu holen, oder sehe ich das falsch?
Das haben wir versucht, eigentlich wäre die sehr praktisch. Neue Units automatisch ins Repository usw., an jeder Zeile die letzte Änderung sehen, ...

Wenn das alles geklappt hätte, hätten wir auch einen eigenen Commit-Dialog gebaut, der die für uns nötigen Angaben (Ticketnummer usw.) direkt in das passende Format bringt, damit unsere Build Tools diese extrahieren können.

Aber leider gab es immer wieder mal Schutzverletzungen, nach denen wir dann manuell Cleanups machen mussten. Deshalb haben wir es am Ende aufgegeben...

Wir benutzen jetzt TortoiseSVN und TortoiseGit mit einem externen Tool um den Committext zu erstellen. Den kopieren wir dann einfach hinein.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 5 von 13   « Erste     345 67     Letzte »    


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 +1. Es ist jetzt 04:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz