Table of Contents

CVS - Διαχειριστής Εκδόσεων Αρχείων

Πηγές :

Ρύθμιση 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

Προσθήκη αρχείων και φακέλων στο αποθετήριο

Θα προσθέσουμε έναν νέο φάκελο και ένα αρχείο κειμένου στο αποθετήριο και στην συνέχεια ένα αρχείο ως δυαδικού τύπου (π.χ. εικόνα)

  1. Δημιουργούμε έναν νέο φάκελο μέσα στον τοπικό φάκελο εργασίας π.χ. ~/tmp/mycvscheckouts/my_cvs_module/newfolder
  2. Αντιγράφουμε το νέο αρχείο κειμένου π.χ. newfile.txt στον νέο φάκελο ~/tmp/mycvscheckouts/my_cvs_module/newfolder
  3. Από το μενου Αρχείο/Άνοιγμα Τοπικού Αντιγράφου ανοίγουμε τον τοπικό φάκελο εργασίας ~/tmp/mycvscheckouts/my_cvs_module
  4. Επιλέγουμε τον νέο φάκελο πρώτα
    • Από το μενού επιλέγουμε Αρχείο/Προσθήκη στον χώρο φύλαξης
    • Από το μενού επιλέγουμε Αρχείο/Καταχώρηση, γράφοντας και κάποιο σχόλιο (π.χ. αρχική προσθήκη φακέλου)
  5. Επιλέγουμε το αρχείο κειμένου και κάνουμε τις ίδιες ενέργειες όπως πριν για τον φάκελο
  6. Τέλος επιλέγουμε ένα γενικού τύπου αρχείο (π.χ. εικόνα)
    • Από το μενού επιλέγουμε Αρχείο/Προσθήκη Δυαδικού αρχείου
    • Από το μενού επιλέγουμε Αρχείο/Καταχώρηση

Ενημέρωση τοπικών αρχείων από δικτυακό αποθετήριο

Καλό είναι να ενημέρόσουμε όλα τα τοπικά αρχεία και τους φακέλους με τις αλλαγές από το αποθετήριο

  1. Τσεκάρουμε απο το μενού Ρυθμίσεις/Ενημέρωση Αναδρομικά
  2. Με CTRL-A επιλέγουμε όλα τα αρχεία
  3. Από το μενού επιλέγουμε Αρχείο/Ενημέρωση

Αλλαγή αρχείων και καταχώρηση στο αποθετήριο

Αφού έχουμε κάνει ενημέρωση, μπορούμε να κάνουμε αλλαγές στο τοπικό αρχείο και όταν θελήσουμε να τις καταχωρήσουμε στο αποθετήριο από το μενού Αρχείο/Καταχώρηση