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

δείτε την πρωτότυπη σελίδα τεκμηρίου
στον ιστότοπο του αποθετηρίου του φορέα για περισσότερες πληροφορίες και για να δείτε όλα τα ψηφιακά αρχεία του τεκμηρίου*



Αυτοματοποιημένος, κατανεμημένος συγχρονισμός αρχείων με χρήση του εργαλείου Git και υποστήριξη διαφορετικών μηχανισμών αποθήκευσης (EL)
Automated, distributed file synchronization with Git over multiple storage backends (EN)

Τσιτσιμπής, Αλέξιος (EL)
Tsitsimpis, Alexios (EN)

ntua (EL)
Γκούμας, Γεώργιος (EL)
Κοζύρης, Νεκτάριος (EL)
Παπασπύρου, Νικόλαος (EL)

bachelorThesis

2017-02-06T11:09:39Z
2017-02-06
2016-11-02


Σε αυτή τη διπλωματική υλοποιούμε το Gitsync, ένα εργαλείο που επιδεικνύει πώς μπορεί να χρησιμοποιηθεί το Git για την επίτευξη αυτοματοποιημένου, κατανεμημένου συγχρονισμού αρχείων με υποστήριξη διαφορετικών μηχανισμών αποθήκευσης. Για το σκοπό αυτό, αρχικά εξερευνούμε και αναλύουμε τον τρόπο με τον οποίο λειτουργεί εσωτερικά το Git, και πώς αυτό χειρίζεται διενέξεις που προκύπτουν κατά τη διαδικασία της συγχώνευσης. Έπειτα, παρουσιάζουμε τη διαπροσωπία που χρησιμοποιεί το Git για να επικοινωνήσει χρησιμοποιώντας πρωτόκολλα που του είναι άγνωστα, και την αξιοποιούμε για να επιτύχουμε συγχρονισμό αρχείων με τη χρήση δικού μας πρωτοκόλλου. Τέλος, πειραματιζόμαστε με δύο διαφορετικές μεθόδους για την αυτόματη επίλυση διενέξεων, που βασίζονται στις διαδικασίες της συγχώνευσης και της αναθεμελίωσης, έννοιες του εργαλείου Git. (EL)
In this thesis we implement Gitsync, a prototype tool that demonstrates how Git can be used to achieve automated, distributed file synchronization over multiple storage backends. In order to do so, we first explore and analyze the way Git internally works, and how it handles conflicts during a merge process. Then, we present the API Git uses to communicate over protocols natively unknown to it, and utilize it in order to synchronize using our own protocol. Finally, we experiment with two Git-based strategies to automatically resolve conflicts, one called merging and the other rebasing. (EN)


Επίλυση διενέξεων (EL)
Συγχρονισμός αρχείων (EL)
Git (EN)
File synchronization (EN)
Merge (EN)
Conflict resolution (EN)
Git remote helpers (EN)
Gitsync (EN)
Rebase (EN)

Ελληνική γλώσσα
Αγγλική γλώσσα

Department of Computer Science - Computing Systems Laboratory (EL)
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών (EL)

Default License




*Η εύρυθμη και αδιάλειπτη λειτουργία των διαδικτυακών διευθύνσεων των συλλογών (ψηφιακό αρχείο, καρτέλα τεκμηρίου στο αποθετήριο) είναι αποκλειστική ευθύνη των αντίστοιχων Φορέων περιεχομένου.