Automated, distributed file synchronization with Git over multiple storage backends

see the original item page
in the repository's web site and access all digital files if the item*



Αυτοματοποιημένος, κατανεμημένος συγχρονισμός αρχείων με χρήση του εργαλείου 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)

Greek
English

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

Default License




*Institutions are responsible for keeping their URLs functional (digital file, item page in repository site)