lf_dy_laglc Geschrieben 16. Oktober 2007 Geschrieben 16. Oktober 2007 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) 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 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 Zitieren
flashpixx Geschrieben 16. Oktober 2007 Geschrieben 16. Oktober 2007 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 Zitieren
Schlaubi Geschrieben 16. Oktober 2007 Geschrieben 16. Oktober 2007 ...ich kann da meinem Vorredner nur beipflichten - CVS (veraltet) oder Subversion (SVN) ist genau das, wonach Du suchst. Zitieren
lf_dy_laglc Geschrieben 17. Oktober 2007 Autor Geschrieben 17. Oktober 2007 Als ich schrieb "(über Dateifreigabe errreichbar, dass muss so bleiben)" meinte ich NFS und SAMBA. Das sind die Kollegen gewöhnt, und man muss nicht extra ne Clientsoftware installieren, um (z.B.) von einer Testmaschine aus nen Fehlerprotokoll einzuspeichern. Zitieren
flashpixx Geschrieben 17. Oktober 2007 Geschrieben 17. Oktober 2007 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 Zitieren
lf_dy_laglc Geschrieben 22. Oktober 2007 Autor Geschrieben 22. Oktober 2007 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. Zitieren
flashpixx Geschrieben 22. Oktober 2007 Geschrieben 22. Oktober 2007 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 Zitieren
Schlaubi Geschrieben 22. Oktober 2007 Geschrieben 22. Oktober 2007 ...also ich würde Dir auch SVN wärmstens empfehlen. Jeglicher weiterer Programmieraufwand ist meiner Meinung nach Zeit- und Geldverschwendung. Zitieren
lf_dy_laglc Geschrieben 17. November 2007 Autor Geschrieben 17. November 2007 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 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. Zitieren
sxs Geschrieben 17. November 2007 Geschrieben 17. November 2007 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. Zitieren
Empfohlene Beiträge
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.