Whitespace only change. Reindent/reformat the source of the Greek
`cvs-freebsd' article, after the latest changes.
This commit is contained in:
parent
fdfec9fe4a
commit
1ddd496322
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30801
1 changed files with 194 additions and 190 deletions
|
@ -33,36 +33,37 @@
|
|||
|
||||
<abstract>
|
||||
<para>Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω
|
||||
ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών (scripts)
|
||||
με αυτά που χρησιμοποιεί και το &os; project στη δική του
|
||||
ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών
|
||||
(scripts) με αυτά που χρησιμοποιεί και το &os; project στη δική του
|
||||
εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα
|
||||
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο
|
||||
λεπτομερή έλεγχο πρόσβασης στο δέντρο του κώδικα καθώς και
|
||||
αυτόματη παραγωγή ευανάγνωστων email με λεπτομέρειες για κάθε
|
||||
αλλαγή στον πηγαίο κώδικα (commit).</para>
|
||||
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο λεπτομερή έλεγχο
|
||||
πρόσβασης στο δέντρο του κώδικα καθώς και αυτόματη παραγωγή
|
||||
ευανάγνωστων email με λεπτομέρειες για κάθε αλλαγή στον πηγαίο κώδικα
|
||||
(commit).</para>
|
||||
</abstract>
|
||||
</articleinfo>
|
||||
|
||||
<sect1 id="introduction">
|
||||
<title>Εισαγωγή</title>
|
||||
|
||||
<para>Τα περισσότερα projects ελεύθερου λογισμικού (free software) και ανοιχτού κώδικα (open source) χρησιμοποιούν το
|
||||
<para>Τα περισσότερα projects ελεύθερου λογισμικού (free software) και
|
||||
ανοιχτού κώδικα (open source) χρησιμοποιούν το
|
||||
<application>CVS</application> σαν σύστημα ελέγχου του κώδικά τους.
|
||||
Παρόλο που το <application>CVS</application> είναι πολύ καλό σε αυτόν
|
||||
τον τομέα έχει κι αυτό το μερίδιό του σε ελαττώματα και αδυναμίες. Μια
|
||||
από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα να οδηγήσει
|
||||
σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία να
|
||||
προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
|
||||
από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα
|
||||
να οδηγήσει σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία
|
||||
να προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
|
||||
πρόσβαση.</para>
|
||||
|
||||
<para>Η ομάδα ανάπτυξης του &os; χρησιμοποιεί εκτενώς το
|
||||
<application>CVS</application>. Διαθέτει επίσης μια μεγάλη βάση από
|
||||
προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν μερικά
|
||||
αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository πιο εύκολη.
|
||||
Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν από τον
|
||||
&a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
|
||||
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων
|
||||
αρχείων δέσμης εντολών.</para>
|
||||
προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν
|
||||
μερικά αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository
|
||||
πιο εύκολη. Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν
|
||||
από τον &a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
|
||||
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων αρχείων
|
||||
δέσμης εντολών.</para>
|
||||
|
||||
<para>Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις
|
||||
πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους
|
||||
|
@ -73,11 +74,10 @@
|
|||
<title>Πρώτη Εγκατάσταση</title>
|
||||
|
||||
<warning>
|
||||
<para>Είναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη
|
||||
διαδικασία χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να
|
||||
είναι βέβαιο ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε
|
||||
σιγουρευτείτε ότι έχετε πρόσφατα backups, τα οποία εγγυημένα
|
||||
δουλεύουν!</para>
|
||||
<para>Είναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη διαδικασία
|
||||
χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να είναι βέβαιο
|
||||
ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε σιγουρευτείτε
|
||||
ότι έχετε πρόσφατα backups, τα οποία εγγυημένα δουλεύουν!</para>
|
||||
</warning>
|
||||
|
||||
<sect2>
|
||||
|
@ -90,18 +90,18 @@
|
|||
<screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-repository</replaceable> init</userinput></screen>
|
||||
|
||||
<para>Αυτό λέει στο <application>CVS</application> να δημιουργήσει τον
|
||||
φάκελο διαχείρισης <filename role="directory">CVSROOT</filename>, όπου συμβαίνουν όλες
|
||||
οι παραμετροποιήσεις.</para>
|
||||
φάκελο διαχείρισης <filename role="directory">CVSROOT</filename>, όπου
|
||||
συμβαίνουν όλες οι παραμετροποιήσεις.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Η ομάδα του repository</title>
|
||||
|
||||
<para>Τώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το
|
||||
repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την ομάδα,
|
||||
ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό θα
|
||||
χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό και το
|
||||
&os;, την ομάδα <literal>ncvs</literal>.</para>
|
||||
repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την
|
||||
ομάδα, ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό
|
||||
θα χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό
|
||||
και το &os;, την ομάδα <literal>ncvs</literal>.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs</replaceable></userinput></screen>
|
||||
|
||||
|
@ -109,54 +109,57 @@
|
|||
με παράμετρο την ομάδα που μόλις προσθέσατε, θέτοντας έτσι την ομάδα
|
||||
στην οποία ανήκει ο κατάλογος:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs</replaceable> <replaceable>path-to-your-repository</replaceable></userinput></screen>
|
||||
<screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs</replaceable> <replaceable>path-to-your-repository</replaceable></userinput></screen>
|
||||
|
||||
<para>Αυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository αν
|
||||
δεν ανήκει στην σωστή ομάδα.</para>
|
||||
<para>Αυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository
|
||||
αν δεν ανήκει στην σωστή ομάδα.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Παίρνοντας τον πηγαίο κώδικα</title>
|
||||
|
||||
<para>Τώρα θα πρέπει να αποκτήσετε τον κατάλογο <filename role="directory">CVSROOT</filename>
|
||||
από το repository του &os;. Αυτό γίνεται εύκολα, κάνοντας
|
||||
check out από ένα ανοιχτής πρόσβασης &os; CVS mirror. Δείτε <ulink
|
||||
url="&url.books.handbook;/anoncvs.html">το
|
||||
σχετικό κεφάλαιο στο εγχειρίδιο</ulink> για περισσότερες
|
||||
πληροφορίες. Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
|
||||
κατάλογο <filename role="directory">CVSROOT-freebsd</filename> που βρίσκεται μέσα στον
|
||||
τρέχοντα κατάλογο.</para>
|
||||
<para>Τώρα θα πρέπει να αποκτήσετε τον κατάλογο
|
||||
<filename role="directory">CVSROOT</filename> από το repository του
|
||||
&os;. Αυτό γίνεται εύκολα, κάνοντας check out από ένα ανοιχτής
|
||||
πρόσβασης &os; CVS mirror.
|
||||
Δείτε <ulink url="&url.books.handbook;/anoncvs.html">το σχετικό
|
||||
κεφάλαιο στο εγχειρίδιο</ulink> για περισσότερες πληροφορίες.
|
||||
Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
|
||||
κατάλογο <filename role="directory">CVSROOT-freebsd</filename> που
|
||||
βρίσκεται μέσα στον τρέχοντα κατάλογο.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Αντιγράφοντας τα scripts του &os;</title>
|
||||
|
||||
<para>Ύστερα, αντιγράφουμε τον πηγαίο κώδικα από τον
|
||||
<filename role="directory">CVSROOT</filename> κατάλογο του &os; στο δικό μας repository. Αν είστε
|
||||
συνηθισμένος με το <application>CVS</application>, ίσως να
|
||||
σας περάσει από το μυαλό να προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να
|
||||
γίνει ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος.
|
||||
Ωστόσο, αποδεικνύεται ότι το <application>CVS</application> παρουσιάζει
|
||||
μια δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
|
||||
στο <filename role="directory">CVSROOT</filename> φάκελο, δεν θα ενημερωθούν τα
|
||||
απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το κάνετε να τα
|
||||
αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε αρχείο αφού
|
||||
έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία του
|
||||
<literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος είναι
|
||||
απλά να αντιγράψετε τα scripts.</para>
|
||||
<filename role="directory">CVSROOT</filename> κατάλογο του &os; στο
|
||||
δικό μας repository. Αν είστε συνηθισμένος με
|
||||
το <application>CVS</application>, ίσως να σας περάσει από το μυαλό να
|
||||
προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να γίνει
|
||||
ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος. Ωστόσο,
|
||||
αποδεικνύεται ότι το <application>CVS</application> παρουσιάζει μια
|
||||
δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
|
||||
στο <filename role="directory">CVSROOT</filename> φάκελο, δεν θα
|
||||
ενημερωθούν τα απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το
|
||||
κάνετε να τα αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε
|
||||
αρχείο αφού έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία
|
||||
του <literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος
|
||||
είναι απλά να αντιγράψετε τα scripts.</para>
|
||||
|
||||
<para>Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας
|
||||
φαίνεται πολύ ξεκάθαρη—το τελικό αποτέλέσμα είναι το ίδιο. Απλά
|
||||
ελέγξτε τον <filename role="directory">CVSROOT</filename> φάκελο και αντιγράψτε τα
|
||||
&os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα) αντίγραφα:</para>
|
||||
ελέγξτε τον <filename role="directory">CVSROOT</filename> φάκελο και
|
||||
αντιγράψτε τα &os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα)
|
||||
αντίγραφα:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-your-repository</replaceable> checkout CVSROOT</userinput>
|
||||
&prompt.user; <userinput>cd CVSROOT</userinput>
|
||||
&prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput>
|
||||
&prompt.user; <userinput>cvs add *</userinput></screen>
|
||||
|
||||
<para>Σημειώστε ότι πιθανότατα θα πάρετε μερικές προειδοποιήσεις σχετικά με
|
||||
το ότι μερικοί φάκελοι δεν θα αντιγραφούν. Δεν πειράζει. Δεν τους
|
||||
<para>Σημειώστε ότι πιθανότατα θα πάρετε μερικές προειδοποιήσεις σχετικά
|
||||
με το ότι μερικοί φάκελοι δεν θα αντιγραφούν. Δεν πειράζει. Δεν τους
|
||||
χρειάζεστε αυτούς τους καταλόγους.</para>
|
||||
</sect2>
|
||||
|
||||
|
@ -171,22 +174,22 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><filename>access</filename> - το αρχείο αυτό δεν
|
||||
χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις του <application>CVS</application>. Χρησιμοποιείται μόνο
|
||||
στην <link linkend="freebsdspecific">ειδική εγκατάσταση του
|
||||
&os; project</link>, για να ελέγχεται η πρόσβαση στο
|
||||
repository. Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας
|
||||
ενδιαφέρει να χρησιμοποιήσετε κάτι τέτοιο στη δική σας
|
||||
εγκατάσταση.</para>
|
||||
χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις
|
||||
του <application>CVS</application>. Χρησιμοποιείται μόνο
|
||||
στην <link linkend="freebsdspecific">ειδική εγκατάσταση του &os;
|
||||
project</link>, για να ελέγχεται η πρόσβαση στο repository.
|
||||
Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας ενδιαφέρει να
|
||||
χρησιμοποιήσετε κάτι τέτοιο στη δική σας εγκατάσταση.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><filename>avail</filename> - το αρχείο αυτό ελέγχει την
|
||||
πρόσβαση στο repository ανά κατάλογο ή αρχείο. Μέσα σε αυτό, μπορείτε να καθορίσετε
|
||||
ομάδες χρηστών στους οποίους θέλετε να δώσετε πρόσβαση στο
|
||||
repository, όπως επίσης και να απαγορέψετε commits σε επίπεδο
|
||||
καταλόγου ή αρχείου. Θα πρέπει να το προσαρμόσετε ώστε να περιέχει τις ομάδες
|
||||
χρηστών και τους φακέλους που θα υπάρχουν στο δικό σας
|
||||
repository.</para>
|
||||
πρόσβαση στο repository ανά κατάλογο ή αρχείο. Μέσα σε αυτό,
|
||||
μπορείτε να καθορίσετε ομάδες χρηστών στους οποίους θέλετε να
|
||||
δώσετε πρόσβαση στο repository, όπως επίσης και να απαγορέψετε
|
||||
commits σε επίπεδο καταλόγου ή αρχείου. Θα πρέπει να το
|
||||
προσαρμόσετε ώστε να περιέχει τις ομάδες χρηστών και τους φακέλους
|
||||
που θα υπάρχουν στο δικό σας repository.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -200,17 +203,17 @@
|
|||
<listitem>
|
||||
<para><filename>cfg_local.pm</filename> - το αρχείο αυτό περιέχει
|
||||
όλες τις ρυθμιζόμενες παραμέτρους του συστήματος. Θα πρέπει να
|
||||
κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα στέλνονται τα
|
||||
email από κάθε commit, σε ποιους hosts θα επιτρέπεται να γίνονται commit,
|
||||
κλπ. Περισσότερες πληροφορίες σχετικά με αυτό θα βρείτε
|
||||
παρακάτω.</para>
|
||||
κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα
|
||||
στέλνονται τα email από κάθε commit, σε ποιους hosts θα
|
||||
επιτρέπεται να γίνονται commit, κλπ. Περισσότερες πληροφορίες
|
||||
σχετικά με αυτό θα βρείτε παρακάτω.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><filename>checkoutlist</filename> - το αρχείο αυτό
|
||||
περιλαμβάνει όλα τα αρχεία που βρίσκονται κάτω από τον έλεγχο του
|
||||
<application>CVS</application> στον κατάλογο αυτό—όλα
|
||||
εκτός από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
|
||||
<application>CVS</application> στον κατάλογο αυτό—όλα εκτός
|
||||
από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
|
||||
<command>cvs init</command>. Θα πρέπει να
|
||||
το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το &os;,
|
||||
αρχεία.</para>
|
||||
|
@ -219,8 +222,8 @@
|
|||
<listitem>
|
||||
<para><filename>commit_prep.pl</filename> - το script αυτό εκτελεί
|
||||
διάφορους ελέγχους πριν από κάθε commit, ανάλογα με τις ρυθμίσεις
|
||||
που έχετε κάνει στο αρχείο <filename>cfg_local.pm</filename>. Δεν θα
|
||||
χρειαστεί να πειράξετε αυτό το αρχείο.</para>
|
||||
που έχετε κάνει στο αρχείο <filename>cfg_local.pm</filename>. Δεν
|
||||
θα χρειαστεί να πειράξετε αυτό το αρχείο.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -249,13 +252,13 @@
|
|||
repository. Θα πρέπει να κάνετε αλλαγές σ' αυτό το αρχείο ανάλογα
|
||||
με τις ανάγκες σας, αλλά οι περισσότεροι διαχειριστές μπορούν να
|
||||
αφήσουν τις εξ' ορισμού ρυθμίσεις. Περισσότερες πληροφορίες για
|
||||
τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό μπορείτε να βρείτε
|
||||
στο εγχειρίδιο του <application>CVS</application>.</para>
|
||||
τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό
|
||||
μπορείτε να βρείτε στο εγχειρίδιο του <application>CVS</application>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><filename>cvs_acls.pl</filename> - το script αυτό ελέγχει
|
||||
την ταυτότητα του committer, και αν επιτρέπεται αυτός να έχει πρόσβαση
|
||||
<para><filename>cvs_acls.pl</filename> - το script αυτό ελέγχει την
|
||||
ταυτότητα του committer, και αν επιτρέπεται αυτός να έχει πρόσβαση
|
||||
στο δέντρο του κώδικα. Αυτό γίνεται με βάση το
|
||||
αρχείο <filename>avail</filename>. Δεν θα χρειαστεί να πειράξετε
|
||||
αυτό το αρχείο.</para>
|
||||
|
@ -306,18 +309,19 @@
|
|||
<para><filename>exclude</filename> - το αρχείο αυτό περιέχει κανονικές
|
||||
εκφράσεις (regular expressions) που χρησιμοποιούνται από το πρόγραμμα
|
||||
<filename>commit_prep.pl</filename> για να προσδιοριστούν τα
|
||||
αρχεία που
|
||||
δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης (revision
|
||||
header). Στην εγκατάσταση του &os;, όλα τα αρχεία κάτω από έλεγχο
|
||||
επισκόπησης (revision control) είναι απαραίτητο να περιέχουν μια
|
||||
επικεφαλίδα επισκόπησης (όπως $FreeBSD$). Όλα τα ονόματα
|
||||
αρχείων που ταιριάζουν με τουλάχιστον μια από τις γραμμές του
|
||||
αρχείου αυτού εξαιρούνται από τον συγκεκριμένο έλεγχο. Θα πρέπει
|
||||
να προσθέσετε τις ανάλογες κανονικές εκφράσεις στο αρχείο αυτό
|
||||
όταν κάνετε checkin αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα
|
||||
επισκόπησης. Κατά τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να είναι
|
||||
καλύτερα να εξαιρείται ο κατάλογος <filename role="directory">CVSROOT/</filename>
|
||||
από τον έλεγχο των headers.</para>
|
||||
αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα
|
||||
επισκόπησης (revision header). Στην εγκατάσταση του &os;, όλα τα
|
||||
αρχεία κάτω από έλεγχο επισκόπησης (revision control) είναι
|
||||
απαραίτητο να περιέχουν μια επικεφαλίδα επισκόπησης (όπως
|
||||
$FreeBSD$). Όλα τα ονόματα αρχείων που ταιριάζουν
|
||||
με τουλάχιστον μια από τις γραμμές του αρχείου αυτού εξαιρούνται
|
||||
από τον συγκεκριμένο έλεγχο. Θα πρέπει να προσθέσετε τις ανάλογες
|
||||
κανονικές εκφράσεις στο αρχείο αυτό όταν κάνετε checkin αρχεία που
|
||||
δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης. Κατά
|
||||
τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να
|
||||
είναι καλύτερα να εξαιρείται ο
|
||||
κατάλογος <filename role="directory">CVSROOT/</filename> από τον
|
||||
έλεγχο των headers.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -325,8 +329,8 @@
|
|||
που παίρνει το log μήνυμα όπως αυτό δίνεται από το
|
||||
<filename>logcheck</filename> script, και το προσθέτει στο τέλος
|
||||
ενός αρχείου log στο repository, έτσι ώστε να υπάρχουν αντίγραφα
|
||||
ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα mail στην email
|
||||
διεύθυνση που έχετε δηλώσει (στο
|
||||
ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα
|
||||
mail στην email διεύθυνση που έχετε δηλώσει (στο
|
||||
<filename>cfg_local.pm</filename>). Συνεργάζεται με το
|
||||
<application>CVS</application> μέσω του αρχείου
|
||||
<filename>loginfo</filename>. Δεν θα χρειαστεί να πειράξετε το
|
||||
|
@ -370,9 +374,8 @@
|
|||
παραδοσιακή του σημασία στο <application>CVS</application>. Θα
|
||||
πρέπει να αφαιρέσετε τα &os; modules από την κανονική έκδοση.
|
||||
Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες
|
||||
σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι
|
||||
διαθέσιμες στο εγχειρίδιο του
|
||||
<application>CVS</application>.</para>
|
||||
σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες
|
||||
στο εγχειρίδιο του <application>CVS</application>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -416,8 +419,8 @@
|
|||
|
||||
<listitem>
|
||||
<para><filename>tagcheck</filename> - το αρχείο αυτό ελέγχει την
|
||||
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση του
|
||||
&os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
|
||||
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση
|
||||
του &os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
|
||||
διαδικασίας δημιουργίας των επίσημων εκδόσεων. Θα πρέπει να
|
||||
επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες
|
||||
προτιμήσεις.</para>
|
||||
|
@ -431,10 +434,10 @@
|
|||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><filename>unwrap</filename> - το αρχείο αυτό μπορεί να χρησιμοποιηθεί για το
|
||||
αυτόματο <quote>unwrap</quote> των binary αρχείων (δείτε
|
||||
<filename>cvswrappers</filename>) στο checkout. Δεν
|
||||
χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os;
|
||||
<para><filename>unwrap</filename> - το αρχείο αυτό μπορεί να
|
||||
χρησιμοποιηθεί για το αυτόματο <quote>unwrap</quote> των binary
|
||||
αρχείων (δείτε <filename>cvswrappers</filename>) στο checkout.
|
||||
Δεν χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os;
|
||||
επειδή δεν λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
|
||||
χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para>
|
||||
</listitem>
|
||||
|
@ -469,8 +472,9 @@
|
|||
<procedure>
|
||||
<step>
|
||||
<para>Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts
|
||||
οι οποίες χρησιμοποιούνται <link linkend="freebsdspecific">αποκλειστικά από το
|
||||
&os;</link>, μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
|
||||
οι οποίες χρησιμοποιούνται
|
||||
<link linkend="freebsdspecific">αποκλειστικά από το &os;</link>,
|
||||
μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
|
||||
<filename>access</filename>:
|
||||
|
||||
<screen>&prompt.user; <userinput>cvs rm -f access</userinput></screen></para>
|
||||
|
@ -486,9 +490,9 @@
|
|||
<para>Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και
|
||||
ομάδες από committers. Εξ' ορισμού, το &os; χρησιμοποιεί το
|
||||
αρχείο <filename>access</filename> για την τοποθέτηση όλων των
|
||||
committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο επιθυμείτε.
|
||||
Μπορείτε επίσης να προσθέσετε και ομάδες αν το επιθυμείτε (η
|
||||
σύνταξη καθορίζεται στην κορυφή του αρχείου
|
||||
committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο
|
||||
επιθυμείτε. Μπορείτε επίσης να προσθέσετε και ομάδες αν το
|
||||
επιθυμείτε (η σύνταξη καθορίζεται στην κορυφή του αρχείου
|
||||
<filename>cvs_acls.pl</filename>).</para>
|
||||
</step>
|
||||
|
||||
|
@ -497,72 +501,70 @@
|
|||
περιέχει τις επιλογές που επιθυμείτε. Πιο συγκεκριμένα, θα πρέπει
|
||||
να ελέγξετε τις παρακάτω τροποποιήσιμες επιλογές:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>%TEMPLATE_HEADERS</literal> - Αυτές οι επικεφαλίδες
|
||||
επεξεργάζονται από τα log scripts, και τοποθετούνται κάτω
|
||||
από το mail του κάθε commit αν υπάρχουν και δεν είναι κενές
|
||||
στο μήνυμα του commit. Γενικά, μπορείτε να αφαιρέσετε
|
||||
τις καταχωρήσεις <literal>PR</literal> και
|
||||
<literal>MFC after</literal>—αφού αυτές σχετίζονται με
|
||||
το bug tracking σύστημα του &os; και τον τρόπο που
|
||||
διαχειρίζεται το &os; τα branches του repository του.
|
||||
Και φυσικά μπορείτε να προσθέσετε τις δικές σας.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>$MAIL_BRANCH_HDR</literal> - Αν θέλετε να
|
||||
προστίθεται αυτόματα μια επικεφαλίδα σε κάθε commit μήνυμα mail, η οποία θα
|
||||
περιγράφει το branch στο οποίο έγινε το συγκεκριμένο commit,
|
||||
ορίστε την τιμή αυτή να ταιριάζει με την δική σας
|
||||
εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να προστίθεται αυτόματα μια
|
||||
τέτοια επικεφαλίδα.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>@COMMIT_HOSTS</literal> - Ορίστε την τιμή αυτή
|
||||
σε μια λίστα από συστήματα (hosts), από τα οποία επιτρέπεται
|
||||
να γίνονται commits.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>$MAILADDRS</literal> - Ρυθμίστε αυτή την τιμή
|
||||
στο email του διαχειριστή ή σε μια διεύθυνση λίστας στην
|
||||
οποία θέλετε να πηγαίνουν τα mail των commit
|
||||
μηνυμάτων.</para>
|
||||
</listitem>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>%TEMPLATE_HEADERS</literal> - Αυτές οι
|
||||
επικεφαλίδες επεξεργάζονται από τα log scripts, και
|
||||
τοποθετούνται κάτω από το mail του κάθε commit αν υπάρχουν και
|
||||
δεν είναι κενές στο μήνυμα του commit. Γενικά, μπορείτε να
|
||||
αφαιρέσετε τις καταχωρήσεις <literal>PR</literal> και
|
||||
<literal>MFC after</literal>—αφού αυτές σχετίζονται με
|
||||
το bug tracking σύστημα του &os; και τον τρόπο που
|
||||
διαχειρίζεται το &os; τα branches του repository του. Και
|
||||
φυσικά μπορείτε να προσθέσετε τις δικές σας.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>@LOG_FILE_MAP</literal> - Αλλάξτε αυτό το array
|
||||
όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
|
||||
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
|
||||
commit αποθηκεύεται κάτω από τον κατάλογο
|
||||
<filename role="directory">CVSROOT</filename>, στον υποκατάλογο
|
||||
<filename role="directory">commitlogs</filename>, στο αρχείο που
|
||||
αναφέρεται στην αντίστοιχη εγγραφή του
|
||||
πίνακα <literal>@LOG_FILE_MAP</literal>.</para>
|
||||
</listitem>
|
||||
<para><literal>$MAIL_BRANCH_HDR</literal> - Αν θέλετε να
|
||||
προστίθεται αυτόματα μια επικεφαλίδα σε κάθε commit μήνυμα
|
||||
mail, η οποία θα περιγράφει το branch στο οποίο έγινε το
|
||||
συγκεκριμένο commit, ορίστε την τιμή αυτή να ταιριάζει με την
|
||||
δική σας εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να
|
||||
προστίθεται αυτόματα μια τέτοια επικεφαλίδα.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>$COMMITCHECK_EXTRA</literal> - Αν δεν θέλετε να
|
||||
χρησιμοποιήσετε <link linkend="freebsdspecific">τους
|
||||
ίδιους ελέγχους πρόσβασης με το &os;</link>, θα πρέπει να
|
||||
αφαιρέσετε τον ορισμό της τιμής
|
||||
<literal>$COMMITCHECK_EXTRA</literal> από το αρχείο
|
||||
αυτό.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<listitem>
|
||||
<para><literal>@COMMIT_HOSTS</literal> - Ορίστε την τιμή αυτή σε
|
||||
μια λίστα από συστήματα (hosts), από τα οποία επιτρέπεται να
|
||||
γίνονται commits.</para>
|
||||
</listitem>
|
||||
|
||||
<note>
|
||||
<para>Η αλλαγή της παραμέτρου <literal>$IDHEADER</literal> είναι
|
||||
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες &os;. Εξαρτάται
|
||||
από ειδικές μετατροπές του &os; στο
|
||||
<application>CVS</application>.</para>
|
||||
</note>
|
||||
<listitem>
|
||||
<para><literal>$MAILADDRS</literal> - Ρυθμίστε αυτή την τιμή στο
|
||||
email του διαχειριστή ή σε μια διεύθυνση λίστας στην οποία
|
||||
θέλετε να πηγαίνουν τα mail των commit μηνυμάτων.</para>
|
||||
</listitem>
|
||||
|
||||
<para>Μπορείτε να ελέγξετε το αρχείο <filename>cfg.pm</filename> για να
|
||||
δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι παραπάνω
|
||||
είναι οι πιο συνήθεις επιλογές.</para>
|
||||
<listitem>
|
||||
<para><literal>@LOG_FILE_MAP</literal> - Αλλάξτε αυτό το array
|
||||
όπως επιθυμείτε. Κάθε regexp αντιστοιχεί στο συγκεκριμένο
|
||||
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
|
||||
commit αποθηκεύεται κάτω από τον κατάλογο
|
||||
<filename role="directory">CVSROOT</filename>, στον υποκατάλογο
|
||||
<filename role="directory">commitlogs</filename>, στο αρχείο
|
||||
που αναφέρεται στην αντίστοιχη εγγραφή του
|
||||
πίνακα <literal>@LOG_FILE_MAP</literal>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><literal>$COMMITCHECK_EXTRA</literal> - Αν δεν θέλετε να
|
||||
χρησιμοποιήσετε <link linkend="freebsdspecific">τους ίδιους
|
||||
ελέγχους πρόσβασης με το &os;</link>, θα πρέπει να αφαιρέσετε
|
||||
τον ορισμό της τιμής <literal>$COMMITCHECK_EXTRA</literal> από
|
||||
το αρχείο αυτό.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<note>
|
||||
<para>Η αλλαγή της παραμέτρου <literal>$IDHEADER</literal> είναι
|
||||
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες &os;.
|
||||
Εξαρτάται από ειδικές μετατροπές του &os; στο
|
||||
<application>CVS</application>.</para>
|
||||
</note>
|
||||
|
||||
<para>Μπορείτε να ελέγξετε το αρχείο <filename>cfg.pm</filename> για
|
||||
να δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι
|
||||
παραπάνω είναι οι πιο συνήθεις επιλογές.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
|
@ -573,10 +575,10 @@
|
|||
<literal>^CVSROOT/</literal>, και προσθέστε μια γραμμή που θα
|
||||
περιέχει μόνο το <literal>^CVSROOT/</literal>. Αφού εγκατασταθεί
|
||||
ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία
|
||||
που βρίσκονται μέσα στον κατάλογο <filename role="directory">CVSROOT</filename> και
|
||||
να επαναφέρετε τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας
|
||||
δημιουργήσουν προβλήματα όταν θα προσπαθήσετε να κάνετε commit
|
||||
αργότερα.</para>
|
||||
που βρίσκονται μέσα στον κατάλογο
|
||||
<filename role="directory">CVSROOT</filename> και να επαναφέρετε
|
||||
τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας δημιουργήσουν
|
||||
προβλήματα όταν θα προσπαθήσετε να κάνετε commit αργότερα.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
|
@ -630,11 +632,11 @@
|
|||
|
||||
<para>Τώρα, αφού ελέγξετε τα πάντα προσεκτικά, θα πρέπει να κάνετε
|
||||
commit τις αλλαγές σας. Φροντίστε να είστε σίγουροι ότι έχετε δώσει
|
||||
στον εαυτό σας πρόσβαση στον φάκελο <filename role="directory">CVSROOT</filename> μέσα
|
||||
από το αρχείο <filename>avail</filename> πριν κάνετε οτιδήποτε, εφόσον
|
||||
στην αντίθετη περίπτωση θα κλειδώσετε τον εαυτό σας έξω. Οπότε,
|
||||
φροντίστε τα πάντα να είναι όπως επιθυμείτε, και μόνο τότε δώστε τα
|
||||
ακόλουθα:
|
||||
στον εαυτό σας πρόσβαση στον
|
||||
φάκελο <filename role="directory">CVSROOT</filename> μέσα από το
|
||||
αρχείο <filename>avail</filename> πριν κάνετε οτιδήποτε, εφόσον στην
|
||||
αντίθετη περίπτωση θα κλειδώσετε τον εαυτό σας έξω. Οπότε, φροντίστε
|
||||
τα πάντα να είναι όπως επιθυμείτε, και μόνο τότε δώστε τα ακόλουθα:
|
||||
|
||||
<screen>&prompt.user; <userinput>cvs commit -m '<replaceable>- Initial FreeBSD scripts commit</replaceable>'</userinput></screen></para>
|
||||
</sect2>
|
||||
|
@ -648,8 +650,8 @@
|
|||
|
||||
<screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' avail</userinput></screen>
|
||||
|
||||
<para>Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια πλήρως
|
||||
λειτουργική εγκατάσταση των &os; scripts για το repository σας.
|
||||
<para>Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια
|
||||
πλήρως λειτουργική εγκατάσταση των &os; scripts για το repository σας.
|
||||
Στην περίπτωση που το <application>CVS</application> εξακολουθεί να
|
||||
παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και
|
||||
ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα
|
||||
|
@ -662,12 +664,13 @@
|
|||
|
||||
<para>Το ίδιο το &os; project χρησιμοποιεί μια ελαφρώς διαφορετική
|
||||
εγκατάσταση, η οποία χρησιμοποιεί επίσης αρχεία από τον υποφάκελο
|
||||
<filename role="directory">freebsd</filename> του <filename role="directory">CVSROOT</filename> που
|
||||
χρησιμοποιείται στο &os;. Το project χρειάζεται κάτι τέτοιο λόγω του
|
||||
μεγάλου αριθμού των committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι
|
||||
στο ίδιο group. Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού
|
||||
πρώτα εξασφαλίζει τα σωστά διαπιστευτήρια των committers, αλλάζει
|
||||
μετέπειτα το group id σε αυτό του repository.</para>
|
||||
<filename role="directory">freebsd</filename> του
|
||||
<filename role="directory">CVSROOT</filename> που χρησιμοποιείται στο
|
||||
&os;. Το project χρειάζεται κάτι τέτοιο λόγω του μεγάλου αριθμού των
|
||||
committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι στο ίδιο group.
|
||||
Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού πρώτα εξασφαλίζει
|
||||
τα σωστά διαπιστευτήρια των committers, αλλάζει μετέπειτα το group id σε
|
||||
αυτό του repository.</para>
|
||||
|
||||
<para>Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που
|
||||
θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε
|
||||
|
@ -706,8 +709,8 @@
|
|||
<listitem>
|
||||
<para><filename>freebsd/mailsend.c</filename> - το αρχείο αυτό
|
||||
χρειάζεται για την σχετική με τις λίστες ταχυδρομείου
|
||||
εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το
|
||||
αρχείο αυτό.</para>
|
||||
εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το αρχείο
|
||||
αυτό.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
@ -751,12 +754,13 @@
|
|||
<para>Μεταγλωττίστε τον κώδικα που έχετε ήδη διορθώσει ώστε να
|
||||
περιέχει τα σωστά paths:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
|
||||
<screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
|
||||
|
||||
<para>Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας τα ακόλουθα βήματα (θα πρέπει να είστε
|
||||
root για το βήμα αυτό):</para>
|
||||
<para>Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας
|
||||
τα ακόλουθα βήματα (θα πρέπει να είστε root για το βήμα
|
||||
αυτό):</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs</userinput>
|
||||
<screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs</userinput>
|
||||
&prompt.root; <userinput>mv cvs /usr/bin/cvs</userinput>
|
||||
&prompt.root; <userinput>chown root:<replaceable>ncvs</replaceable> /usr/bin/cvs /usr/bin/ncvs</userinput>
|
||||
&prompt.root; <userinput>chmod o-rx /usr/bin/ncvs</userinput>
|
||||
|
|
Loading…
Reference in a new issue