Actions
Mercurial¶
- Table of contents
- Mercurial
Προετοιμασία και περιγραφή διαδικασίας
Βήμα 1 - Προαπαιτούμενα¶
- Εγκατεστημένο το Mercurial στο λειτουργικό σύστημα των developers
- Οδηγίες για Windows/Mac/Linux
- Οδηγίες για ρύθμιση του Netbeans ώστε να χρησιμοποιεί το mercurial του συστήματος
- Χρήση γραφικών εργαλείων
- TortoiseHG
- SourceTree
- Αναφορά στο https://hg.gunet.gr/openeclass για χρήση και ως γραφικό εργαλείο
- Εγκατάσταση Εργαλείου για 3-way Merge
Βήμα 2 – Βασικές Διαδικασίες¶
(Βασικός οδηγίες υπάρχουν εδώ: http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html)
- Διαδικασία Clone
hg clone https://hg.gunet.gr/openeclass
- Διαδικασία αλλαγής Branch
hg update 3.13 hg branch my-new-branch hg update my-new-branch
- Σημείωση: Pull μπορούν να κάνουν άπαντες, ούτως ή άλλως το project είναι open source και δικαίωμα ανάγνωσης έχουν όλοι (ακόμα και οι anonymous)
- Διαδικασία έλεγχου Status, αναμονών για Εισερχόμενες/Εξερχόμενες αλλαγές (status, incoming, outgoing)
- Διαδικασία λήψης αλλαγών και συγχρονισμού με το κεντρικό repository (Pull, Update, Merge [Σημείωση: το merge ίσως καλύτερα να το περιγράψουμε στο βήμα 4])
Βήμα 3 – Ρυθμίσεις για Mercurial Repository¶
- Ρύθμιση για τα Specifics του Openeclass (username/pass για Mercurial)
- Ρύθμιση Mercurial
- Username
- Ignore Files
- Plugins (μπορούμε να παρουσιάσουμε ή απλώς να αναφέρουμε κάποια χρήσιμα, όπως το graphlog, hgk, color, extdiff, progress)
Βήμα 4 – Διαδικασίες Τοπικών Αλλαγών¶
- Διαδικασίες προσθήκης/αφαίρεσης αρχείων (add, remove, addremove, rename)
- Διαδικασία Revert
- Διαδικασία Commit
- Διαδικασία Rollback
Βήμα 5 – Διαδικασίες αποστολής Patch/Diff για reviewing¶
Σημείωση: για την ανάπτυξη νέας λειτουργικότητας, η δημιουργία νέου branch είναι υποχρεωτική εκτός εξαιρέσεων που θα ορίσουμε στην πράξη (πχ πολύ minor αλλαγές)
Βήμα 6 – Διαδικασία αποστολής Αλλαγών¶
- Διαδικασία Push
- η συγκεκριμένη διαδικασία θα προχωράει κατόπιν επιτυχούς reviewing ή/και συνεννόησης με την κεντρική ομάδα
- Σημείωση: το push θα επιτρέπεται μόνο σε συγκεκριμένα branches, στα άλλα branches δεν θα επιτρέπεται (αυτό μπορεί να επιβληθεί με το ACL extension)
Updated by Yannis Exidaridis almost 2 years ago · 7 revisions