Table of Contents
CVS - Διαχειριστής Εκδόσεων Αρχείων
Πηγές :
- Γενικό tutorial για cvs : http://www.linux.ie/articles/tutorials/cvs.php
- και ειδικό για debian : http://julien.herbin.ecranbleu.org/cvs_howto/
Ρύθμιση Server
Εγκατάσταση
apt-get install cvs
Αν δεν ξεκινήσει η αυτόματη ρύθμιση από το πακέτο, εκτελούμε
dpkg-reconfigure cvs
Δημιουργία Αποθετηρίου CVS
Έστω ότι θέλουμε να δημιουργήσουμε ένα νέο φάκελο με αρχεία στα οποία θα υπάρχει έλεγχος εκδόσεων κεντρικά από τον server και θα μπορούν πολλοί χρήστες να κάνουν αλλαγές. Ο φάκελος θα έχει όνομα my_cvs_module και θα βρίσκεται στον server κάτω από το /var/lib/cvs/
Θα ορίσουμε προσωρινά τον κατάλογο /var/lib/cvs/my_cvs_module ως CVSROOT (ριζικό κατάλογο CVS)
Ως υπερχρήστης εκτελούμε
export CVSROOT=/var/lib/cvs/my_cvs_module mkdir $CVSROOT
Ορίζουμε ομάδα src,
chown -R root.src $CVSROOT
στην οποία θα προσθέσουμε στην συνέχεια χρήστες, π.χ.
adduser vagelis src adduser manos src
που θα έχουν δικαιώματα εγγραφής στο αποθετήριό μας
chmod -R g+w $CVSROOT
Τέλος αρχικοποιούμε το αποθετήριό μας (η cvs init αρχικοποιεί τον φάκελο που δείχνει η μεταβλητή $CVSROOT)
cvs init
Ρύθμιση Client
Σύνδεση στον server τοπικά
Δημιουργούμε έναν τοπικό φάκελό στον οποίο θα δουλεύουμε
mkdir -p ~/tmp/mycvscheckouts/ cd ~/tmp/mycvscheckouts/ export CVSROOT=/var/lib/cvs/ cvs co my_cvs_module
Εάν δεν είχαμε μηνύματα λάθους σημαίνει ότι η ρύθμιση του cvs server έχει γίνει σωστά
Απομακρυσμένη σύνδεση στον server
Η σύνδεσή μας θα γίνεται μέσω ssh οπότε θα πρέπει ήδη να λειτουργεί εξυπηρετητής ssh στον server Θα δοκιμάσουμε σύνδεση μέσω ssh τοπικά. (Θα σβήσουμε τον φάκελο my_cvs_module από την προηγούμενη δοκιμή ώστε να είμαστε απόλυτα σίγουροι ότι δουλεύει και μέσω ssh)
cd ~/tmp/mycvscheckouts rm -rf my_cvs_module export CVSROOT=":ext:vagelis@localhost:/var/lib/cvs/" export CVS_RSH=ssh cvs co my_cvs_module vagelis@localhost's password:
Εάν δεν είχαμε μηνύματα λάθους σημαίνει ότι η σύνδεση και μέσω ssh είναι εντάξει Δοκιμάζουμε τέλος σύνδεση από απομακρυσμένο υπολογιστή εκτελώντας τις ίδιες εντολές, αλλάζοντας μόνο το localhost στην εξωτερική διεύθυνση του server
export CVSROOT=":ext:vagelis@localhost:/var/lib/cvs/"
σε π.χ.
export CVSROOT=":ext:vagelis@mydomain.com:/var/lib/cvs/"
Η σύνδεσή μας είναι ασφαλής έτσι όμως χρειάζεται να δίνουμε κάθε φορά το password. Χρησιμοποιώντας κάποιον πελάτη όπως cervisia αυτό θα χρειαζόταν να γίνεται δεκάδες φορές ενώ δουλεύουμε. Για να το αποφύγουμε μπορούμε να ρυθμίσουμε σύνδεση με ssh μέσω κλειδιού όποτε και δεν θα μας ζητείται το password. Για την ρύθμιση αυτή όπως και για την σύνδεση σε ssh server που ακούει σε άλλη θύρα από την 22 δείτε τις παρακάτω οδηγίες : SSH - Ασφαλής απομακρυσμένη σύνδεση σε γραμμή εντολών
cervisia - Γραφική Εφαρμογή Πελάτη CVS
Θα εγκαταστήσουμε την γραφική εφαρμογή πελάτη cervisia
aptitude install cervisia
Από το μενού Χώρος Αποθήκευσης/Χώροι Αποθήκευσης επιλέγουμε Προσθήκη και καταχωρούμε τα παρακάτω
| Χώρος αποθήκευσης | :ext:vagelis@mydomain.com:/var/lib/cvs |
|---|---|
| Χρήση απομακρυσμένου κελύφους | ssh |
Από το μενού Χώρος Αποθήκευσης/Έλεγχος Εξόδου (checkout), επιλέγουμε τον χώρο αποθήκευσης που ορίσαμε πριν καθώς και
| Άρθρωμα | my_cvs_module |
|---|---|
| Φάκελος εργασίας | ~/tmp/mycvscheckouts |
Προσοχή ο φάκελος εργασίας να είναι σε σύστημα αρχείων linux (ext2,ext3, κτλ)
Από το μενου Αρχείο/Άνοιγμα Τοπικού Αντιγράφου ανοίγουμε τον τοπικό φάκελο εργασίας ~/tmp/mycvscheckouts/my_cvs_module
Προσθήκη αρχείων και φακέλων στο αποθετήριο
Θα προσθέσουμε έναν νέο φάκελο και ένα αρχείο κειμένου στο αποθετήριο και στην συνέχεια ένα αρχείο ως δυαδικού τύπου (π.χ. εικόνα)
- Δημιουργούμε έναν νέο φάκελο μέσα στον τοπικό φάκελο εργασίας π.χ. ~/tmp/mycvscheckouts/my_cvs_module/newfolder
- Αντιγράφουμε το νέο αρχείο κειμένου π.χ. newfile.txt στον νέο φάκελο ~/tmp/mycvscheckouts/my_cvs_module/newfolder
- Από το μενου Αρχείο/Άνοιγμα Τοπικού Αντιγράφου ανοίγουμε τον τοπικό φάκελο εργασίας ~/tmp/mycvscheckouts/my_cvs_module
- Επιλέγουμε τον νέο φάκελο πρώτα
- Από το μενού επιλέγουμε Αρχείο/Προσθήκη στον χώρο φύλαξης
- Από το μενού επιλέγουμε Αρχείο/Καταχώρηση, γράφοντας και κάποιο σχόλιο (π.χ. αρχική προσθήκη φακέλου)
- Επιλέγουμε το αρχείο κειμένου και κάνουμε τις ίδιες ενέργειες όπως πριν για τον φάκελο
- Τέλος επιλέγουμε ένα γενικού τύπου αρχείο (π.χ. εικόνα)
- Από το μενού επιλέγουμε Αρχείο/Προσθήκη Δυαδικού αρχείου
- Από το μενού επιλέγουμε Αρχείο/Καταχώρηση
Ενημέρωση τοπικών αρχείων από δικτυακό αποθετήριο
Καλό είναι να ενημέρόσουμε όλα τα τοπικά αρχεία και τους φακέλους με τις αλλαγές από το αποθετήριο
- Τσεκάρουμε απο το μενού Ρυθμίσεις/Ενημέρωση Αναδρομικά
- Με CTRL-A επιλέγουμε όλα τα αρχεία
- Από το μενού επιλέγουμε Αρχείο/Ενημέρωση
Αλλαγή αρχείων και καταχώρηση στο αποθετήριο
Αφού έχουμε κάνει ενημέρωση, μπορούμε να κάνουμε αλλαγές στο τοπικό αρχείο και όταν θελήσουμε να τις καταχωρήσουμε στο αποθετήριο από το μενού Αρχείο/Καταχώρηση
