Επόμενο Προηγούμενο Περιεχόμενα
Πριν να μπορέσουμε να τρέξουμε και να κάνουμε την
ενημέρωση, πρέπει να έχουμε δηλώσει μια μεταβλητή
συστήματος, την CVSROOT. Αυτή είναι η διαδρομή στον
απομακρυσμένο server που βρίσκονται τα προς λήψη αρχεία.
Αν και λογικά για να διαβάζετε αυτό το άρθρο ξέρετε πως
να θέσετε μια μεταβλητή συστήματος, θυμίζω για τους
νέους: Ο τρόπος είναι ανάλογος του shell που χρησιμοποιεί
ο καθένας.
Η πλειοψηφία έχει bash
(CVSROOT=':pserver:anonymous@cvs.enlightenment.org:/cvs/enlightenment'
; export CVSROOT) και υπάρχουν και λίγοι (αλλά δυνατοί!)
με csh ή κάτι αντίστοιχο (setenv CVSROOT =
':pserver:anonymous@cvs.enlightenment.org:/cvs/enlightenment')
Επόμενο βήμα είναι να κάνουμε login σε ένα CVS server,
στην παραπάνω περίπτωση θα κάνουμε Login στον CVS server
που περιέχει τον enlightenment.
cvs login
Σε αυτό το σημείο θα σας ζητήσει ένα password,
πατήστε απλά ENTER. Δεν θα χρειαστεί να ξανακάνουμε αυτό το
βήμα, εκτός αν κόψουμε πλέον τη σύνδεση!
Από αυτό το σημείο και πέρα, θα πάρουμε όλη τη δομή
καταλόγου του project στο δίσκο μας.
ΣΗΜΕΙΩΣΗ: Αν και για να μπορέσουμε να κάνουμε τον
enlightenment να δουλεύει, πρέπει να κατεβάσουμε πολλά
modules, εδώ θα αναφερόμαστε σε ένα για συντομία χρόνου
και χώρου.
Ο enlightenment αποτελείται από πολλά modules. Αυτά
είναι:
-
e
-
Eterm
-
imlib
-
fnlib
-
esound
-
audiofile
Εμείς θα ασχοληθούμε με το module της imlib, μιας
βιβλιοθήκης διαχείρισης γραφικών (μπορείτε φυσικά να
διαλέξετε ένα άλλο module)
Την κατεβάζουμε λοιπόν τοπικά με την εντολή:
cvs -z3 checkout imlib
Φυσικά, μπορούμε να πάρουμε και πάνω από ένα
module με μια εντολή:
cvs -z3 checkout imlib fnlib ...
Σε αυτό το σημείο έχουμε κατεβάσει όλο τον
κώδικα του module, και είμαστε έτοιμοι να κάνουμε τις
αλλαγές που θα κρίνουμε απαραίτητες ή αν δεν είμαστε στο
development team απλά να κάνουμε compile τον νέο μας
κώδικα!
ΠΡΟΣΟΧΗ: Δεν είναι ανάγκη να κάνουμε καμμία αλλαγή, οι
άνθρωποι που γράφουν τον κώδικα ξέρουν τι κάνουν. Αν
και εσείς ξέρετε τι κάνετε, δεν το βρίσκω πρέπoν να τους
αλλάξουμε των κώδικά τους!! (εκτός και αν ανήκετε στο
development team).
Ας δούμε το directory structure που δημιουργήθηκε στο
δίσκο μας. Έχει δημιουργηθεί ο κατάλογος
imlib/
που περιέχει όλον τον κώδικα, και
ένας κατάλογος CVS/
, στον οποίο το cvs έχει
καταγεγραμμένες πληροφορίες για καθένα από τα αρχεία ώστε
να μπορεί να καταλάβει τι αλλαγές κάναμε από τότε που το
κατεβάσαμε (Αυτό χρειάζεται για την περίπτωση που θέλουμε
να το ανεβάσουμε με δικές μας αλλαγές, ώστε να ξέρει τι
log file να δημιουργήσει).
Έχουμε πλέον την πιο νέα έκδοση του πακέτου αυτού!
Φυσικά, αυτό δεν είναι πάντα καλό, μια και πολλές φορές
το πακέτο που μόλις κατεβάσαμε δεν κάνει compile καν!
Φυσικό, όπως αντιλαμβάνεστε, μια και μιλάμε για ΧΟΝΤΡΟ
development, όπου συνήθως ενσωματώνονται νέα
χαρακτηριστικά. Είναι λοιπόν πιθανότατο ακόμα και αν
κάνει compile να μας ``κολλάει'' συνεχώς (core dumped
κ.λπ.). Σε αυτή την περίπτωση ή προσπαθούμε να το
φτιάξουμε μόνοι μας, ή... περιμένουμε να βγει νεότερη
έκδοση. Σε καμία περίπτωση μη στείλετε mail στους
developers να τους πείτε ``δεν δουλεύει αυ τό''. Πιστέψτε
με, το ξέρουν καλύτερα από εμάς!!
Την επόμενη φορά που θα πάμε στο CVS server για ανανέωση,
δεν θα κάνουμε checkout, αλλά update. Κάτι τέτοιο
σημαίνει ότι θα μας έρθουν μόνο τα πακέτα που έχουν
αλλάξει, και όχι όλα από την αρχή. Αυτό μπορεί να γίνει
με την εντολή:
cvs -z3 update -Pd imlib
Φυσικά, κάνουμε την προσευχή μας να κάνει
compile. Αν και πιστεύω ότι δεν θα εισακουστεί (μιλάω εκ
πείρας), πάντα υπάρχουν οι εξαιρέσεις, και πάντα γίνονται
θαύματα.
Οι απλοί χρήστες που θέλουν να έχουν την πιο νέα έκδοση
του λογισμικού στο δίσκο τους, και όχι να γράφουν κώδικα,
μόλις τελείωσαν το διάβασμα αυτού του άρθρου. Στη
συνέχεια, αυτό που εξηγείται είναι το πως το cvs
καταφέρνει να τα βγάζει πέρα με τυχόν conflicts (π.χ.:
δύο developers την ίδια στιγμή έκαναν revisions στο ίδιο
αρχείο), το πως μπορούμε να δημιουργήσουμε νέα αρχεία ή
και ολόκληρα directories και να τα συμπεριλάβουμε στο
repository του module.
Όσοι δεν ασχολείστε με προγραμματισμό, μην συνεχίσετε το
διάβασμα, εκτός αν θέλετε να μάθετε εγκυκλοπαιδικά πως
δουλεύει το CVS. Δεν είναι τίποτα δυσνόητο, αλλά κατά
πάσα πιθανότητα δε θα σας ενδιαφέρει.
Επόμενο Προηγούμενο Περιεχόμενα