Software Configuration Management (SCM)



Ähnliche Dokumente
Kapitel 2. Software Configuration Management mit CVS und SVN

Versionsverwaltung mit Subversion

Einführung in Subversion

Software-Engineering Grundlagen des Software-Engineering 7.3 Sourcecode-Verwaltung mit Versionsmanagement-Systemen Einführung in Subversion (SVN)

Kurzanleitung zu. von Daniel Jettka

Versionsverwaltung mit SVN

Einfu hrung in Subversion mit TortoiseSVN

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Software Engineering in der Praxis

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Wie benutzt man TortoiseSVN

WinCVS Version 1.3. Voraussetzung. Frank Grimm Mario Rasser

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Adminer: Installationsanleitung

Team- Entwicklung unter Eclipse

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

Datensicherung EBV für Mehrplatz Installationen

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

OP-LOG

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

1 Vorraussetzungen. 2 Installiere Eclipse. FS 2015 Herausgabe: Dr. A. L. Schüpbach, D. Sidler, Z. István Departement Informatik, ETH Zurich

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Internet online Update (Internet Explorer)

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Installation von NetBeans inkl. Glassfish Anwendungs-Server

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Moodle aktuell halten mit Git

Formular»Fragenkatalog BIM-Server«

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

TeamSpeak3 Einrichten

1. License Borrowing Verfahren

MailUtilities: Remote Deployment - Einführung

Die Dateiablage Der Weg zur Dateiablage

C A L D E R A G R A P H I C S. Wie geht das? Benutzen des Backup Verfahrens

CVS-Einführung. Sebastian Mancke,

PROJEKTVERZEICHNIS EINRICHTEN

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

INSTALLATION VON INSTANTRAILS 1.7

Microsoft Update Windows Update

Internet Explorer Version 6

FTP-Server einrichten mit automatischem Datenupload für

Daten Sichern mit dem QNAP NetBak Replicator 4.0

Apache Subversion (SVN)

Datensicherung und Wiederherstellung

Das Einzelplatz-Versionsupdate unter Version Bp810

Einführung in Subversion. Tutorium SWP

transfer.net Erste Schritte mit transfer.net

SANDBOXIE konfigurieren

Installation Hardlockserver-Dongle

Step by Step Webserver unter Windows Server von Christian Bartl

MetaQuotes Empfehlungen zum Gebrauch von

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Hex Datei mit Atmel Studio 6 erstellen

Verwendung des IDS Backup Systems unter Windows 2000

SVN Windows Howto. Inhaltsverzeichnis. 1 Revisionsgeschichte

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

1 Was ist das Mediencenter?

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Verbinden. der Firma

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Deployment Deployment Seite 1 / 25

HSR git und subversion HowTo

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

HTBVIEWER INBETRIEBNAHME

KeePass Anleitung. 1.0Allgemeine Informationen zu Keepass. KeePass unter Windows7

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Restore Exchange Server 2007 SP2

IT-Projekt-Management

KURZANLEITUNG CLOUD OBJECT STORAGE

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

SharePoint Workspace 2010 Installieren & Konfigurieren

Übung - Datensicherung und Wiederherstellung in Windows 7

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

OXID esales Dokumentation

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

Die Projek*ools. Files, Git, Tickets & Time

Informationen zur Installation und Nutzung von Subversion (SVN)

Übung - Datensicherung und Wiederherstellung in Windows Vista

SAP GUI 7.30 Installation und Einrichtung: Mac OSX

KEIL software. Inhaltsverzeichnis UPDATE. 1. Wichtige Informationen 1.1. Welche Änderungen gibt es?

Handbuch ZfEditor Stand

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Installation älterer Programmversionen unter Windows 7

Praktikum Ingenieurinformatik (PI)

WORKSHOP VEEAM ENDPOINT BACKUP FREE

DOKUMENTATION VOGELZUCHT 2015 PLUS

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

Quellcodeverwaltung mit SubVersion

FRILO-Aktuell Ausgabe 2/2013

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Transkript:

Vorlesung Softwaretechnologie 2007/8 Dr. Günter Kniesel R O O T S Software Configuration Management (SCM) SCM-Motivation SCM-Grundlagen SCM-Werkzuge: CVS und SVN Einrichten des Subversive-Plugins für Eclipse

SCM: Die Grundlage der Softareentwicklung Analyse Design Implementation Test Pflege Software Configuration Management (SCM) Sammelt und verwaltet Informationen zur Erstellung, Verwaltung und Erweiterung von Software Mögliche Änderungen Quellcode Binärcode Build Skripte Konfigurationsdateien Bitmaps & JPEGs HTML/XML Dateien CGI, Javascript CSS Anforderungen Design Modelle Test Skripte Dokumentation Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-2 R O O T S

Wozu braucht man Software Configuration Management? Wir möchten Softwareentwicklung ist nicht linear Man macht Programmierfehler Man trifft die falschen Designentscheidungen wissen was, wann, warum gemacht wurde. zu einer älteren Version zurückkehren können. Softwareentwicklung ist Teamwork Man selbst und andere macht gleichzeitig Änderungen... in vielen verschiedenen Dateien wissen wer was, wann, warum gemacht hat Änderungen teilen. Abhängigkeiten verwalten. Verwaltung verschiedener Versionen Kunden bekommen stabile Releases während die Entwicklung der nächsten Version weitergeht Bugfixes müssen in alle Versionen integriert werden Verschiedene Kunden bekommen verschiedene Varianten des Systems Gleichzeitige Entwicklung und Integration verwalten. Variationen verwalten. Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-3 R O O T S

Probleme während der Softwareentwicklung Viele Entwickler Viele Änderungen Fehlende Koordination Projekt ist nicht mehr verwaltbar Viele Versionen Viele Arbeitsumgebungen Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-4 R O O T S

Wo ist der Unterschied? Aktuelle Version Vorige Version Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-5 R O O T S

Das ist der Unterschied! Aktuelle version Vorige version Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-6 R O O T S

SCM Features Managt alle Komponenten des Projekts in einem Repository Keine redundanten Kopien Sicher Macht Unterschiede zwischen Versionen sichtbar Was hat sich verglichen mit der gestrigen Version verändert? Verwaltet metadata: Wer hat was, wann, warum und wo getan? Wer hat was in Klasse X geändert? Warum hat er es verändert? Ermöglicht die Wiederherstellung voriger Zustände Vollständig oder selektiv Erlaubt die definition von Referenzversionen Letzte konsistente Version Milestones Releases Erlaubt Änderungen zu identifizieren, auszuwerten, zu diskuttieren (!) und sie schließlich anzunehmen oder zu verwerfen. Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-7 R O O T S

Softare Configuration Management Arbeitskopie Unter Kontrolle eines Programmierers Nur für ihn sichtbar Erstellung von Versionen für andere Programmierer Promotion Repository Zentrales Verzeichnis aller promoteten Versionen Von allen Teammitgliedern benutzt Erstellung von Versionen für Kunden / Benutzer Zentrales Archiv Release Produkt Externe, veröffentlichte Releaseversion Foo 95 Foo 98 Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-8 R O O T S

Tools for Software Configuration Management Software configuration management wird von Tools mit unterschiedlicher Funktionalität unterstützt Beispiele ( kostenlos CVS (basic, Repository im Dateisystem Dateiversionierung Hauptsächlich Textdateien, Binärdateien nur eingeschränkt ( kostenlos SVN (besser, Repository in Datenbank Versionierung von Dateien und Ordnern Verfolgt die Aktivitäten der Entwickler und zeichnet sie auf ( kommerziell ClearCase (high-end, Virtuelles Dateisystem Konfigurationsregeln Multiple Server, Replikation Prozessmodelierung, Policy check Mechanismen mächtiger Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-9 R O O T S

Vorlesung Softwaretechnologie 2007/8 Kapitel 2: SCM-Einführung R O O T S Arbeiten mit CVS und SVN

CVS and SVN: Basic Principle CVS / SVN Arbeitskopie Repository Entwicklungswerkzeuge Entwicklungswerkzeuge CVS / SVN Arbeitskopie Prinzip Ein zentrales Sammelbecken ( Repository ) aller relevanter Dateien Nur offizielle Versionen Viele private Arbeitsumgebungen ( Sandbox ) mit Kopien von Dateien Auch temporäre, inkonsistente, unfertige,... Versionen Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-11 R O O T S

CVS and SVN: Checkin and Checkout Checkin (Projekt) CVS / SVN Arbeitskopie Entwicklungswerkzeuge Entwicklungswerkzeuge Checkout (Projekt) CVS / SVN Repository Arbeitskopie Checkin Fügt Projekt dem Repository hinzu Checkout Erstellt eine Arbeitskopie des Projekts vom Repository Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-12 R O O T S

CVS and SVN: Commit and Update Commit (Dateien) CVS / SVN Arbeitskopie Entwicklungswerkzeuge Entwicklungswerkzeuge Update (Dateien) CVS / SVN Repository Arbeitskopie Commit Transferiert vom Programmierer geänderte Dateien in das Repository Update Transferiert geänderte Dateien vom Repository in die Arbeitskopie Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-13 R O O T S

Sharing / Checkout: Das Projekt unter Versionskontrolle Ein Repository existiert Das Projekt existiert, aber es wurde nicht geteilt ( shared ). Sharing: Das Projekt wird dem Repository hinzugefügt Es ist nun für alle (authorisierten) Entwickler verfügbar Projekt X Projekt sharen Repository Entwickler X Projekt X https://svn.iai.uni-bonn.de/repos/iai_software/ se/swt-vorlesung/groupxx Repository root Projekt Pfad Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-14 R O O T S

Check Out: Initialer Projektdownload Entwickler checken das Projekt aus Bekommen eine lokale Arbeitskopie Von jetzt an können sie an dem Projekt arbeiten Check-out / Auschecken wird nur einmal gemacht! Neue Version bekommen Update Arbeitskopie Entwickler A Projekt X Check out Repository Entwickler B Projekt X Arbeitskopie Projekt X Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-15 R O O T S

Commit: Änderungen in das Repository schreiben Der Entwickler ändert seine Arbeitskopie Er fügt seine Änderungen dem Repository hinzu (Commit) Ein Commit Kommentar beschreibt was er warum geändert hat. Arbeitskopie des Entwicklers Commit Kommentar: NullPointer- Exception behoben, die auftrat wenn... Check Out Commit X X 1 Projekt im Repository Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-16 R O O T S

Update: Neueste Änderungen vom Repository bekommen Updated die Arbeitskopie mit dem aktuellen Zustand des Repository Problem: Änderungen werden nicht verifiziert. Besser: Synchronize benutzen Arbeitskopie von Entwickler A Projekt im Repository Arbeitskopie von Entwickler B Check Out / Update X X 1 Check Out / Update X Commit Update X 1 + d Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-17 R O O T S

Synchronize: Das Projekt synchronisieren Motivation Vergleiche die lokale mit der Repository Version Automatisierte Vergleichsübersicht Automatisierte Detailvergleiche Der Entwickler entscheidet selbst was kopiert wird... und führt selektive Updates oder Commits durch Automatisierte Vergleichsübersicht Vergleich auf Projektebene Zeigt einen schnellen Überblick von ein- und ausgehenden Änderungen Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-18 R O O T S

Synchronize: Bedeutunge der Symbole im Synchronize View Ausgehende Änderung + - Datei wurde lokal verändert und existiert im Repository Kopiere lokale Version ins Repository Datei wurde lokal hinzugefügt und existiert nicht im Repository Datei dem Repository hinzufügen Datei wurde lokal gelöscht und existiert im Repository Datei aus dem Repository löschen Eingehende Änderung + - Datei wurde im Repository geändert und existiert lokal Kopiere die Version aus dem Repository in die Arbeitskopie Datei wurde dem Repository hinzugefügt und existiert nicht lokal Füge die Datei der lokalen Arbeitskopie hinzu Datei wurde im Repository gelöscht und existiert lokal Lösche die Datei aus der Arbeitskopie Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-19 R O O T S

Synchronize: Das Projekt synchronisieren Conflikt Datei wurde in der Arbeitskopie und im Repository verändert Manuelle Konfliktlösung notwendig Konfliktauflösung benötigt den Detailvergleich auf Dateilevel Siehe die nächsten 2 Folien Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-20 R O O T S

Synchronize: Das Projekt synchronisieren Motivation Vergleiche die lokale und die Repository Version Automatisierte Vergleichsübersicht Automatisierte Detailvergleiche Der Entwickler entscheidet selbst was kopiert wird... und führt selektive Updates oder Commits durch Automatisierte Detailvergleiche Beginne Detailvergleich durch Vergleich auf Dateilevel Doppelklick auf eine Datei... ( diff ) Zeigt einen kurzen Änderungsüberblick Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-21 R O O T S

Synchronize: Automatisierte Detailvergleiche... öffnet das Compare Fenster Die lokale Arbeitskopie wird mit der Repository Version verglichen Selektive Updates sind nun möglich fine-grained: individuelle Änderungen Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-22 R O O T S

Konfliktlösung SVN / CVS hilft beim Versionsvergleich Programmierer entscheidet was getan wird Overwrite and Update : Überschreibt lokale Änderungen mit Repository Version Overwrite and Commit : Überschreibt Repository mit lokaler Version Bedingt normalerweise Kommunikation mit dem Autor der Repository Version Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-23 R O O T S

Vorlesung Softwaretechnologie 2007/8 Kapitel 2: SCM-Einführung R O O T S Vergleich von Subversion (SVN) und CVS

( 1 ) Subversion kann mehr als CVS Versionierung von Verzeichnissen Es ist möglich Dateien und Verzeichnisse zu löschen, umzubenennen und zu verschieben. Warnung: Man muß diese Operationen mit einem subversion aware Programm / Client (z.b. Subversive) durchführen! Führt man es selbst auf Systemebene durch wird der Client nichts vom Umbenennen oder verschieben wissen. Er wird denken eine Datei wurde gelöscht und eine andere hinzugefügt. Globale Commit Nummerierung ( 1.2 (z.b. CVS weist jeder Datei eigene Commitnummern zu Problem: Es ist nicht einfach zusehen welche Versionen verschiedener Dateien zusammengehören SVN weist jeder Datei die selbe Commitnummer zu. Jeder Commit erhöht die Nummerierung jeder Datei Vorteil: Alle Dateien einer konsistenten Version haben die gleiche Nummer. Ein Roll back auf eine alte Version ist einfach, selbst ohne Tags Tagging sollte für wichtige Releases, Backups, etc. doch gemacht werden Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-25 R O O T S

( 2 ) Subversion kann mehr als CVS Atomic commits Neztwerkfehler oder andere Probleme können zu unvollständigen Commits führen (nicht alle Dateien wurden commitet) Wenn dies passiert, läßt CVS das Repository in einem inkonsistenten Zustand. SVN führt bei unvollständigen Commits einen Roll back durch. Es benutzt ein Datenbanksystem um das Repository zu speichern und kann daher Commits als atomare Transaktionen implementieren. Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-26 R O O T S

Wichtige Links Subversion Buch http://svnbook.red-bean.com/nightly/en/svn-book.pdf Subversion Server subversion.tigris.org Subversion Clients als Erweiterung für den Windows Explorer TortoiseSVN Nur für Windows! Subversion Clients als Plugins für Eclipse Subversive Homepage: www.polarion.org Plugin Download Seite: http://www.polarion.org/projects/subversive/download/1.1/update-site/ Subclipse www.eclipse.org We empfehlen Subversive zu benutzen Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-27 R O O T S

Vorlesung Softwaretechnologie 2007/8 Kapitel 2: SCM-Einführung R O O T S Installation des Subversive Plugins

Subversive installieren Nutze das Help Menü von Eclipse Help Software Updates Find and Install... Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-29 R O O T S

Subversive installieren Search for new features to install Next Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-30 R O O T S

Subversive installieren New Remote Site Finish Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-31 R O O T S

Subversive installieren Name: z.b.: Subversive URL: http://www.polarion.org/projects/subversive/download/1.1/update-site/ Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-32 R O O T S

Subversive installieren Select Subversive Site Finish Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-33 R O O T S

Subversive installieren Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-34 R O O T S

Subversive installieren Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-35 R O O T S

Subversive installieren Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-36 R O O T S

Subversive installieren Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-37 R O O T S

Subversive installieren Eclipse neu starten Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-38 R O O T S

Subversive installieren SVN Perspektive hinzufügen Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-39 R O O T S

Vorlesung Softwaretechnologie 2007/8 Kapitel 2: SCM-Einführung R O O T S Verbinden mit dem Subversion Repository via Subversive

1. SVN Repository Exploring Perspektive auswählen Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-41 R O O T S

Repository Information eingeben Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-42 R O O T S

Ergebnis Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-43 R O O T S

Repository Layout (1/2) SVN organisiert Projekte in drei speziellen Verzeichnissen: trunk tags Enthält die aktuelle Entwicklungslinie (wie HEAD in CVS) Also den trunk auschecken! Enthält unveränderliche Versionen des Projekts Für Releases, Milestones, Backups branches (hier nicht relevant) Enthält branches (Zweige) des Projekts Für Untergruppen eines Teams, oder parallele Entwicklung einer Variante. Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-44 R O O T S

Repository Layout (2/2) Konvention trunk, branches, tags sind normale Ordner im Projektordner SVN behandelt sie nur besonders aufgrund ihres Namens Man kann die Ordner des Projekts organisieren wie man möchte! Vorlesung Softwaretechnologie, Wintersemester 2007/8 02-45 R O O T S