Αρχική σελίδα » πως να » Παρακολούθηση παραστατικών με υποβιβασμό (SVN) για αρχάριους

    Παρακολούθηση παραστατικών με υποβιβασμό (SVN) για αρχάριους

    Έχετε ποτέ θελήσει να εργαστείτε σε ένα έργο με την ικανότητα να παρακολουθείτε τις αλλαγές σας καθώς και να τις επαναφέρετε; Πώς-να Geek εξηγεί πώς-Για να χρησιμοποιήσετε το δημοφιλές σύστημα παρακολούθησης της έκδοσης, Subversion (a.k.a SVN).

    Εικόνα από σαφώς αμφιλεγόμενο

    Prelog

    Αυτός ο οδηγός θα έχει ως στόχο να σας δώσει τη δυνατότητα να χρησιμοποιήσετε γενικά τον πελάτη υπονόμευσης και, αν το έχετε, στον δρομολογητή σας * DD-WRT. Αυτός ο οδηγός δεν είναι καθόλου ένας οριστικός οδηγός για την Subversion και πολλές πληροφορίες μπορούν να βρεθούν στο Red Book του Subversion. Αυτός ο οδηγός προορίζεται μόνο για να σας δώσει τη στενή απάντηση στις πιο βασικές ερωτήσεις.

    ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ

    Μπορεί να υπάρχουν πολλοί λόγοι για τους οποίους θα θέλατε να είστε σε θέση να "ολοκληρώσετε" τον τελευταίο κώδικα για ένα πρόγραμμα λογισμικού που χρησιμοποιεί ένα σύστημα εκδόσεων. Με αυτόν τον τρόπο, μπορείτε να επωφεληθείτε από τις τελευταίες ακόμη μη κυκλοφορούμενες αλλαγές, να βοηθήσετε με τις δοκιμές και ακόμη και την ανάπτυξη. Σε αυτόν τον οδηγό θα αναφερθούμε σε μια βασική ορολογία SVN, θα δείξουμε πώς να εγκαταστήσετε τον πελάτη SVN σε Linux, Windows και εάν έχετε έναν δρομολογητή DD-WRT με ενεργοποιημένο OPKG. Έχουμε συμπεριλάβει επίσης ένα παράδειγμα ενός έργου που μπορείτε να ελέγξετε και να χρησιμοποιήσετε για τον εν λόγω δρομολογητή.

    Τι είναι η Subversion?

    Η υποβιβασμός δεν είναι καθόλου το μοναδικό σύστημα ελέγχου που υπάρχει και οι εναλλακτικές λύσεις περιλαμβάνουν το Git (το οποίο δημιουργήθηκε από τον ιδρυτή του πυρήνα Linux του Linus Torvalds), το Mercurial και το PerForce για να αναφέρουμε μερικά. Με αυτό είπε, είναι ένα από τα ελεύθερα, είναι ώριμο και χρησιμοποιείται εκτενώς σε παγκόσμιο επίπεδο.

    Από το "Red Book" του Subversion:

    Η υποβιβασμός είναι μια ελεύθερη / ανοιχτή πηγή σύστημα ελέγχου εκδόσεων (VCS). Δηλαδή, το Subversion διαχειρίζεται τα αρχεία και τους καταλόγους, καθώς και τις αλλαγές που έγιναν σε αυτά, με την πάροδο του χρόνου. Αυτό σας επιτρέπει να ανακτήσετε παλαιότερες εκδόσεις των δεδομένων σας ή να εξετάσετε το ιστορικό αλλαγής των δεδομένων σας. Από αυτή την άποψη, πολλοί άνθρωποι σκέφτονται ένα σύστημα ελέγχου έκδοσης ως ένα είδος "μηχανή χρόνου".

    Σημείωση: Αυτό το βιβλίο είναι την τελική συλλογή των γνώσεων σχετικά με την ανατροπή και σας συμβουλεύουμε να την ανατρέξετε σε όλα τα θέματα που σχετίζονται με το Subversion.

    Τι είναι η έκδοση?

    Η έκδοση είναι μια διαδικασία στην οποία αποθηκεύεται η κατάσταση ενός έργου σε ένα χρονικό σημείο. Αυτό το είδος διαδικασίας χρησιμοποιείται συχνά για τη διαχείριση της ανάπτυξης λογισμικού, έτσι ώστε οι εργασίες να συνεχίσουν να βελτιώνουν το έργο ή να προσθέτουν χαρακτηριστικά, ενώ είναι σε θέση να παρακολουθούν τι έχει αλλάξει από το τελευταίο συνολικό σημείο αποθήκευσης. Για να επεξεργαστεί, αυτό το είδος διαδικασίας μπορεί να είναι χρήσιμο για ένα μόνο άτομο, αλλά ακόμη περισσότερο για μια ομάδα ανθρώπων, όλοι εργάζονται στο ίδιο έργο. Αυτό συμβαίνει επειδή, συνήθως, όταν εργάζεστε σε ένα έργο ως ομάδα, υπάρχει κατανομή ευθυνών και διαφορετικοί άνθρωποι αλλάζουν διαφορετικές πτυχές του έργου. Χωρίς μηχανισμό έκδοσης, θα ήταν πολύ δύσκολο να κρατηθούν όλοι συγχρονισμένοι στις τελευταίες αλλαγές εργασίας από όλους τους άλλους.

    Ορολογία

    Το αποθετήριο
    Το αποθετήριο είναι η θέση όπου αποθηκεύονται όλα τα δεδομένα από όλα τα διάφορα μέρη. Στον κόσμο της ανατροπής, από την πλευρά του πελάτη, είναι ο διακομιστής που κρατά τη βάση δεδομένων του έργου. Αυτή η βάση δεδομένων περιέχει όλα τα αρχεία που αποτελούν μέρος του έργου με όλες τις προηγούμενες εκδόσεις τους.

    Αναθεώρηση

    Όταν δημιουργείται ένα αποθετήριο, δίνεται ο αριθμός αναθεώρησης μηδέν (0). Αυτός ο αριθμός αυξάνεται κατά ένα (1) κάθε φορά που εκτελείται μια δέσμευση. Ο αριθμός αναθεώρησης είναι παγκόσμιος για την αποθήκη. Δηλαδή, δεν υπάρχει ατομικός αριθμός αναθεώρησης για μεμονωμένα αρχεία στο αποθετήριο, ακόμα και αν δεν έχει αλλάξει τίποτα σε αυτό το αρχείο για εκείνη τη συγκεκριμένη δέσμευση.

    Το αντίγραφο εργασίας

    Ένα αντίγραφο εργασίας είναι ένα τοπικό αντίγραφο (ή "checkout") μιας συγκεκριμένης έκδοσης. Συνήθως αυτή η έκδοση όταν είναι checked-out είναι η "τελευταία" (που ονομάζεται επίσης "head"), αλλά μπορεί να ζητηθεί μια προηγούμενη. Ο Χρήστης μπορεί να κάνει με το τοπικό αντίγραφο οτιδήποτε επιθυμεί, γνωρίζοντας ότι, στη χειρότερη περίπτωση, θα μπορούσαν απλώς να ελέγξουν ξανά τον κώδικα. Επιπλέον, αυτό το αντίγραφο είναι "ιδιωτικό". Αυτό οφείλεται στο γεγονός ότι μέχρι να ενημερώσετε ή να δεσμευτείτε το αντίγραφό σας, δεν θα δείτε τις αλλαγές άλλων ανθρώπων ούτε θα δουν τη δική σας.

    Ενημέρωση & Επίλυση διενέξεων

    Μπορεί να ενημερωθεί ένα τοπικό αντίγραφο εργασίας. Δηλαδή, αν έχετε "ελέγξει" μια συγκεκριμένη έκδοση και ενώ εργάζεστε, η έκδοση στο χώρο αποθήκευσης έχει ενημερωθεί, μπορείτε να ενημερώσετε το αντίγραφο εργασίας σας με την τελευταία έκδοση. Στην πραγματικότητα, ο διακομιστής θα σας εμποδίσει να πραγματοποιήσετε τις αλλαγές σας προτού αναβαθμίσετε την πιο πρόσφατη έκδοση ώστε να ταιριάζει με την αποθήκη. Αυτό γίνεται για να σας αναγκάσει να επιλύσετε τοπικά τις συγκρούσεις, προτού καν σκεφτείτε να κάνετε αλλαγές στο αποθετήριο.

    Συγχώνευση

    Η συγχώνευση αναφέρεται στη διαδικασία με την οποία ο αλλαγμένος κώδικας αναμειγνύεται σε μία έκδοση. Μπορεί επίσης να συνεπάγεται την επίλυση συγκρούσεων.

    Δεσμεύεται

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

    Η ροή εργασίας

    Η πιο βασική ροή εργασίας από την οπτική γωνία του χρήστη κατά τη χρήση υποβιβασμού είναι η εξής:

    1. Έλεγχος του υπάρχοντος κώδικα (συνήθως το "κεφάλι").
    2. Κάντε αλλαγές, προσθέστε αρχεία και γενικά αναπτύξτε τον κώδικα.
    3. Ενημερώστε την τελευταία έκδοση, για να βεβαιωθείτε ότι το τοπικό σας αντίγραφο συγχρονίζεται με τις ενημερώσεις στο χώρο αποθήκευσης.
    4. Συνδέστε τοπικά και επιλύστε τις συγκρούσεις, εάν είναι απαραίτητο.
    5. Αναθέστε τις συγχωνευμένες αλλαγές στο χώρο αποθήκευσης.
    6. GoTo βήμα 2.

    Ας πάρουμε ρωγμές

    Εγκαταστήστε τον Πελάτη

    Για να μπορέσετε να χρησιμοποιήσετε την υπονόμευση, πρέπει να εγκαταστήσετε τον υπολογιστή-πελάτη στο μηχάνημά σας.

    Στο Linux

    Χρειάζεται μόνο να εγκαταστήσετε το πακέτο. Στο Ubuntu / Mint, αυτό θα γίνει με:

    sudo aptitude install subversion

    Σχετικά με το DD-WRT

    Αν έχετε ακολουθήσει το "Πώς να εγκαταστήσετε πρόσθετο λογισμικό στον δρομολογητή οικιακής χρήσης (DD-WRT)", μπορείτε να εγκαταστήσετε τον πελάτη svn απλά εκδίδοντας:

    opkg ενημέρωση; opkg εγκαταστήστε το subversion-client

    Στα Windows

    Ενώ εμείς οι χρήστες βαθιά geek μπορεί να ξεκινήσει να ξεχνά ότι το GUI υπάρχει ακόμη και κατά καιρούς, δεν έχει όλοι. Εάν θέλετε να χρησιμοποιήσετε έναν υπολογιστή-πελάτη παραθύρων για να συνδεθείτε σε ένα αποθετήριο SVN, μακράν το πιο δημοφιλές είναι το "Tortoise". Για να το χρησιμοποιήσετε, απλώς κατεβάστε το πρόγραμμα και εγκαταστήστε το κανονικό "επόμενο, επόμενο, φινίρισμα" μόδας.

    Δημιουργήστε το "αποθετήριο"

    Παρόλο που δεν πρόκειται να βρούμε πολλές λεπτομέρειες σχετικά με τον τρόπο εγκατάστασης ενός διακομιστή υπονόμευσης σε αυτόν τον οδηγό, η εναλλακτική λύση της Google δεν είναι κακή εκκίνηση για τον αρχάριο χρήστη. Για να δημιουργήσετε ένα αποθετήριο Google:

    • Επικεφαλίστε τον ιστότοπο φιλοξενίας του κώδικα Google και δημιουργήστε ένα νέο έργο.
    • Στην επόμενη σελίδα, συμπληρώστε τα απαιτούμενα πεδία και επιλέξτε τον τύπο του "συστήματος ελέγχου έκδοσης" που πρόκειται να υποβιβαστεί.

      Σημείωση: Ίσως θελήσετε να εξετάσετε ποια είναι η διαφορά μεταξύ των προσφορών της Google για τις άδειες χρήσης, προτού επιλέξετε ένα για το έργο.
    • Κάντε κλικ στην επιλογή "Δημιουργία έργου".
    "Checkout" το αντίγραφο εργασίας

    Μόλις δημιουργηθεί το σχέδιό σας, θα πρέπει να βρείτε τις οδηγίες για την πρόσβαση σε αυτήν στην καρτέλα "Πηγή".

    Το ωραίο πράγμα για τον κώδικα Google είναι ότι θα επιτρέψει μια ανώνυμη έκδοση μόνο για ανάγνωση για το έργο σας. Αν δεν θέλετε να αντιμετωπίσετε την ταλαιπωρία της δημιουργίας του δικού σας έργου, μπορείτε ανώνυμα να ελέγξετε ανώνυμα το χώρο αποθήκευσης αυτού του συγγραφέα.

    Μια σημείωση σχετικά με το έργο hotfortech: Αυτό το έργο προορίζεται να είναι ένα περιτύλιγμα για τα χαρακτηριστικά που έχουν προστεθεί στο DD-WRT στο How-To Geek (που προσωπικά χρησιμοποιώ) καθώς και μερικά προσωπικά τσιμπήματα. Ενώ αυτό το έργο είναι προσανατολισμένο να λειτουργεί σε συνδυασμό με τα άρθρα που δημοσιεύονται εδώ σχετικά με το πώς να φτάσει, εξακολουθεί να είναι το δικό μου ιδιωτικό έργο. Δηλαδή, είναι πολύ κατάλληλο για το Buffalo router μου (AR71xx αρχιτεκτονική), τα προσωπικά μου ιδιοτροπίες και είναι επιρρεπής σε περιστασιακά borkage.

    Σχετικά με το Linux / DD-WRT

    Δημιουργήστε τον κατάλογο στον οποίο θα εργαστείτε, για παράδειγμα στο DD-WRT, που θα μπορούσε να είναι:

    mkdir -p / jffs / svn. cd / jffs / svn

    Η πλήρης εντολή στο Linux αποτελείται από την ίδια την εντολή SVN, την οδηγία "checkout", τη διεύθυνση του αποθετηρίου και τον κατάλογο για το checkout. Δημιουργήστε έναν κενό κατάλογο και εκτελέστε την παρακάτω εντολή:

    svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-μόνο για ανάγνωση

    Σημειώστε ότι στο παραπάνω παράδειγμα, η έκδοση μόνο για ανάγνωση έχει εξαχθεί. Αν επιλέξατε να δημιουργήσετε το δικό σας αποθετήριο, θα χρειαστεί να χρησιμοποιήσετε το σύνδεσμο httpS.

    Στα Windows

    Επειδή η χελώνα είναι μια επέκταση κελύφους, θα πρέπει να χρησιμοποιήσετε το μενού περιβάλλοντος του εξερευνητή αρχείων των Windows (κάντε δεξί κλικ) για να το χρησιμοποιήσετε. Στην πραγματικότητα, αν προσπαθήσετε να το επικαλεστείτε από το μενού έναρξης, θα πάρετε:

    • Δημιουργήστε έναν κενό κατάλογο.
    • Κάντε δεξί κλικ σε αυτό για να εμφανιστεί το μενού περιβάλλοντος.
    • Επιλέξτε "SVN Checkout":
    • Αντιγράψτε και επικολλήστε το σύνδεσμο για το έργο (αν έχετε) στο πλαίσιο "URL" Κείμενο:
    • Ανάλογα με το μέγεθος του έργου σας μπορεί να χρειαστεί λίγος χρόνος, αλλά όταν ολοκληρωθεί η διαδικασία "Checkout", θα πρέπει να δείτε κάτι σαν:
    • Μπορεί να αρχίσετε να αναπτύσσεστε.

    "Ενημέρωση" & "Συγχώνευση" το αντίγραφο εργασίας σας
    Εάν εργάζεστε στον κώδικα με συναδέλφους ή εσείς ο ίδιος ενημερώνετε τον κώδικα από διάφορες τοποθεσίες (π.χ. φορητό υπολογιστή, επιφάνεια εργασίας ή ακόμη και δρομολογητή), θα πρέπει να ενημερώσετε το αντίγραφο εργασίας πριν δεσμευτείτε τις τελευταίες αλλαγές.

    Σχετικά με το Linux / DD-WRT

    Η εντολή για να γίνει αυτό σε αυτά τα συστήματα POSIX είναι απλά:

    svn up

    Στα Windows

    • Κάντε δεξί κλικ στον κατάλογο εργασίας και επιλέξτε "Ενημέρωση SVN":
    • Εάν αντιμετωπίζετε συγκρούσεις, δοκιμάστε να ακολουθήσετε τις οδηγίες στην οθόνη και χρησιμοποιήστε την κρίση σας για το τι πρέπει να κάνετε σχετικά με αυτές.

    "Αναθέστε" τις αλλαγές σας
    Δηλαδή, θα πρέπει να είστε ελεύθεροι διενέξεων και να είστε έτοιμοι να ενημερώσετε το χώρο αποθήκευσης με τις αλλαγές σας.
    Το μόνο σημείο που πρέπει να σημειωθεί εδώ είναι ότι είναι συνηθισμένη πρακτική η προσθήκη ενός μηνύματος "log" στη δέσμευση, ώστε να μπορεί εύκολα να υπενθυμίσει γιατί έγιναν οι αλλαγές. Στην πραγματικότητα, το αποθετήριο της Google καθιστά αυτή την υποχρεωτική προϋπόθεση για τη δέσμευση.

    Σχετικά με το Linux / DD-WRT

    Αυτό είναι ένα παράδειγμα της δέσμευσης που έκανα στο έργο hotfortech που την ανέβασε στην έκδοση 19:

    svn commit -m "ενημερώθηκε για να αντικατοπτρίζει νέο σύνδεσμο πακέτων μυρμηγκιών"

    Στα Windows

    • Κάντε δεξί κλικ στον κατάλογο εργασίας και επιλέξτε "SVN Commit":
    • Θα πρέπει να σας υποδεχτεί ένα παράθυρο που σας επιτρέπει να σημειώσετε ένα μήνυμα καταγραφής:
    • Πατήστε OK και όταν σας ζητηθεί κωδικός πρόσβασης, δώστε τον κωδικό πρόσβασης που δημιουργήθηκε από την Google.
    • Εάν η δέσμευση ήταν επιτυχής, θα πρέπει να δείτε κάτι σαν:
    • Αυτό είναι, θα πρέπει να είστε σε θέση να διαπράξετε σαν BOSS.

    Τελικές παρατηρήσεις
    Αυτό θα πρέπει να είναι αρκετό για να ξεκινήσετε. Σας συμβουλεύουμε να διαβάσετε τα βιβλία αναφοράς SVN για να πάρετε μια βαθύτερη και καλύτερη κατανόηση για όλες τις συνήθειες, τις επιλογές και τις προειδοποιήσεις του SVN. Επίσης, σας υπενθυμίζουμε (και πάλι) ότι η ανατροπή ΔΕΝ είναι το μοναδικό σύστημα ελέγχου έκδοσης εκεί έξω και το GIT (που δημιουργήθηκε από τον Linus Torvalds ο ιδρυτής του πυρήνα του Linux) φαίνεται να κερδίζει δημοτικότητα τα τελευταία χρόνια.

    Εάν επιλέξετε να εκτελέσετε το "running-config.sh" από το έργο hotfortech στο δρομολογητή σας, θα διαπιστώσετε ότι θα εγκατασταθεί προς το παρόν για εσάς: Το πακέτο anti-ads, το Opkg geek-init script, καθώς και πράγματα όπως το πλήρες GNU "ls", "less", "BASH" και άλλα.

    /jffs/svn/hotfortech-dd-wrt/running-conf.sh

    Περισσότερες λειτουργίες εκκρεμούν και θα προστεθούν στο μέλλον.


    Οι διαχειριστές του συστήματος θα κωδικοποιήσουν την έξοδο από την κωδικοποίηση.