Whitespace only change. Reindent/reformat the source of the Greek

`cvs-freebsd' article, after the latest changes.
This commit is contained in:
Giorgos Keramidas 2007-09-17 21:09:34 +00:00
parent fdfec9fe4a
commit 1ddd496322
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30801

View file

@ -33,36 +33,37 @@
<abstract> <abstract>
<para>Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω <para>Το άρθρο αυτό περιγράφει τα βήματα που έκανα για να εγκαταστήσω
ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών (scripts) ένα CVS repository που χρησιμοποιεί τα ίδια αρχεία δέσμης εντολών
με αυτά που χρησιμοποιεί και το &os; project στη δική του (scripts) με αυτά που χρησιμοποιεί και το &os; project στη δική του
εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα εγκατάσταση. Η συγκεκριμένη προσέγγιση έχει αρκετά πλεονεκτήματα
έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο έναντι μιας τυποποιημένης CVS εγκατάστασης, όπως πιο λεπτομερή έλεγχο
λεπτομερή έλεγχο πρόσβασης στο δέντρο του κώδικα καθώς και πρόσβασης στο δέντρο του κώδικα καθώς και αυτόματη παραγωγή
αυτόματη παραγωγή ευανάγνωστων email με λεπτομέρειες για κάθε ευανάγνωστων email με λεπτομέρειες για κάθε αλλαγή στον πηγαίο κώδικα
αλλαγή στον πηγαίο κώδικα (commit).</para> (commit).</para>
</abstract> </abstract>
</articleinfo> </articleinfo>
<sect1 id="introduction"> <sect1 id="introduction">
<title>Εισαγωγή</title> <title>Εισαγωγή</title>
<para>Τα περισσότερα projects ελεύθερου λογισμικού (free software) και ανοιχτού κώδικα (open source) χρησιμοποιούν το <para>Τα περισσότερα projects ελεύθερου λογισμικού (free software) και
ανοιχτού κώδικα (open source) χρησιμοποιούν το
<application>CVS</application> σαν σύστημα ελέγχου του κώδικά τους. <application>CVS</application> σαν σύστημα ελέγχου του κώδικά τους.
Παρόλο που το <application>CVS</application> είναι πολύ καλό σε αυτόν Παρόλο που το <application>CVS</application> είναι πολύ καλό σε αυτόν
τον τομέα έχει κι αυτό το μερίδιό του σε ελαττώματα και αδυναμίες. Μια τον τομέα έχει κι αυτό το μερίδιό του σε ελαττώματα και αδυναμίες. Μια
από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα να οδηγήσει από αυτές τις αδυναμίες είναι το ότι η κοινή χρήση κώδικα μπορεί γρήγορα
σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία να να οδηγήσει σε έναν διαχειριστικό εφιάλτη, ειδικά αν υπάρχει η επιθυμία
προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή να προστατευτούν ορισμένα κομμάτια του δέντρου του κώδικα από κοινή
πρόσβαση.</para> πρόσβαση.</para>
<para>Η ομάδα ανάπτυξης του &os; χρησιμοποιεί εκτενώς το <para>Η ομάδα ανάπτυξης του &os; χρησιμοποιεί εκτενώς το
<application>CVS</application>. Διαθέτει επίσης μια μεγάλη βάση από <application>CVS</application>. Διαθέτει επίσης μια μεγάλη βάση από
προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν μερικά προγραμματιστές από πολλές διαφορετικές χώρες. Αναπτύχθηκαν λοιπόν
αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository πιο εύκολη. μερικά αρχεία δέσμης εντολών για να κάνουν την διαχείριση του repository
Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν από τον πιο εύκολη. Πρόσφατα τα αρχεία αυτά αναθεωρήθηκαν και κανονικοποιήθηκαν
&a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα από τον &a.joe; για να είναι πιο εύκολο να χρησιμοποιηθούν και σε άλλα
έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων έργα. Το άρθρο αυτό περιγράφει μια μέθοδο χρήσης αυτών των νέων αρχείων
αρχείων δέσμης εντολών.</para> δέσμης εντολών.</para>
<para>Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις <para>Για να μπορέσετε να χρησιμοποιήσετε με τον καλύτερο τρόπο τις
πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους πληροφορίες αυτού του άρθρου θα πρέπει να γνωρίζετε τις βασικές μεθόδους
@ -73,11 +74,10 @@
<title>Πρώτη Εγκατάσταση</title> <title>Πρώτη Εγκατάσταση</title>
<warning> <warning>
<para>Είναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη <para>Είναι καλή ιδέα να εκτελέσετε για πρώτη φορά αυτή τη διαδικασία
διαδικασία χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να χρησιμοποιώντας ένα κενό δοκιμαστικό repository, για να είναι βέβαιο
είναι βέβαιο ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε ότι θα κατανοήσετε όλες τις συνέπειες. Πριν ξεκινήσετε σιγουρευτείτε
σιγουρευτείτε ότι έχετε πρόσφατα backups, τα οποία εγγυημένα ότι έχετε πρόσφατα backups, τα οποία εγγυημένα δουλεύουν!</para>
δουλεύουν!</para>
</warning> </warning>
<sect2> <sect2>
@ -90,18 +90,18 @@
<screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-repository</replaceable> init</userinput></screen> <screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-repository</replaceable> init</userinput></screen>
<para>Αυτό λέει στο <application>CVS</application> να δημιουργήσει τον <para>Αυτό λέει στο <application>CVS</application> να δημιουργήσει τον
φάκελο διαχείρισης <filename role="directory">CVSROOT</filename>, όπου συμβαίνουν όλες φάκελο διαχείρισης <filename role="directory">CVSROOT</filename>, όπου
οι παραμετροποιήσεις.</para> συμβαίνουν όλες οι παραμετροποιήσεις.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Η ομάδα του repository</title> <title>Η ομάδα του repository</title>
<para>Τώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το <para>Τώρα θα δημιουργήσουμε την ομάδα στην οποία θα ανήκει το
repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την ομάδα, repository. Όλοι οι committers θα πρέπει να ανήκουν σε αυτή την
ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό θα ομάδα, ώστε να μπορούν να γράφουν στο repository. Για το σκοπό αυτό
χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό και το θα χρησιμοποιήσουμε την ίδια ομάδα που χρησιμοποιεί γι' αυτό το σκοπό
&os;, την ομάδα <literal>ncvs</literal>.</para> και το &os;, την ομάδα <literal>ncvs</literal>.</para>
<screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs</replaceable></userinput></screen> <screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs</replaceable></userinput></screen>
@ -111,52 +111,55 @@
<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>Αυτό εξασφαλίζει ότι κανείς δεν θα μπορεί να γράψει στο repository
δεν ανήκει στην σωστή ομάδα.</para> αν δεν ανήκει στην σωστή ομάδα.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Παίρνοντας τον πηγαίο κώδικα</title> <title>Παίρνοντας τον πηγαίο κώδικα</title>
<para>Τώρα θα πρέπει να αποκτήσετε τον κατάλογο <filename role="directory">CVSROOT</filename> <para>Τώρα θα πρέπει να αποκτήσετε τον κατάλογο
από το repository του &os;. Αυτό γίνεται εύκολα, κάνοντας <filename role="directory">CVSROOT</filename> από το repository του
check out από ένα ανοιχτής πρόσβασης &os; CVS mirror. Δείτε <ulink &os;. Αυτό γίνεται εύκολα, κάνοντας check out από ένα ανοιχτής
url="&url.books.handbook;/anoncvs.html">το πρόσβασης &os; CVS mirror.
σχετικό κεφάλαιο στο εγχειρίδιο</ulink> για περισσότερες Δείτε <ulink url="&url.books.handbook;/anoncvs.html">το σχετικό
πληροφορίες. Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον κεφάλαιο στο εγχειρίδιο</ulink> για περισσότερες πληροφορίες.
κατάλογο <filename role="directory">CVSROOT-freebsd</filename> που βρίσκεται μέσα στον Ας υποθέσουμε ότι ο πηγαίος κώδικας θα αποθηκευτεί στον
τρέχοντα κατάλογο.</para> κατάλογο <filename role="directory">CVSROOT-freebsd</filename> που
βρίσκεται μέσα στον τρέχοντα κατάλογο.</para>
</sect2> </sect2>
<sect2> <sect2>
<title>Αντιγράφοντας τα scripts του &os;</title> <title>Αντιγράφοντας τα scripts του &os;</title>
<para>Ύστερα, αντιγράφουμε τον πηγαίο κώδικα από τον <para>Ύστερα, αντιγράφουμε τον πηγαίο κώδικα από τον
<filename role="directory">CVSROOT</filename> κατάλογο του &os; στο δικό μας repository. Αν είστε <filename role="directory">CVSROOT</filename> κατάλογο του &os; στο
συνηθισμένος με το <application>CVS</application>, ίσως να δικό μας repository. Αν είστε συνηθισμένος με
σας περάσει από το μυαλό να προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να το <application>CVS</application>, ίσως να σας περάσει από το μυαλό να
γίνει ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος. προσπαθήσετε να κάνετε import τα scripts, σε μια προσπάθεια να γίνει
Ωστόσο, αποδεικνύεται ότι το <application>CVS</application> παρουσιάζει ύστερα ο συγχρονισμός με τις κατοπινές εκδόσεις ευκολότερος. Ωστόσο,
μια δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα αποδεικνύεται ότι το <application>CVS</application> παρουσιάζει μια
στο <filename role="directory">CVSROOT</filename> φάκελο, δεν θα ενημερωθούν τα δυσλειτουργία στην περιοχή αυτή: Όταν εισάγετε πηγαίο κώδικα μέσα
απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το κάνετε να τα στο <filename role="directory">CVSROOT</filename> φάκελο, δεν θα
αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε αρχείο αφού ενημερωθούν τα απαραίτητα αρχεία διαχείρισης. Για να μπορέσετε να το
έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία του κάνετε να τα αναγνωρίσει, θα πρέπει να κάνετε checkin ξεχωριστά κάθε
<literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος είναι αρχείο αφού έχετε τελειώσει με την εισαγωγή, χάνοντας έτσι την αξία
απλά να αντιγράψετε τα scripts.</para> του <literal>cvs import</literal>. Επομένως, η προτεινόμενη μέθοδος
είναι απλά να αντιγράψετε τα scripts.</para>
<para>Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας <para>Δεν είναι και τόσο σημαντικό το αν η παραπάνω παράγραφος δεν σας
φαίνεται πολύ ξεκάθαρη&mdash;το τελικό αποτέλέσμα είναι το ίδιο. Απλά φαίνεται πολύ ξεκάθαρη&mdash;το τελικό αποτέλέσμα είναι το ίδιο. Απλά
ελέγξτε τον <filename role="directory">CVSROOT</filename> φάκελο και αντιγράψτε τα ελέγξτε τον <filename role="directory">CVSROOT</filename> φάκελο και
&os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα) αντίγραφα:</para> αντιγράψτε τα &os; αρχεία πάνω από τα δικά σας τοπικά (απείραχτα)
αντίγραφα:</para>
<screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-your-repository</replaceable> checkout CVSROOT</userinput> <screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-your-repository</replaceable> checkout CVSROOT</userinput>
&prompt.user; <userinput>cd CVSROOT</userinput> &prompt.user; <userinput>cd CVSROOT</userinput>
&prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput> &prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput>
&prompt.user; <userinput>cvs add *</userinput></screen> &prompt.user; <userinput>cvs add *</userinput></screen>
<para>Σημειώστε ότι πιθανότατα θα πάρετε μερικές προειδοποιήσεις σχετικά με <para>Σημειώστε ότι πιθανότατα θα πάρετε μερικές προειδοποιήσεις σχετικά
το ότι μερικοί φάκελοι δεν θα αντιγραφούν. Δεν πειράζει. Δεν τους με το ότι μερικοί φάκελοι δεν θα αντιγραφούν. Δεν πειράζει. Δεν τους
χρειάζεστε αυτούς τους καταλόγους.</para> χρειάζεστε αυτούς τους καταλόγους.</para>
</sect2> </sect2>
@ -171,22 +174,22 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><filename>access</filename> - το αρχείο αυτό δεν <para><filename>access</filename> - το αρχείο αυτό δεν
χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις του <application>CVS</application>. Χρησιμοποιείται μόνο χρησιμοποιείται στις συνηθισμένες εγκαταστάσεις
στην <link linkend="freebsdspecific">ειδική εγκατάσταση του του <application>CVS</application>. Χρησιμοποιείται μόνο
&os; project</link>, για να ελέγχεται η πρόσβαση στο στην <link linkend="freebsdspecific">ειδική εγκατάσταση του &os;
repository. Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας project</link>, για να ελέγχεται η πρόσβαση στο repository.
ενδιαφέρει να χρησιμοποιήσετε κάτι τέτοιο στη δική σας Μπορείτε να αφαιρέσετε αυτό το αρχείο αν δεν σας ενδιαφέρει να
εγκατάσταση.</para> χρησιμοποιήσετε κάτι τέτοιο στη δική σας εγκατάσταση.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><filename>avail</filename> - το αρχείο αυτό ελέγχει την <para><filename>avail</filename> - το αρχείο αυτό ελέγχει την
πρόσβαση στο repository ανά κατάλογο ή αρχείο. Μέσα σε αυτό, μπορείτε να καθορίσετε πρόσβαση στο repository ανά κατάλογο ή αρχείο. Μέσα σε αυτό,
ομάδες χρηστών στους οποίους θέλετε να δώσετε πρόσβαση στο μπορείτε να καθορίσετε ομάδες χρηστών στους οποίους θέλετε να
repository, όπως επίσης και να απαγορέψετε commits σε επίπεδο δώσετε πρόσβαση στο repository, όπως επίσης και να απαγορέψετε
καταλόγου ή αρχείου. Θα πρέπει να το προσαρμόσετε ώστε να περιέχει τις ομάδες commits σε επίπεδο καταλόγου ή αρχείου. Θα πρέπει να το
χρηστών και τους φακέλους που θα υπάρχουν στο δικό σας προσαρμόσετε ώστε να περιέχει τις ομάδες χρηστών και τους φακέλους
repository.</para> που θα υπάρχουν στο δικό σας repository.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -200,17 +203,17 @@
<listitem> <listitem>
<para><filename>cfg_local.pm</filename> - το αρχείο αυτό περιέχει <para><filename>cfg_local.pm</filename> - το αρχείο αυτό περιέχει
όλες τις ρυθμιζόμενες παραμέτρους του συστήματος. Θα πρέπει να όλες τις ρυθμιζόμενες παραμέτρους του συστήματος. Θα πρέπει να
κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα στέλνονται τα κάνετε οποιεσδήποτε ρυθμίσεις σας εδώ, όπως σε ποια διεύθυνση θα
email από κάθε commit, σε ποιους hosts θα επιτρέπεται να γίνονται commit, στέλνονται τα email από κάθε commit, σε ποιους hosts θα
κλπ. Περισσότερες πληροφορίες σχετικά με αυτό θα βρείτε επιτρέπεται να γίνονται commit, κλπ. Περισσότερες πληροφορίες
παρακάτω.</para> σχετικά με αυτό θα βρείτε παρακάτω.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><filename>checkoutlist</filename> - το αρχείο αυτό <para><filename>checkoutlist</filename> - το αρχείο αυτό
περιλαμβάνει όλα τα αρχεία που βρίσκονται κάτω από τον έλεγχο του περιλαμβάνει όλα τα αρχεία που βρίσκονται κάτω από τον έλεγχο του
<application>CVS</application> στον κατάλογο αυτό&mdash;όλα <application>CVS</application> στον κατάλογο αυτό&mdash;όλα εκτός
εκτός από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή από τα προκαθορισμένα αρχεία που δημιουργεί η εντολή
<command>cvs init</command>. Θα πρέπει να <command>cvs init</command>. Θα πρέπει να
το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το &os;, το αλλάξετε για να αφαιρέσετε μερικά, σχετικά μόνο με το &os;,
αρχεία.</para> αρχεία.</para>
@ -219,8 +222,8 @@
<listitem> <listitem>
<para><filename>commit_prep.pl</filename> - το script αυτό εκτελεί <para><filename>commit_prep.pl</filename> - το script αυτό εκτελεί
διάφορους ελέγχους πριν από κάθε commit, ανάλογα με τις ρυθμίσεις διάφορους ελέγχους πριν από κάθε commit, ανάλογα με τις ρυθμίσεις
που έχετε κάνει στο αρχείο <filename>cfg_local.pm</filename>. Δεν θα που έχετε κάνει στο αρχείο <filename>cfg_local.pm</filename>. Δεν
χρειαστεί να πειράξετε αυτό το αρχείο.</para> θα χρειαστεί να πειράξετε αυτό το αρχείο.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -249,13 +252,13 @@
repository. Θα πρέπει να κάνετε αλλαγές σ' αυτό το αρχείο ανάλογα repository. Θα πρέπει να κάνετε αλλαγές σ' αυτό το αρχείο ανάλογα
με τις ανάγκες σας, αλλά οι περισσότεροι διαχειριστές μπορούν να με τις ανάγκες σας, αλλά οι περισσότεροι διαχειριστές μπορούν να
αφήσουν τις εξ' ορισμού ρυθμίσεις. Περισσότερες πληροφορίες για αφήσουν τις εξ' ορισμού ρυθμίσεις. Περισσότερες πληροφορίες για
τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό μπορείτε να βρείτε τις διάφορες δυνατότητες επιλογών που έχετε στο αρχείο αυτό
στο εγχειρίδιο του <application>CVS</application>.</para> μπορείτε να βρείτε στο εγχειρίδιο του <application>CVS</application>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><filename>cvs_acls.pl</filename> - το script αυτό ελέγχει <para><filename>cvs_acls.pl</filename> - το script αυτό ελέγχει την
την ταυτότητα του committer, και αν επιτρέπεται αυτός να έχει πρόσβαση ταυτότητα του committer, και αν επιτρέπεται αυτός να έχει πρόσβαση
στο δέντρο του κώδικα. Αυτό γίνεται με βάση το στο δέντρο του κώδικα. Αυτό γίνεται με βάση το
αρχείο <filename>avail</filename>. Δεν θα χρειαστεί να πειράξετε αρχείο <filename>avail</filename>. Δεν θα χρειαστεί να πειράξετε
αυτό το αρχείο.</para> αυτό το αρχείο.</para>
@ -306,18 +309,19 @@
<para><filename>exclude</filename> - το αρχείο αυτό περιέχει κανονικές <para><filename>exclude</filename> - το αρχείο αυτό περιέχει κανονικές
εκφράσεις (regular expressions) που χρησιμοποιούνται από το πρόγραμμα εκφράσεις (regular expressions) που χρησιμοποιούνται από το πρόγραμμα
<filename>commit_prep.pl</filename> για να προσδιοριστούν τα <filename>commit_prep.pl</filename> για να προσδιοριστούν τα
αρχεία που αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα
δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης (revision επισκόπησης (revision header). Στην εγκατάσταση του &os;, όλα τα
header). Στην εγκατάσταση του &os;, όλα τα αρχεία κάτω από έλεγχο αρχεία κάτω από έλεγχο επισκόπησης (revision control) είναι
επισκόπησης (revision control) είναι απαραίτητο να περιέχουν μια απαραίτητο να περιέχουν μια επικεφαλίδα επισκόπησης (όπως
επικεφαλίδα επισκόπησης (όπως &dollar;FreeBSD&dollar;). Όλα τα ονόματα &dollar;FreeBSD&dollar;). Όλα τα ονόματα αρχείων που ταιριάζουν
αρχείων που ταιριάζουν με τουλάχιστον μια από τις γραμμές του με τουλάχιστον μια από τις γραμμές του αρχείου αυτού εξαιρούνται
αρχείου αυτού εξαιρούνται από τον συγκεκριμένο έλεγχο. Θα πρέπει από τον συγκεκριμένο έλεγχο. Θα πρέπει να προσθέσετε τις ανάλογες
να προσθέσετε τις ανάλογες κανονικές εκφράσεις στο αρχείο αυτό κανονικές εκφράσεις στο αρχείο αυτό όταν κάνετε checkin αρχεία που
όταν κάνετε checkin αρχεία που δεν είναι απαραίτητο να περιέχουν επικεφαλίδα δεν είναι απαραίτητο να περιέχουν επικεφαλίδα επισκόπησης. Κατά
επισκόπησης. Κατά τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να είναι τη διάρκεια της εγκατάστασης των νέων scripts ελέγχου, ίσως να
καλύτερα να εξαιρείται ο κατάλογος <filename role="directory">CVSROOT/</filename> είναι καλύτερα να εξαιρείται ο
από τον έλεγχο των headers.</para> κατάλογος <filename role="directory">CVSROOT/</filename> από τον
έλεγχο των headers.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -325,8 +329,8 @@
που παίρνει το log μήνυμα όπως αυτό δίνεται από το που παίρνει το log μήνυμα όπως αυτό δίνεται από το
<filename>logcheck</filename> script, και το προσθέτει στο τέλος <filename>logcheck</filename> script, και το προσθέτει στο τέλος
ενός αρχείου log στο repository, έτσι ώστε να υπάρχουν αντίγραφα ενός αρχείου log στο repository, έτσι ώστε να υπάρχουν αντίγραφα
ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα mail στην email ασφαλείας από τα commit logs. Επίσης, αναλαμβάνει να στείλει ένα
διεύθυνση που έχετε δηλώσει (στο mail στην email διεύθυνση που έχετε δηλώσει (στο
<filename>cfg_local.pm</filename>). Συνεργάζεται με το <filename>cfg_local.pm</filename>). Συνεργάζεται με το
<application>CVS</application> μέσω του αρχείου <application>CVS</application> μέσω του αρχείου
<filename>loginfo</filename>. Δεν θα χρειαστεί να πειράξετε το <filename>loginfo</filename>. Δεν θα χρειαστεί να πειράξετε το
@ -370,9 +374,8 @@
παραδοσιακή του σημασία στο <application>CVS</application>. Θα παραδοσιακή του σημασία στο <application>CVS</application>. Θα
πρέπει να αφαιρέσετε τα &os; modules από την κανονική έκδοση. πρέπει να αφαιρέσετε τα &os; modules από την κανονική έκδοση.
Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες Μπορείτε να επεξεργαστείτε αυτό το αρχείο ανάλογα με τις επιθυμίες
σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι σας. Περισσότερες πληροφορίες για το αρχείο αυτό είναι διαθέσιμες
διαθέσιμες στο εγχειρίδιο του στο εγχειρίδιο του <application>CVS</application>.</para>
<application>CVS</application>.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -416,8 +419,8 @@
<listitem> <listitem>
<para><filename>tagcheck</filename> - το αρχείο αυτό ελέγχει την <para><filename>tagcheck</filename> - το αρχείο αυτό ελέγχει την
πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση του πρόσβαση στην χρήση των tags στο repository. Η κανονική έκδοση
&os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της του &os; δεν επιτρέπει tags με ονόματα όπως RELENG*, λόγω της
διαδικασίας δημιουργίας των επίσημων εκδόσεων. Θα πρέπει να διαδικασίας δημιουργίας των επίσημων εκδόσεων. Θα πρέπει να
επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες επεξεργαστείτε το αρχείο αυτό ανάλογα με τις δικές σας ανάλογες
προτιμήσεις.</para> προτιμήσεις.</para>
@ -431,10 +434,10 @@
</listitem> </listitem>
<listitem> <listitem>
<para><filename>unwrap</filename> - το αρχείο αυτό μπορεί να χρησιμοποιηθεί για το <para><filename>unwrap</filename> - το αρχείο αυτό μπορεί να
αυτόματο <quote>unwrap</quote> των binary αρχείων (δείτε χρησιμοποιηθεί για το αυτόματο <quote>unwrap</quote> των binary
<filename>cvswrappers</filename>) στο checkout. Δεν αρχείων (δείτε <filename>cvswrappers</filename>) στο checkout.
χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os; Δεν χρησιμοποιείται στην τρέχουσα εγκατάσταση του CVS για το &os;
επειδή δεν λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα επειδή δεν λειτουργεί σωστά με τα απομακρυσμένα commits. Δεν θα
χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para> χρειαστεί να τροποποιήσετε το αρχείο αυτό.</para>
</listitem> </listitem>
@ -469,8 +472,9 @@
<procedure> <procedure>
<step> <step>
<para>Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts <para>Αν δεν θέλετε να χρησιμοποιήσετε τις λειτουργίες των scripts
οι οποίες χρησιμοποιούνται <link linkend="freebsdspecific">αποκλειστικά από το οι οποίες χρησιμοποιούνται
&os;</link>, μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο <link linkend="freebsdspecific">αποκλειστικά από το &os;</link>,
μπορείτε να αφαιρέσετε με ασφάλεια το αρχείο
<filename>access</filename>: <filename>access</filename>:
<screen>&prompt.user; <userinput>cvs rm -f access</userinput></screen></para> <screen>&prompt.user; <userinput>cvs rm -f access</userinput></screen></para>
@ -486,9 +490,9 @@
<para>Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και <para>Εκτός αυτού στο συγκεκριμένο αρχείο μπορείτε να εισάγετε και
ομάδες από committers. Εξ' ορισμού, το &os; χρησιμοποιεί το ομάδες από committers. Εξ' ορισμού, το &os; χρησιμοποιεί το
αρχείο <filename>access</filename> για την τοποθέτηση όλων των αρχείο <filename>access</filename> για την τοποθέτηση όλων των
committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο επιθυμείτε. committers, αλλά μπορείτε να χρησιμοποιήσετε όποιο άλλο
Μπορείτε επίσης να προσθέσετε και ομάδες αν το επιθυμείτε (η επιθυμείτε. Μπορείτε επίσης να προσθέσετε και ομάδες αν το
σύνταξη καθορίζεται στην κορυφή του αρχείου επιθυμείτε (η σύνταξη καθορίζεται στην κορυφή του αρχείου
<filename>cvs_acls.pl</filename>).</para> <filename>cvs_acls.pl</filename>).</para>
</step> </step>
@ -499,37 +503,36 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><literal>%TEMPLATE_HEADERS</literal> - Αυτές οι επικεφαλίδες <para><literal>%TEMPLATE_HEADERS</literal> - Αυτές οι
επεξεργάζονται από τα log scripts, και τοποθετούνται κάτω επικεφαλίδες επεξεργάζονται από τα log scripts, και
από το mail του κάθε commit αν υπάρχουν και δεν είναι κενές τοποθετούνται κάτω από το mail του κάθε commit αν υπάρχουν και
στο μήνυμα του commit. Γενικά, μπορείτε να αφαιρέσετε δεν είναι κενές στο μήνυμα του commit. Γενικά, μπορείτε να
τις καταχωρήσεις <literal>PR</literal> και αφαιρέσετε τις καταχωρήσεις <literal>PR</literal> και
<literal>MFC after</literal>&mdash;αφού αυτές σχετίζονται με <literal>MFC after</literal>&mdash;αφού αυτές σχετίζονται με
το bug tracking σύστημα του &os; και τον τρόπο που το bug tracking σύστημα του &os; και τον τρόπο που
διαχειρίζεται το &os; τα branches του repository του. διαχειρίζεται το &os; τα branches του repository του. Και
Και φυσικά μπορείτε να προσθέσετε τις δικές σας.</para> φυσικά μπορείτε να προσθέσετε τις δικές σας.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><literal>$MAIL_BRANCH_HDR</literal> - Αν θέλετε να <para><literal>$MAIL_BRANCH_HDR</literal> - Αν θέλετε να
προστίθεται αυτόματα μια επικεφαλίδα σε κάθε commit μήνυμα mail, η οποία θα προστίθεται αυτόματα μια επικεφαλίδα σε κάθε commit μήνυμα
περιγράφει το branch στο οποίο έγινε το συγκεκριμένο commit, mail, η οποία θα περιγράφει το branch στο οποίο έγινε το
ορίστε την τιμή αυτή να ταιριάζει με την δική σας συγκεκριμένο commit, ορίστε την τιμή αυτή να ταιριάζει με την
εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να προστίθεται αυτόματα μια δική σας εγκατάσταση. Αφήστε την κενή αν δεν επιθυμείτε να
τέτοια επικεφαλίδα.</para> προστίθεται αυτόματα μια τέτοια επικεφαλίδα.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><literal>@COMMIT_HOSTS</literal> - Ορίστε την τιμή αυτή <para><literal>@COMMIT_HOSTS</literal> - Ορίστε την τιμή αυτή σε
σε μια λίστα από συστήματα (hosts), από τα οποία επιτρέπεται μια λίστα από συστήματα (hosts), από τα οποία επιτρέπεται να
να γίνονται commits.</para> γίνονται commits.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><literal>$MAILADDRS</literal> - Ρυθμίστε αυτή την τιμή <para><literal>$MAILADDRS</literal> - Ρυθμίστε αυτή την τιμή στο
στο email του διαχειριστή ή σε μια διεύθυνση λίστας στην email του διαχειριστή ή σε μια διεύθυνση λίστας στην οποία
οποία θέλετε να πηγαίνουν τα mail των commit θέλετε να πηγαίνουν τα mail των commit μηνυμάτων.</para>
μηνυμάτων.</para>
</listitem> </listitem>
<listitem> <listitem>
@ -538,31 +541,30 @@
φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του φάκελο στον οποίο γίνεται το commit, και το log μήνυμα του
commit αποθηκεύεται κάτω από τον κατάλογο commit αποθηκεύεται κάτω από τον κατάλογο
<filename role="directory">CVSROOT</filename>, στον υποκατάλογο <filename role="directory">CVSROOT</filename>, στον υποκατάλογο
<filename role="directory">commitlogs</filename>, στο αρχείο που <filename role="directory">commitlogs</filename>, στο αρχείο
αναφέρεται στην αντίστοιχη εγγραφή του που αναφέρεται στην αντίστοιχη εγγραφή του
πίνακα <literal>@LOG_FILE_MAP</literal>.</para> πίνακα <literal>@LOG_FILE_MAP</literal>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><literal>$COMMITCHECK_EXTRA</literal> - Αν δεν θέλετε να <para><literal>$COMMITCHECK_EXTRA</literal> - Αν δεν θέλετε να
χρησιμοποιήσετε <link linkend="freebsdspecific">τους χρησιμοποιήσετε <link linkend="freebsdspecific">τους ίδιους
ίδιους ελέγχους πρόσβασης με το &os;</link>, θα πρέπει να ελέγχους πρόσβασης με το &os;</link>, θα πρέπει να αφαιρέσετε
αφαιρέσετε τον ορισμό της τιμής τον ορισμό της τιμής <literal>$COMMITCHECK_EXTRA</literal> από
<literal>$COMMITCHECK_EXTRA</literal> από το αρχείο το αρχείο αυτό.</para>
αυτό.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<note> <note>
<para>Η αλλαγή της παραμέτρου <literal>$IDHEADER</literal> είναι <para>Η αλλαγή της παραμέτρου <literal>$IDHEADER</literal> είναι
εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες &os;. Εξαρτάται εγγυημένο ότι θα δουλέψει μόνο σε πλατφόρμες &os;.
από ειδικές μετατροπές του &os; στο Εξαρτάται από ειδικές μετατροπές του &os; στο
<application>CVS</application>.</para> <application>CVS</application>.</para>
</note> </note>
<para>Μπορείτε να ελέγξετε το αρχείο <filename>cfg.pm</filename> για να <para>Μπορείτε να ελέγξετε το αρχείο <filename>cfg.pm</filename> για
δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι παραπάνω να δείτε ποιές άλλες παραμέτρους μπορείτε να αλλάξετε, αλλά οι
είναι οι πιο συνήθεις επιλογές.</para> παραπάνω είναι οι πιο συνήθεις επιλογές.</para>
</step> </step>
<step> <step>
@ -573,10 +575,10 @@
<literal>^CVSROOT/</literal>, και προσθέστε μια γραμμή που θα <literal>^CVSROOT/</literal>, και προσθέστε μια γραμμή που θα
περιέχει μόνο το <literal>^CVSROOT/</literal>. Αφού εγκατασταθεί περιέχει μόνο το <literal>^CVSROOT/</literal>. Αφού εγκατασταθεί
ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία ο wrapper, μπορείτε να προσθέσετε το δικό σας header στα αρχεία
που βρίσκονται μέσα στον κατάλογο <filename role="directory">CVSROOT</filename> και που βρίσκονται μέσα στον κατάλογο
να επαναφέρετε τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας <filename role="directory">CVSROOT</filename> και να επαναφέρετε
δημιουργήσουν προβλήματα όταν θα προσπαθήσετε να κάνετε commit τις γραμμές αυτές, αλλά προς το παρόν απλά θα σας δημιουργήσουν
αργότερα.</para> προβλήματα όταν θα προσπαθήσετε να κάνετε commit αργότερα.</para>
</step> </step>
<step> <step>
@ -630,11 +632,11 @@
<para>Τώρα, αφού ελέγξετε τα πάντα προσεκτικά, θα πρέπει να κάνετε <para>Τώρα, αφού ελέγξετε τα πάντα προσεκτικά, θα πρέπει να κάνετε
commit τις αλλαγές σας. Φροντίστε να είστε σίγουροι ότι έχετε δώσει 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> <screen>&prompt.user; <userinput>cvs commit -m '<replaceable>- Initial FreeBSD scripts commit</replaceable>'</userinput></screen></para>
</sect2> </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> <screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' avail</userinput></screen>
<para>Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια πλήρως <para>Άν όλα πάνε καλά, συγχαρητήρια! Έχετε καταφέρει να στήσετε μια
λειτουργική εγκατάσταση των &os; scripts για το repository σας. πλήρως λειτουργική εγκατάσταση των &os; scripts για το repository σας.
Στην περίπτωση που το <application>CVS</application> εξακολουθεί να Στην περίπτωση που το <application>CVS</application> εξακολουθεί να
παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και παραπονιέται για κάτι, επιστρέψτε στις προηγούμενες ενότητες και
ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα ελέγξτε ξανά ότι έχετε εκτελέσει σωστά όλα τα προηγούμενα
@ -662,12 +664,13 @@
<para>Το ίδιο το &os; project χρησιμοποιεί μια ελαφρώς διαφορετική <para>Το ίδιο το &os; project χρησιμοποιεί μια ελαφρώς διαφορετική
εγκατάσταση, η οποία χρησιμοποιεί επίσης αρχεία από τον υποφάκελο εγκατάσταση, η οποία χρησιμοποιεί επίσης αρχεία από τον υποφάκελο
<filename role="directory">freebsd</filename> του <filename role="directory">CVSROOT</filename> που <filename role="directory">freebsd</filename> του
χρησιμοποιείται στο &os;. Το project χρειάζεται κάτι τέτοιο λόγω του <filename role="directory">CVSROOT</filename> που χρησιμοποιείται στο
μεγάλου αριθμού των committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι &os;. Το project χρειάζεται κάτι τέτοιο λόγω του μεγάλου αριθμού των
στο ίδιο group. Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού committers, που διαφορετικά θα έπρεπε να ανήκουν όλοι στο ίδιο group.
πρώτα εξασφαλίζει τα σωστά διαπιστευτήρια των committers, αλλάζει Έτσι, δημιουργήθηκε ένας απλός wrapper ο οποίος αφού πρώτα εξασφαλίζει
μετέπειτα το group id σε αυτό του repository.</para> τα σωστά διαπιστευτήρια των committers, αλλάζει μετέπειτα το group id σε
αυτό του repository.</para>
<para>Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που <para>Αν και το δικό σας repository χρειάζεται κάτι ανάλογο, τα βήματα που
θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε θα πρέπει να ακολουθήσετε ακολουθούν παρακάτω. Αλλά πρώτα ας κάνουμε
@ -706,8 +709,8 @@
<listitem> <listitem>
<para><filename>freebsd/mailsend.c</filename> - το αρχείο αυτό <para><filename>freebsd/mailsend.c</filename> - το αρχείο αυτό
χρειάζεται για την σχετική με τις λίστες ταχυδρομείου χρειάζεται για την σχετική με τις λίστες ταχυδρομείου
εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το εγκατάσταση του &os;. Δεν θα χρειαστεί να πειράξετε το αρχείο
αρχείο αυτό.</para> αυτό.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
@ -753,8 +756,9 @@
<screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen> <screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>
<para>Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας τα ακόλουθα βήματα (θα πρέπει να είστε <para>Στη συνέχεια εγκαταστήστε το νέο cvs εκτελέσιμο ακολουθώντας
root για το βήμα αυτό):</para> τα ακόλουθα βήματα (θα πρέπει να είστε 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>mv cvs /usr/bin/cvs</userinput>