Zum Inhalt springen

Versionierung für Software-Skripte


lf_dy_laglc

Empfohlene Beiträge

Hallo.

Es gibt hier im Haus bis jetzt keine Versionierung für

Software-Skripte.

(Rahmengeschäft: Softwareentwicklung)

"Software-Skripte" heisst hier: Textdateien (Skripte) und Testobjekte

(Binaries). Viele Verzeichnisse mit verschiedenen Objekten (z.T. gleiche

Namen, z.T. unterschiedliche Namen)

Die Objekte liegen flach im Dateisystem (über Dateifreigabe

errreichbar, dass muss so bleiben)

Keine Versionierung heisst auch nur eine Backupgeneration. Falls der

Server Mittwoch abraucht, dann kann der Stand vom Freitag davor vom Band

geholt werden, keinesfalls ein Stand vom März oder April.

D.h. falls eine Datei im August mal beschädigt/falsch editiert/sonstwie

"kaputt" gemacht wurde, und man dass erst jetzt merkt: Problem. Kein

Wille seitens des Chef, das zu ändern.

Zum einen möchte ich (Maximalziele):

a) ein Protokoll, wann eine Datei zuletzt ändernd (!) zurückgeschrieben

wurde (dass manche Leute "speichern" drücken, obwohl nix geändert

wurde, ist einfach so)

B) fehlende Objekte sollen einen Eintrag im Protokoll erzeugen

c) Manche Binärobjekte haben einen Windows-Versionsstempel, z.B.

WINZIP32.EXE eine Versionsziffer 18.0.6028.0. Falls ein solches Binärobjekt

durch eines selber Grösse ersetzt wird, möchte ich das merken.

Dateien werden oft übers Netzwerk geändert, dass kann aber auch durch

einen unvorsichtigen Backup-operator zuviel zurückgespielt werden (d.h.

lokal)

zu a und b habe ich eine Idee bzgl. Umsetzung, zu der ich gern eure

Meinung hören würde

- alle Objekte einmal ver-MD5SUM-men (in eine Datei MD5-referenz.txt)

- dann müssen (z.B.) täglich neue MD5SUMs gebildet werden (in eine

Datei MD5-taeglich.txt).

Dann die Differenz zu MD5-referenz.txt rausfinden, um hinzugekommene

oder fehlende Dateien zu erfassen.

Hinzugekommene Dateien sind weniger kritisch als fehlende.

Echt (!) geänderte Dateien sind auch kritisch.

Das Auswerten der Logs würde ich übernehmen.

zu c ist mir kein Tool bekannt, dass die Versionsziffer auslesen

könnte.

Was meint bzgl. meiner Idee (a und B) oder habt ihr Empfehlung bzgl.

eines Tools für C.

Ich weiss selbst, dass nur eine Backupgeneration Risiken hat und andere

Arten, zu arbeiten unvorteilhaft sind aber aktuell möchte man daran

nix ändern. Punkt.

Die vorhandene EDV-Ausrüstung besser nutzen (ohne Abläufe für mehrere

Menschen zu ändern), so gut es geht, dass ist das Ziel.

Ciao

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

wie wäre es mit CVS bzw SVN?

Du hast die Versionierung drin, kannst das ganze per HTTP Zugriff benutzen, authorisierte Zugriffe sind möglich, für jedes OS gibt es Clients, die man ggf. auch automatisiert betreiben kann, das ganze liegt auf einem Server, den man dann täglich sichern könnte. Zu jeder Version können Kommentare eingegeben werden, das ganze geht auch für binär Daten und man kann sich Unterschiede zwischen den Versionen anzeigen lassen, z.B. bei Textdateien bis auf die Zeile genau und das ganze ist kostenlos.

HTH Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

also NFS / Samba schließt eine Versionierung über SVN nicht aus, aber Du solltest bedenken, dass eine Versionierung nur Sinn macht, wenn Du weißt, was sich geändert hat, d.h. zu jeder neuen Version gehört auch ein Kommentar. Zusätzlich gehe ich von Milestones aus, die direkt zu einem Zeitpunkt aus dem SVN erzeugt wird (tree / branch). Bei so etwas will man wissen, was sich von Milestone zu Milestone verändert hat, d.h. man muss die Kommentierung auswerten. Zusätzlich kommt hinzu, dass ja nicht zwingend jede Änderung in eine Version rein muss.

Du könntest zwar, jedes mal per Cron nachschauen lassen, ob eine Datei auf dem Server (per Samba / NFS dort hinkopiert) ins SVN muss und diese per Script direkt einbauen. Aber gelöscht Dateien musst Du händisch einpflegen und mit einer solchen Lösung hast Du meiner Ansicht nichts gewonnen, dann könntest Du auch Snapshots alle 2-3 Stunden erzeugen und die täglich auf Band sichern.

Zu den SVN Clients: Was ist daran schwer, einen Client zu installieren, den man morgens einmal startet, sich dann die aktuellen Entwicklungsstande auf sein lokales System kopiert und abends seine Änderungen in das SVN einpflegt?

Unter Unixen: svn add *, svn co -m "meine Änderungen von heute"

Das ganze gibts auch per Mausschubs-Anwendung

Ich denke Du solltest Dir überlegen, ob Du eine reine Backup-Lösung möchtest, dann würde ich zu Snapshots+Backup (differentiell / inkrementell) raten, oder Du setzt eine richtige Versionierung ein, dann nimm SVN.

HTH Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

hm, chef will erst mal nix am Server machen, d.h. ich möchte ne Lösung finden, die mir ne Software-versionierung ermöglich, damit zumindest meine Änderungen nachverfolgbar sind (für mich selbst)

Da am Dienstag 5 Zeilen hingefügt, da am Donnerstag eine ganze Datei gelöscht.

wenn es dann am Freitag nimmer geht, am Montag davor aber noch, weiss ich was ich rückgängig machen muss.

Genug Plattenplatz habe ich vsl. für eine erstmalige Kopie und ein paar Monate Änderungen.

Gibt es für diese Aufgabe eine Lösung?

Auf dem Client läuft aktuell WinXP, der Server ist linux. Dateien sind über Samba und NFS erreichbar.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

also ich verstehe zwar nicht warum Du das nicht per SVN machen kannst, denn es würde wirklich Sinn machen, wenn mehrere Leute mit den Codes arbeiten. Wenn Du eine Versionierung machst und der Kollege X nicht, dann knallt es eh irgendwann.

Du kannst Dir lokal ein SVN aufsetzen oder Du pflegst innerhalb Deines Codes die Änderung in den Kommentarzeilen z.B. mit Hilfe von Doxygen, dann schreibst Du eben an die Methode ein "@date Tag. Monat Jahr - Meine Änderung".

Aber grundsätzlich sollte es einen "Style-Guide" geben, wie bei Euch Code produziert wird, damit man weiß, wer was gemacht hat, denn es ist immer sinnvoller den entsprechenden Kollegen zu fragen, als sich selbst durch den Code zu wühlen. Ich würde das durchaus noch mal bei Deinem Chef ansprechen

HTH Phil

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 Wochen später...

Freitag nachmittag sind 400 "Waisenkinder"-Dateien aufgetaucht, von lange vor meiner Zeit, dass hab ich Chef gezeigt. Begeistert war er nicht, aber CVS/SVN wollte er trotzdem nicht. d.h. ich setze mich dann mal dran, mal n paar Shellscripte zu entwickeln, die

a) merkt, wann eine Datei geändert wurde

B) merkt, wann Dateien verschwinden

c) Unterschiede zwischen zwei Servern (Test / "Produktion") feststellen kann.

Eine Bindung einer geänderten Datei an ein benamstes Projekt habe ich dann freilich nicht, allenfalls den NT-Nutzernamen von Änderer.

Solche Details interessieren meinen Chef freilich nicht, solange der Laden läuft. No comment.

Die ganzen 300-500 GB kann ich vermutlich nicht durch-MD5SUM-men, schließlich dauert das. Und dann gibts ja auch noch das Backup, was laufen sollte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Alles was Du machen kannst, ist Flickwerk! Bei euch ist die Arbeitsweise "suboptimal" solange der Chef nix großes machen will, kann man nicht viel mehr tun als alles so bekloppt zu lassen, wie es ist. Nachvollziehbare Versionierung macht nur sinn, wenn man die Versionen auch wieder zurückbekommt, sonst ist das witzlos. Das ist nicht zu machen ohne ein SVN oder ein DMS deiner Wahl oder was auch immer.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...