Διαφορά μεταξύ CVS και Subversion Διαφορά μεταξύ

Anonim

Το σύστημα CVS vs. Subversion

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

- Subversion (επίσης γνωστό ως SVN) είναι ένα σύστημα ελέγχου έκδοσης που χρησιμοποιείται για τη διατήρηση της τρέχουσας και των προηγούμενων εκδόσεων αρχείων (όπως ο πηγαίος κώδικας, οι ιστοσελίδες και η τεκμηρίωση). Πρόκειται για μια άμεση αναβάθμιση του CVS και του πιο συμβατού διαδόχου του. Είναι επίσης μια τεχνολογία ανοιχτού κώδικα και έχει χρησιμοποιηθεί ευρέως σε πολλά έργα - όπως το Apache Software Foundation, το Free Pascal, το MediaWiki και ο κώδικας Google.

Το CVS χρησιμοποιεί την αρχιτεκτονική εξυπηρετητών πελατών - αυτό σημαίνει ότι ένας διακομιστής αποθηκεύει μια τρέχουσα έκδοση (ή εκδόσεις) ενός συγκεκριμένου έργου καθώς και εξοικονομώντας ιστορικό. Ο πελάτης συνδέεται στη συνέχεια με τον διακομιστή ως μέσο «να ελέγξει» ένα αντίγραφο του έργου που έχει ολοκληρωθεί πριν από τη σύνδεσή του με το διακομιστή. Ο πελάτης είναι στη συνέχεια σε θέση να εργαστεί σε αυτό το αντίγραφο του έργου και στη συνέχεια να ελέγξει τις αλλαγές που έχει κάνει αργότερα. Εκτός του ότι επιτρέπει σε έναν πελάτη να κάνει check in για ένα αντίγραφο ενός συγκεκριμένου έργου, το CVS επιτρέπει σε πολλούς πελάτες να εργάζονται και να κάνουν check in για το ίδιο έργο ταυτόχρονα. Οι πελάτες θα μπορούν να τροποποιήσουν τα αρχεία στο δικό τους αντίγραφο εργασίας του έργου και να στείλουν αυτές τις επεξεργασίες στο διακομιστή.

Το Subversion δεσμεύει - δηλαδή, δημιουργεί μια σειρά από δοκιμαστικές αλλαγές και τα καθιστά μόνιμα - ως αληθινές ατομικές (ή μια σειρά από πράξεις δεδομένων στις οποίες είτε συμβαίνουν τα πάντα είτε δεν συμβαίνει τίποτα) πράξεις. Η Subversion επιτρέπει επίσης στους χρήστες να μετονομάζουν, να αντιγράφουν, να κινούν και / ή να αφαιρούν αρχεία. Ωστόσο, αυτά τα αρχεία θα διατηρήσουν το πλήρες ιστορικό τους αναθεώρησης. Αυτό το σύστημα χρησιμοποιεί παράλληλη έξοδο, σχεδίαση βιβλιοθήκης σε επίπεδο πελάτη / διακομιστή και διακλάδωση και προσθήκη ετικετών ως φθηνές λειτουργίες (ανεξάρτητα από το μέγεθος του αρχείου). Υπάρχουν δεσμεύσεις γλώσσας για τις γλώσσες PHP, Python, Perl και Java. Η υποβιβασμός κοστίζει επίσης ανάλογα με το μέγεθος της αλλαγής και όχι με το μέγεθος των δεδομένων.

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

Περίληψη:

1. Το CVS επιτρέπει σε πολλούς χρήστες να συνεργάζονται στο ίδιο έργο. Η Subversion διατηρεί την τρέχουσα και την προηγούμενη έκδοση αρχείων.

2. Το CVS επιτρέπει στους χρήστες να κάνουν check in για το ίδιο έργο και να το τροποποιήσουν. Η υποβιβασμός δεσμεύεται ως πραγματικές ατομικές λειτουργίες.

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