1 / 23

PowerBuilder und SVN

PowerBuilder und SVN . Erste Schritte bei der Versionsverwaltung von Softwareprojekten mit Subversion (SVN). PowerBuilder und SVN. Agenda Einrichten eines einfachen SVN Servers Projekt/Verzeichnisstrukturen vorbereiten Projekt in die Versionsverwaltung aufnehmen PowerBuilder SVN Integration

qamar
Download Presentation

PowerBuilder und SVN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PowerBuilder und SVN Erste Schritte bei der Versionsverwaltung von Softwareprojekten mit Subversion (SVN)

  2. PowerBuilder und SVN • Agenda • Einrichten eines einfachen SVN Servers • Projekt/Verzeichnisstrukturen vorbereiten • Projekt in die Versionsverwaltung aufnehmen • PowerBuilder SVN Integration • Explorer SVN Integration • Zusätzliche Tools • Kleine Fallen und Herausforderungen

  3. Versionsverwaltung - Wie • Wie kann man "Versionieren" • Gar nicht • Per Xcopy / Zip und anderem • PowerBuilder Native • Mit Hilfe eines Tools zur Versionsverwaltung: • Microsoft Visual Source Safe, Concurrent Version System (CVS), Borland StarTeam, Perforce (SCM - Software Configuration Management), IBM Rational ClearCase ... • Subversion (SVN)

  4. Versionsverwaltung - Warum • 'Control' für alle Beteiligten: • Kontrolle über durchgeführte Änderungen • Sicherheit, dass alles sauber 'archiviert' ist • Sicherheit: Wer hat Was Wann (Wo) geändert. • Bei mehr als einem Entwickler bereits sinnvolles Werkzeug zum gemeinsamen Synchronisieren • Zentrale Datenhaltung

  5. Subversion (SVN) • Subversion (SVN) • Existiert seit 2000 • CollabNet, Inc., Brisbane, CA • Open-Source-Software • Versionsverwaltung • für Dateien und Verzeichnisse • Plattformen: • Windows, Mac OS, Linux, Unix, Solaris u.a. Simplify, Collaborate, Innovate Tigris.org Open Source Software Engineering Tools

  6. SVN - Client / Server • Server • Verwaltet ein zentrales Archiv (Repository) • Verfügt über ein einfaches Zugriffs-/ Benutzerkonzept • Client • Zugriff auf das Repository • Verwaltet lokale Arbeitskopien • Kommunikation über TCP/IP - Port 3690 (Standard)

  7. Download über www.trigris.org (z.B. svn-win32-1.5.6.zip) Unzip in ein Verzeichnis, z.B unter c:\program\svn Erzeugen eines Repositories mittels: bin\svnadmin create c:\data\svn_repository Konfigurieren des Repositories Anpassen der Zugriffsrechte in der Datei conf\svnserve.conf Einrichten von Benutzern in der Datei conf\passwd Start des Servers per: bin\svnserve -d -r c:\data\svn_repository Einrichten als Windows Service: sc create svnserver binpath= "c:\program\svn\bin\svnserve.exe --service -r c:\data\svn_repository" displayname= "Subversion" depend= Tcpip start= auto Start/Stop: sc start svnserver / sc stop svnserver SVN - Server Setup

  8. SVN - Client Software • SVN Client • Kommandozeile • Tortoise SVN ['tȯr-təs] • Windows Explorer Integration • PushOK SVN Proxy • Microsoft Source Code Control Interface (MSCCI) Implementierung • Subclipse • Eclipse Integration (Sybase Workspace) • AnkhSVN • Visual Studio Integration per SharpSvn

  9. Tortoise SVN • Explorer Integration • Checkout • Update • Add / Remove • Commit • Lock / Unlock uvm. • Repository Browser • Log Viewer • Revision Graph • Diff- / Merge-Tool • Blame ;-)

  10. Erzeugen einer Projekt Struktur im Repository Projektname trunk tags branches Zwei Möglichkeiten 1. Remote per Tortoise Repo-Browser (sehr einfach) 2. Import einer "Template"-Verzeichnishierarchie per Tortoise (noch einfacher) SVN - Projekt vorbereiten

  11. Vorbereiten PowerBuilder Verzeichnisstruktur (Empfehlungen) Workspace-Datei (pbw) sollte im Root-Verzeichnis des Projekts stehen. Je PBL ein Unterverzeichnis Resource-Files und sonstige Verzeichnisse strukturieren. SVN Checkout Checkout des trunk gegen das Root-Verzeichnis per Tortoise. PowerBuilder - SVN • Projectname • Workspace.pbw • main • main.pbl • target.pbt • Classes • Classes.pbl • Resources • Pic1.gif • App.ico

  12. Tortoise - SVN Checkout 1. Root-Verzeichnis auswählen und "SVN Checkout ..." 2. Als SVN URL den 'trunk' des Projektes angeben 3. Yes! 4. Icon Overlays+.svn Verzeichnis

  13. PowerBuilder - SVN SCC Proxy SVN URL: svn://localhost/pbtutor SVN Module: trunk Achtung: Darstellung des 'trunk' als 'Project' Name.

  14. PowerBuilder - SCC Menus PowerBuilder Integration • Add / Remove • Check In • Check Out • Undo Check Out • Diff • Show History • Refresh Status Plug-In Konfiguration • SVN URL Konfiguration Workspace Properties

  15. PB - Add to Source Control • Target und Objekte per "Add to Source Control" via PowerBuilder hinzufügen. • Neue pbg-Datei !

  16. Andere Dateien und Verzeichnisse via Tortoise hinzufügen (Add + Commit). Tortoise - Add to Source Control • Keine PBLs , pbc , opt oder sonstige unbekannten Dateien versionieren! ! !

  17. PowerBuilder SCC vs. SVN

  18. Externe Diff / Merge - Tools • Einbinden externer Tools via • PushOK SVN Proxy Properties • Tortoise Settings • Tools • WinMerge (http://winmerge.org/) • PB Delta (http://www.pbdr)

  19. Aufsetzen eines Developer Seats • SVN Checkout per Tortoise SVN • Bootstrapping • Orcascript • PowerGen (www.ecrane.com) • PowerBatch (www.sqlbatch.com) • Workspace + SCC Properties einrichten • Auch eine Workspace-Datei (pbw) kann unter Source Control gelegt werden.

  20. SVN - Herausforderungen I a • Verschieben von Objekten in PowerBuilder • Verschieben aus abc.pbl in def.pbl • Verschieben des Objekts per Drag 'n' Drop im Tortoise Repo-Browser (sofern PBLs in unterschiedlichen Verzeichnissen stehen). • Editieren der abc.pbg und def.pbg und Commit der Änderungen. • Anschließend GetLatest Version auf betroffene PBLs. • Objekt ist nun in def.pbl und befindet sich auch noch in abc.pbl - ist dort jedoch nicht mehr unter Source Control. • Objekt kann nun in abc.pbl gelöscht werden.

  21. SVN - Herausforderungen I b Editieren von PBG-Dateien Achtung! Zeile nicht einfach nur kopieren, sondern auf den Pfad und ggf. PBL Name achten!

  22. SVN - Herausforderungen II • Wenn der Server offline ist ... • PushOK SVN Proxy Properties lassen sich so einstellen, dass auch Offline • Check Out • Undo Check Out möglich sind. • Wenn der Server wieder online ist... • PushOK SVN Proxy Properties umstellen • Check In

  23. SVN - Unser tägliches Brot • Check Out und auch Undo Check Out ;-) • Check In • Ja ... aber wann? • Get Latest Version und Update • Ja... aber wann? • Wann erfolgt ein 'Check In' bzw. 'Commit'? • Size matters! • Größe des Teams • Komplexität der Software (Seiteneffekte) • Anzahl möglicher Varianten • Anzahl gleichzeitig zu betreuender Releases

More Related