Source Revisionsystem: Best practice gesucht

shadowdb

Level-1
Beiträge
115
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Moinsen,
da ich aus der Welt der Hochsprachen komme, vermisse ich in der Step7 Welt am meisten mein SourceCode Revisionsystem.
Für alles andere benutze ich "git", inzwischen auch für Step7 Projekte.

Also mein pragmatischer Weg ist:
1. Projekt in S7 anlegen
2. das erzeugte Verzeichniss ins git übernehmen,
ggfls Lasten- und Pflichtenheft sowie weitere Dokus zufügen, ggfls. das zum fernen Revisionsserver pushen
3. ein Check out des frischen Projektes.
4. mit S7 abreiten, Code erstellen, Job tun
5. am Ende eines Arbeitsabschnittes mache ich ein "git commit -a -m 'dies ist fertig'" und pusshe dies ggfls. zum server.
6. nach Abschluß der Codierarbeiten tagge ich das Ergebis.
6. bei der Inbetriebnahme committe ich ebenfalls nach I/O Test und den einzelnen Abschnitten.
7. Nach Fertig habe ich das Endergebis des Projektes als V1.0 getaggt und entsprechend kommentiert.

Gibt es noch bessere Methoden - esp. andere Revisionsysteme die mit Step 7 Code und PRojekten umgehen können ?
Gibt es vielleicht da was offizielles ?


Was nehmt ihr ?

Gruß
Shadow
 
Ja das gibt es, z.Bsp. oben in der Linkleiste unter Versiondog.

Was genau bringt dir deine Vorgehensweise, gegenüber dem Packen des kompletten Projektes in eine ZIP, mal abgesehen von der evtl. Speicherplatzersparnis, sollte dein System nur die Unterschiede abspeichern.

Hat Step7 u.U. Probleme mit "zurückgeholtem" Code, schon das reine Umkopieren eines Projektes mit dem Datei-Explorer ist lt. Siemens nicht erlaubt, da es später evtl. Probleme geben kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was genau bringt dir deine Vorgehensweise, gegenüber dem Packen des kompletten Projektes in eine ZIP, mal abgesehen von der evtl. Speicherplatzersparnis, sollte dein System nur die Unterschiede abspeichern.

Ein Vorteil so vorzugehen ist, dass Quellcode mit dem aktuellsten Stand in jedem neuen Projekt eingebunden wird.
So können Synergien zwischen Projekten und Entwicklern erzeugt werden, man kann auf Vorhandenes zugreifen.
Mir ist schon klar, dass jeder der länger programmiert seine Grundlagen für neue Projekte hat.
Doch was ist wenn mehrere Programmierer einer Firma einheitliche Software erstellen sollen?

Wenn man ein Projekt als eine in sich geschlossene Einheit sieht und nicht mehrere an dem arbeiten ist es mit packen okay, sonst nicht.

Außerdem kann man dieser Vorgehensweise vorherige Stände wieder herstellen


bike
 
Vorteile: Git & Step7

Git ist de-zentral und umfassend.
:TOOL:
D.h. umfassend:
Git speichert in einem lokalem .git Verzeichnis alle Dateien im Sourcebaum. Sammt der vollständigen Versionshistorie.
Git arbeitet perfekt mit binären Dateien. Wenn binäres im Spiel ist, dann wird der gesammte Zustand der Files (Inhalt, Existenz, Zuugriffsrechte) zu dem Commit Zustand festgehalten. Technisch macht das Git das so, das eine Datenbank gepflegt wird, die zu jeder Datei einen ein-eindeutigen md5 hash erstellt und diesen als index zu der ebenfalls in der Datenbank enthaltenen Datei benutzt.
Ein Commit, Release, Tag hält den Zustand Des Verzeichnises exakt fest und wird diesen genau so reproduzieren.
Damit kann man es mit Step7 verwenden.

Dezentral bedeutet, jeder "clone" (andere RVS Systeme nennen das checkout, aber git clone ist wesentlich mehr) enthält die vollständige Revisionsgeschichte. Via SSH und anderen Methoden (WebDAV, http, ftp, uvm.) kann man mit einem oder Mehreren Servern abgleichen.

Damit wirkt das exakt wie die Archivieren- und Dearchivieren Methode aus dem Step7 Manager.
Man bekommt zusätzlich:
- Kommentierte Revisions Historie
- die Möglichkeit Effizient mit vielen (Anzahl nicht begrenzt) Entwicklern arbeiten zu können.
- Man bekommt die Möglichkeit, das man die Revisionstände und Änderungen einzelnen Entwicklern zuordnen kann. (Auch wenn das nicht jeder mag)
- ein dezentrales Backup
- man kann sich durch alle Tag/Comit Stände bewegen
- man kann einen Produktiv- und einen Entwicklungszweig haben (Werktags fährt Anlage Produktiv Stand, in Revision / IBN im Entwickler Stand)

Letzter Vorteil, Ich muss mich nicht umgewöhnen wenn mal Step7 auf dem Arbeitsplan steht :D

vg shadow
 
Zuletzt bearbeitet:
Zurück
Oben