Εισαγωγή στα SCM εργαλεία και στο Subversion

Σχετικά έγγραφα
Subversion. Τριγάζη Ελισάβετ. Επιβλέπων: Μηνάς Δασυγένης

SUBVERSION. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Δ. Ζήνδρος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Σεμινάριο Git & GitLab. Τάκης Παναγόπουλος Νικόλας Μπομπέτσης

Σεμινάριο Git & GitLab. Γιώργος Τσιάτσιος Δημήτρης Κάσσος

Version Control Systems Mercurial SCM. Μανώλης Κιαγιάς

Σεμινάριο Git & GitHub. Θέμης Παπαμελετίου Διονύσης Ζήνδρος

Σεμινάριο Git & GitHub Ημέρα 2

Θερινό Σχολείο, Ιουλίου Εισαγωγή στο. Αχιλλέας Πιπινέλης. Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών Χειμερινό Εξάμηνο

Εργαστήριο 2. Εισαγωγή στο Git Versioning System

TasPython. Εισαγωγή στο Mercurial

Βάιος Κολοφωτιάς Msc Informational Systems. Μια εισαγωγή στο GIT

Fedora, Google, Transifex κι άλλα μυστήρια

Εργαλεία Ανάπτυξης Κώδικα ΕΛ/ΛΑΚ. Απόστολος Βόγκλης Βασίλειος Καραβασίλης Μονάδα Αριστείας ΕΛΛΑΚ ΕΤΕΠΗ 25/06/2014

CS255 - Programming Lab

Άδειες open source Εργαλεία Ανάπτυξης Κώδικα ΕΛ/ΛΑΚ. Απόστολος Βόγκλης Βασίλειος Καραβασίλης Μονάδα Αριστείας ΕΛΛΑΚ ΕΤΕΠΗ 22/10/2014

Άδειες open source Εργαλεία Ανάπτυξης Κώδικα ΕΛ/ΛΑΚ. Απόστολος Βόγκλης Βασίλειος Καραβασίλης Μονάδα Αριστείας ΕΛΛΑΚ ΕΤΕΠΗ 9/3/2015

Γεω-χωρικές υπηρεσίες και τεχνολογίες WEB. Βασίλειος Βεσκούκης Μηχανικός ΗΥ, Επ.Καθ. ΕΜΠ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑΤΟΣ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Αρχιτεκτονική Υπολογιστών

Το ελεύθερο λογισμικό στη ζωή μας

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

ΕΓΧΕΙΡΙΔΙΟ ΥΠΗΡΕΣΙΑΣ ΣΥΛΛΟΓΙΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΕΓΓΡΑΦΩΝ

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Διάλεξη 18: Ανάπτυξη Λογισμικού σε Ομάδες και Λογισμικό Ανοικτού Πηγαίου Κώδικα

Οδηγός για το... Git & Github

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Διάλεξη 17: Ανάπτυξη Λογισμικού σε Ομάδες και Λογισμικό Ανοικτού Πηγαίου Κώδικα

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

BetaCMS. Επισκόπηση. Γρηγόρης Χωματάς BetaCONCEPT. BetaCONCEPT

Διάλεξη 17: Ανάπτυξη Λογισμικού σε Ομάδες και Λογισμικό Ανοικτού Πηγαίου Κώδικα

Git - Version Control System

"Αθηνά" - Ερευνητικό Κέντρο Καινοτομίας στις Τεχνολογίες της Πληροφορίας, των Επικοινωνιών και της Γνώσης

Υλοποίηση σχημάτων ασφαλείας σε ασύρματα δίκτυα

Κωδικοποίηση και Έλεγχος Ορθότητας

Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου

Τ.Ε.Ι. Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων Μεσολόγγι. 6 η Διάλεξη. Μάθημα: Τεχνολογίες Διαδικτύου

ΔΗΜΙΟΥΡΓΙΑ ΚΑΤΑΛΟΓΟΥ ΕΤΕΡΟΑΝΑΦΟΡΩΝ

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

Οδηγός εκκαθάρισης spam

03 Τεχνική διαχείριση έργων λογισμικού

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

Τ.Ε.Ι. Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων Μεσολόγγι. 6 η Διάλεξη. Μάθημα: Τεχνολογίες Διαδικτύου

Ανοικτά Δεδομένα. Η εμπειρία του OpenDataCloud

Το FreeBSD Project. Γιώργος Κεραμίδας

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

Εξελιγμένη διαχείριση της πλατφόρμας από τους Χρήστες:

11/28/2016 Απόδοση Συστημάτων, Remote Jmeter και Dacappo

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

οµή της παρουσίασης Στατιστικά στοιχεία Άδειες χρήσης Γενικά στοιχεία Βασικά χαρακτηριστικά του browser

1. ΕΙΣΑΓΩΓΗ ΣΤΟ GRASS GIS 1.1. ΤΙ ΕΙΝΑΙ ΤΟ GRASS GIS ;

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

Τ.Ε.Ι. Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων Μεσολόγγι. 6 η Διάλεξη. Μάθημα: Τεχνολογίες Διαδικτύου

ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ

Παρουσίαση Innovathens 2014

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Με λίγα λόγια, το TCP/IP καθορίζει τον τρόπο που πακετάρονται και μεταφέρονται τα δεδομένα της σύνδεσής μας.

ΘΕΜΑΤΑ ΔΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ ΓΙΑ ΤΟ

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

Θεσσαλονίκη, 04/10/2013 Αρ.Πρωτ.: 97276/2013. Γραφείο:

Περιγραφή του EcoTruck

Ενιαίο Σύστημα Ψηφιακής Βιβλιοθήκης του Πανεπιστημίου Αθηνών

Παρουσίαση Innovathens 2014

ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr)

HY-486 Αρχές Κατανεμημένου Υπολογισμού

Κανόνες για ανάπτυξη διαγραµµάτων κλάσεων

Δημιουργία μιας εφαρμογής Java με το NetBeans

*Μικροί Εκπαιδευτές. για το Διαδίκτυο. Δράση 3

Οδηγός επιλογής χρήσης εργαλείου zimbra webmail ή MS Outlook για τη νέα Υπηρεσία Συνεργασίας & Επικοινωνίας

ALERTS ή EDA (Event Driven Actions)

Οι διαδικασίες ενος CMS είναι σχεδιασμένες για να:

Προδιαγραφές Απαιτήσεων Γιάννης Σμαραγδάκης

Παραµετροποίηση συστήµατος διαχείρισης περιεχοµένου ανοιχτού κώδικα για την παροχή ηλεκτρονικών υπηρεσιών µε χρήση µεταδεδοµένων που συντηρούνται από

Πώς τροποποιούμε το Invenio;

ΕΠΛ 012 Εισαγωγή στο Παγκόσμιο Πλέγμα Πληροφοριών

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΜΗΜΑΤΟΣ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Εισαγγελέας: Δευτέρα 03/10/2011, η ημέρα της δολοφονίας της Souzan Anders. Παρατηρήσατε κάτι περίεργο στην συμπεριφορά του κατηγορούμενου;

αντίστοιχο γεγονός. Όταν όντως το κουμπί

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ FORUM SITE

ΤΟ ΟΝΕΙΡΟ ΚΑΙ ΤΟ Σ ΑΓΑΠΑΩ

Τεχνολογία Λογισμικού

Tο περιβάλλον Code::Blocks

Ελεύθερο Λογισμικό και GNU/Linux

Ενότητα 1: HTTP, Clients και Servers. (Web, το θεμέλιο του Σημασιολογικού Ιστού)

Γεννηθήκαμε και υπήρξαμε μωρά. Κλαίγαμε, τρώγαμε, γελάγαμε, κοιμόμασταν, ξυπνάγαμε, λερωνόμασταν.

Unity Editor #04 Κεντρικό Μενού: Edit, Unity Preferences

Σύντομη εισαγωγή στο Unix

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

αξιοποίηση των ΤΠΕ: Η logo στη διδακτική διδακτική πράξη

28η Συνάντηση Εκπαιδευτικών Δυτικής Μακεδονίας στις ΤΠΕ Φλώρινα 7/4/2013. To wordpress εγκατάσταση στο ΠΣΔ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

sch-scripts Προσαρμογή του Ubuntu για τα ελληνικά σχολεία

10 η Διάλεξη Python Βάσεις δεδομένων στη python

ΖΕΡΔΑΛΗΣ ΣΩΤΗΡΙΟΣ ΤΟ ΟΥΤΙ ΣΤΗ ΒΕΡΟΙΑ (1922-ΣΗΜΕΡΑ) ΘΕΣΣΑΛΟΝΙΚΗ

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Transcript:

Εισαγωγή στα SCM εργαλεία και στο Subversion Παπαδημητρίου Λάμπρος OSS Event #2 Τμήμα Πληροφορικής/Πανεπιστήμιο Πειραιά 30 Νοεμβρίου, 2007

Περιεχόμενα Προβλήματα σε projects Συνεργασία Διαχείριση εκδόσεων Οργάνωση SCM εργαλεία Εισαγωγή Μοντέλα Λειτουργίας SCM Έννοιες Βασικές Εργασίες

Περιεχόμενα Subversion Εισαγωγή Χαρακτηριστικά Βασικός κύκλος εργασιών Συνοψίζοντας Μια ματιά στο Trac

Προβλήματα - Συνεργασία ρε, πείραξα την κλάση Χ για να παίζει ο web client ΩΧ! την άλλαξα από τότε που την πήρες Ποια Χ; Γιατί δεν την ξέρω εγώ! Αδύνατο να συγχρονιστούν οι προγραμματιστές σε ένα αντικείμενο. Αποκλείεται να γράφεις ξεχωριστό κομμάτι κώδικα χωρίς να συνδέεται κάπου Κάθε ένας γράφει κώδικα σε διαφορετική έκδοση και δημιουργεί διαφορετικές πάλι Ο συντονισμός των παραπάνω είναι ανυπόφορος

Διαχείριση Εκδόσεων αναπόφευκτό να μην πειραματιστείς στην ανάπτυξη λογισμικού Τα λάθη ανθρώπινα (εκδόσεις;) Τα backups τελικά δεν είναι λύση! Κάπου θα λησμονήσεις κάτι που έσβησες πριν από καιρό... Σίγουρα η αναίρεση του IDE δεν θα σου φτάνει...

Οργάνωση Καταντάει βαρετό να απαντάς στον καθένα για ένα πρόβλημα που ήδη κοιτάς. Κανείς δεν καταλαβαίνει πλήρως την συνολική πρόοδο του έργου (αλλαγές;) Κανείς δεν είναι πλήρως ενημερωμένος για το έργο (χρήστες/προγραματιστές/συ ντονιστής) Το έργο καταντάει... δυο λαλούν και τρεις χορεύουν

CSM εργαλεία - Εισαγωγή Τα Source Code Management (SCM) εργαλεία παρέχουν τις παρακάτω λειτουργίες: Διαχειρίζονται αρχεία και καταλόγους Καταγράφουν τις αλλαγές που κάνεις Κρατάνε ιστορικό των αλλαγών που έχουν γίνει SCM εργαλεία ανοιχτού λογισμικού: RCS, CVS, Subversion Arc, Monotone, Bazaar, Mercurial, Git Εύρος επιλογών σε plugins και GUI εφαρμογές

Μοντέλα λειτουργίας SCM Κλείδωμα αρχείων (File locking) Συγχώνευση εκδόσεων (Version merge) Κεντρικοποιημένος / Κατανεμημένος έλεγχος εκδόσεων.

Έννοιες Branch: Σύνολο αρχείων που ακολουθούν διαφορετική γραμμή ανάπτυξης. Πχ, διαφορετικές εκδόσεις του έργου (stable, unstable) Tag: Αναφέρεται σε ένα σημαντικό στιγμιότυπο του έργου (π.χ. stable release 1.0) Trunk: Η βασική γραμμή ανάπτυξης του έργου (τελευταία πρόοδος) Working copy: Το αντίγραφο που έχουμε εμείς από το σύστημα και δουλεύουμε Repository: εκεί που αποθηκεύονται τα αρχεία και το ιστορικό τους.

Βασικές εργασίες check-out: δημιουργεί ένα τοπικό working copy από το repository. commit: μεταφέρουμε τις αλλαγές που έγιναν στο working copy στο repository import: μεταφέρουμε τα τοπικά αρχεία στο repository για πρώτη φορά update: Ανανέωση του working copy με τις αλλαγές που βρίσκονται στο repository export: μεταφέρει τα αρχεία από το repository στον τοπικό δίσκο (δεν φτιάχνει working copy) conflict: Συμβαίνει όταν δύο αλλαγές από διαφορετικές ομάδες γίνονται στο ίδιο μέρος

Subversion - Εισαγωγή Σκοπός του subversion: Αντικατάσταση CVS :) Μοιάζει στον τρόπο λειτουργίας, αλλα ΔΙΑΦΕΡΕΙ Ευρέως γνωστό στον χώρο των SCM GCC, Mono, Apache, Python, KDE,... Πληθώρα plugins, GUI εφαρμογών ksvn, esvn, rapidsvn, tortoisesvn,... Kdevelop, Eclipse, NetBeans, [JDeveloper, VirtualSVN] Απλό & σταθερό Υψηλό επίπεδο υποστήριξης

Βασικά Χαρακτηριστικά #1 Ατομικά commits Κατάλογοι & μεταδεδομένα περνάνε σε εκδόσεις Πραγματικό ιστορικό εκδόσεων Έξυπνα braches και tags Τοπικοποίηση Hackability

Βασικά Χαρακτηριστικά #2 Επιλογές σε επίπεδα δικτύου Apache HTTP Server + mod_dav_svn αυθεντικοποίηση και path-based εξουσιοδότηση SSL (ασφάλεια) HEAD browsing, απλό webdav svnserve ελαφρύ και απέριττο ασφαλές μέσω SSH Σταθερός χειρισμός δεδομένων (binary & text) Σταθερός αλγόριθμος για δυαδικές διαφορές

Βασικός Κύκλος Εργασιών #1 1.checkout σε ένα working copy $ svn checkout http://biftekoupoli/svn/test/ $ cd trunk 2.update $ svn update 3.Κάνουμε τις αλλαγές μας $ svn delete simplelib.c $ vim test.c 4.Ελέγχουμε τις αλλαγές μας $ svn status / svn diff TODO

Βασικός Κύκλος Εργασιών #2 5.Αν χρειάζεται αναιρούμε τις αλλαγές μας $ svn revert 6.Διορθώνουμε conflicts (προσθέτουμε αλλαγές άλλων) $ svn update $ vim test.c $ svn resolved test.c 7.Υποβάλλουμε και εμείς τις αλλαγές μας $ svn commit -m Added help function

Συνοψίζοντας Για να φτιάξετε repository χρειάζεται τα εξής: svnadmin create /home/username/repository/ svn import myproject file:///home/username/repository/ Επόμενες εκδόσεις Subversion: 1.5 2.0 Περισσότερες πληροφορίες http://subversion.tigris.org/ http://svnbook.red-bean.org/

Μια ματιά στο Trac Παρακολουθεί SCM Ωραίο GUI Επιπλέον εργαλεία: Wiki Roadmap Tickets RSS feeds Search

ΤΕΛΟΣ! ΕΡΩΤΗΣΕΙΣ;