Version Control

Für Fragen rund um die Ide und zum Debugger
Antworten
Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Version Control

Beitrag von Eclipticon »

Hi,

habt ihr irgendeinen Tipp, welches Version Control System man in Kombination mit Lazarus verwenden sollte/koennte?

Eines mit IDE-Integration waere schoen, distributed muss es nicht sein, ich bastle allein vor mich hin.

Danke :-)

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Version Control

Beitrag von Socke »

Eclipticon hat geschrieben:habt ihr irgendeinen Tipp, welches Version Control System man in Kombination mit Lazarus verwenden sollte/koennte?
Ich verwende GIT und bin damit (in Kombination mit TortoiseGIT) sehr zufrieden.
Eclipticon hat geschrieben:distributed muss es nicht sein, ich bastle allein vor mich hin.
Gerade da liegt doch die Stärke von verteilten Versionskontrollsystemen. Du brauchst kein zusätzliches Repository; du hast es direkt in deinem Arbeitsbereich. Du brauchst viel mehr kein zentrales Versionskontrollsystem.
Eclipticon hat geschrieben:Eines mit IDE-Integration waere schoen
Es gibt ein Lazarus-Package für Subversion.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Version Control

Beitrag von mse »

Für git gibt es die in Pascal geschriebene Benutzeroberfläche MSEgit:

http://sourceforge.net/projects/mseuniverse/

Martin

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Version Control

Beitrag von mschnell »

Hübsch wäre natürlich eine Integration in die Lazarus IDE (so wie Subclipse für Eclipse).

-Michael

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Version Control

Beitrag von mse »

mschnell hat geschrieben:Hübsch wäre natürlich eine Integration in die Lazarus IDE (so wie Subclipse für Eclipse).
Finde ich nicht, für mich ist ein separates Programm praktischer.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Version Control

Beitrag von Christian »

Für mich nicht. Subversion lässt sich intigrieren.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: Version Control

Beitrag von Eclipticon »

Danke fuer die Hinweise, ich werde mich bei den genannten mal schlau machen.

Nur hier komm ich nicht ganz mit:
Gerade da liegt doch die Stärke von verteilten Versionskontrollsystemen. Du brauchst kein zusätzliches Repository; du hast es direkt in deinem Arbeitsbereich. Du brauchst viel mehr kein zentrales Versionskontrollsystem.
Ich dachte, ich braeuchte in meinem Arbeitsbereich (lokal) ein zentrales Versionskontrollsystem ...

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Version Control

Beitrag von carli »

Ich persönlich nutze Mercurial und IDE-Integration würde mir nichts bringen. Mit der BASH bin ich schneller.

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Version Control

Beitrag von Socke »

Eclipticon hat geschrieben:
Gerade da liegt doch die Stärke von verteilten Versionskontrollsystemen. Du brauchst kein zusätzliches Repository; du hast es direkt in deinem Arbeitsbereich. Du brauchst viel mehr kein zentrales Versionskontrollsystem.
Ich dachte, ich braeuchte in meinem Arbeitsbereich (lokal) ein zentrales Versionskontrollsystem ...
Mir fallen spontan 3 verschiedene Kontrollsysteme ein:
  • Datei basierte Versionskontrollsystem
    Die verschiedenen Versionen einer Datei werden in dieser gespeichert (mit Textdateien eher schwierig; mit Binärdaten relativ leicht)
  • Zentrale Versionskontrollsysteme
    Es gibt ein zentrales Repository über das sämtliche Aktionen laufen. Die Benutzer haben jeweils nur eine Kopie der aktuellen Daten (die sie bearbeiten) sowie einige wenige Verwaltungsdaten (unter Subversion ist das unter anderem auch eine komplette Kopie der heruntergeladenen Datei um Unterschiede schneller festzustellen und anzuzeigen)
  • Verteilte Versionskontrollsysteme
    Jede Arbeitskopie ist/hat/beinhaltet ein vollwertiges Repository mit der kompletten Versionsgeschichte. Eine Verbindung zu einem zentralen Server wird nicht benötigt. Hier ist es egal, von welchem Repository man einen Checkout durchführt oder seine Änderungen hochlädt (da alle Repositories prinzipiell gleich sind)
Soviel zur Terminologie. Wenn du also in deinem Arbeitsbereich ein zentrales Versionskontrollsystem verwendest, hast du eine Endlosrekursion geschaffen ;-)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

CoolT
Beiträge: 5
Registriert: Fr 31. Aug 2012, 21:10

Re: Version Control

Beitrag von CoolT »

Hallo,

ich persönlich nutze SVN mit Tortoisesvn (Windows) und bin sehr zufrieden damit. Arbeite damit teilweise im Team und alleine. Bis jetzt hatte ich nie das verlangen es direkt mit der IDE zuverbinden, da ich es nutzlos finde bei jedem kompilieren das Repository zu aktualisieren.

aldicek
Beiträge: 37
Registriert: Do 6. Mär 2008, 12:48
OS, Lazarus, FPC: WinXP/Mint13KDE (Lazarus 1.0.8 FPC 2.6.2)
CPU-Target: 64 Bit
Wohnort: Halle (Saale)

Re: Version Control

Beitrag von aldicek »

Hallo,

da ich mich mit dieser Thematik ebenfalls bereits beschäftigt habe, möchte ich auch meinen Senf dazugeben.
Prinzipiell ist eine Versionskontrolle eine tolle Sache und wird zwingend notwendig, sobald das Projekt größere Ausmaße annimmt (und das geht selbst bei kleinen Applikationen recht schnell, wenn man sie komfortabel und trotzdem DAU-sicher machen möchte) oder mehrere Personen involviert sind (sei es auch nur für die Lokalisation).
Nächster (und für mich größter) Vorteil ist der, dass man sich eben nichts mehr "im Eifer" kaputt machen kann. Es kennen doch sicher zumindest die Gelegenheitsprogrammierer sehr gut diese besonderen Gedankenblitze, wie man diese aufgeblasenen Codeungetüme ganz genial entschlacken kann, indem man nur mal eben hier und da... Und beim nächsten Starten des Programms aus der IDE geht dann gar nix mehr, der Debugger empfiehlt sich mit freundlichen Grüßen, dezente Fenster weisen auf SIGFAULTS ohne Zahl hin usw.
Wer hier eine in die IDE integrierte Versionsverwaltung hat, hat fein Lächeln, einfach diesen verschlimmbesserten Code mit dem vor dem letzten Kompilieren vergleichen (Änderungen werden üblicherweise angezeigt) und - falls man doch zu komplex war, ggf. den älteren Code wieder laden und die Geistesblitze in kleineren Schüben einbringen...
Ist natürlich nix für Entwickler, die in Monaten/Jahren eine GUI a la Lazarus oder einen Systemkernel zusammenklimpern. Dort wo das Kompilieren schon Viertelstunden dauert, wird auch die Versionskontrolle sich die entspr. Zeit nehmen, aber da kann man ja dann ggf. auf die Kommandozeile ausweichen und nur das Tageswerk versionieren.
Ich hatte in meiner WinXP-Zeit auf dem Rechner TortoiseSVN installiert (mit lokalem Repository), war jedoch schon immer auf der Suche nach einer funktionierenden Einbindung in die (@mce:) Lazarus-IDE. Ich habe auch schon mit dem LazSVNpkg rumprobiert, allerdings bin ich dafür anscheinend zu dumm, hab's jedenfalls nie geschafft, da eine Datei in ein Repo zu schieben oder rauszuholen, geschweige denn, die IDE dazu zu überreden, doch selbiges bitte sehr automatisiert vor/bei/nach jedem Kompilerlauf zu machen.
Allerdings wäre mir momentan auch ein Debugger, der den in Delphi kennengelernten Comfort bietet, auch nicht ungenehm. Wenn ich irgendwann in ein paar Jahren mal ein Lazarus installiere, wo all das funktioniert ... - WOW, das wär's!

Gruß
Aldicek

Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Re: Version Control

Beitrag von Eclipticon »

Vielen Dank fuer den Input ... auf diese Weise hab ich meine Anforderungen noch mal verfeinern koennen und bin jetzt bei Mercury/TortoiseHg gelandet. Mal sehen :-)

Antworten