LS-Network:» SFM-Modding» TSForum3 » LS-Creative» LS-Mods

RSS-Feed abonnieren

Das Zauberwort Versionskontrolle

“Versionskontrolle? Was ist das denn wieder?” werden sich nun sicherlich einige von euch fragen. Ganz einfach:

Zauberei!

Nein. Das Ganze hat natürlich rein gar nichts mit Zauberei zu tun, sondern ist ein Prozess, um verschiedene Entwicklungszustände von Software für die Zukunft zu speichern.

Bei einem weiteren Blick auf Wikipedia erfährt man nun:

“Eine Versionsverwaltung ist ein System, das zur Erfassung von Änderungen an Dokumenten oder Dateien verwendet wird. Alle Versionen werden in einem Archiv mit Zeitstempel und Benutzerkennung gesichert und können später wieder hergestellt werden. Versionsverwaltungssysteme werden typischerweise in der Softwareentwicklung eingesetzt um Quelltexte zu verwalten.”

Das Ganze kann man natürlich auch bei der Entwicklung von Mods für den Landwirtschafts-Simulator benutzen. Und genau deshalb habe ich mich heute hingesetzt und so ein System aufgesetzt. Hat leider einige Zeit in Anspruch genommen, aber der entstandene Nutzen enorm.

Denn wer kennt es nicht. In deinem Team gibt es mehrere Leute, die den Mod testen. Nach einigen Minuten kommen schon die ersten Beschwerden über einen Bug. Schnell wie du bist, fixed du den Bug und willst eine neue Bug-freie Version zu Verfügung stellen. Jedoch musst du nun an jeden deiner Tester eine Zip verschicken. Nach 1-2 Wochen hast du ein regelrechtes Zip-Wirwar im Team denn keiner weiß, ob er denn noch die neuste Version besitzt.

Hier schafft SVN (Subversion – Versionsverwaltung) Abhilfe. Man verteilt einfach an alle Tester die Zugangsdaten zum SVN-Repository (Globale Speicherstelle des Mods) und sobald sich am Mod etwas ändert, erhalten alle eingetragenen Nutzer eine Email mit der Aufforderung die neue Version zu laden. Somit können sie nun das SVN-Verzeichnis neu “auschecken” (bezeichnet den Vorgang, die aktuelle Version zu laden) und besitzen nun immer die aktuellste Version.

Einige denken sich nun sicherlich: “Mmmmmh das Ganze kann ich aber auch auf meinen Webserver legen”

Richtig, aber SVN bringt weitere Vorteile mit sich. Wie der Name schon sagt, handelt es sich um ein Tool zur Versionsverwaltung bzw. -kontrolle. D.h. sobald man etwas an einer Datei ändert und diese “eincheckt” (bezeichnet den Vorgang des Online-Stellens einer geänderten Datei) wird die Vorgängerversion dieser Datei archiviert und ist somit auch zu einem späteren Zeitpunkt problemlos rekonstruierbar, um bei Bedarf nachzusehen, was man eben bei dieser Version genau geändert hat.

Ein weitere Vorteil ist, dass mehrere Leute gleichzeitig an einem Mod arbeiten können. Also Beispiel nenne ich hier mal mich als Scripter und MadMax als Tuning-Spezialist. Da er relativ oft Dinge in der XML ändert, in der ich natürlich auch herumfuhrwerke, kommt es oft zu Überschneidungen und wir müssen uns dann immer zusammen hinsetzen und die beiden XML-Dateien vergleichen. Auch hier schafft SVN Abhilfe. Denn es vollzieht diesen “Merge”-Vorgang (zusammenführen von 2 verschiedenen Dateien zu einer neuen) voll automatisch. Nur in seltenen Fällen muss man als Nutzer noch definieren, was gemacht werden soll.

Falls ich mit diesem kleinen Einblick in die Software-Entwicklung nun auch eure Interesse wecken konnte, findet ihr hier einige Links:

Grüße Manuel aka Face

29.Juni 2010 | Tipps & Tricks | Manuel Leithner

Comments (5)

 

  1. rinlau14 sagt:

    sehr gut, danke so was habe ich schon lange gesucht

    Gruß
    rinlau14

  2. beninst sagt:

    Brauch ich dafür ne eigene website ?

  3. rinlau14 sagt:

    bei dem einen Programm man braucht doch immer einen server oder?

  4. Nicht unbedingt.
    Es gibt mehre Möglichkeiten:

    1. Serverbasierend
    Hier gibts die Möglichkeit einen Freehoster zu nehmen oder eben einen eigenen Server zu kaufen (was aber für die Modentwicklung übertrieben ist :D )

    2. Clientbasierend
    Also auf deinem eigenen Rechner (das macht aber eigentlich nur sinn wenn du komplett alleine arbeitest, weil die anderen Nutzer eben nur schwer auf deinen REchner zu greifen können, bzw eben nur wenn du Online bist )

    wenn ihr also im Team arbeitet empfiehlt sich eben so ein Server-Basierendes System wie SVN, GIT oder Mercurial

Antworten