Mercurial » History » Revision 3
Revision 2 (Αλέξανδρος Διαμαντίδης, 21/01/2014 14:42) → Revision 3/7 (Αλέξανδρος Διαμαντίδης, 27/01/2014 13:19)
h1. Mercurial και Review Board
{{>toc}}
Προετοιμασία και περιγραφή διαδικασίας
h2. Βήμα 1 - Προαπαιτούμενα
* Εγκατεστημένο το Mercurial στο λειτουργικό σύστημα των developers
** Οδηγίες για Windows/Mac/Linux
** Οδηγίες για ρύθμιση του Netbeans ώστε να χρησιμοποιεί το mercurial του συστήματος
* Χρήση γραφικών εργαλείων
** TortoiseHG
** SourceTree
** Αναφορά στο http://hg.gunet.gr/openeclass για χρήση και ως γραφικό εργαλείο
** HGK
* Εγκατάσταση Python και RBTools (θα χρησιμοποιήσουμε το http://www.reviewboard.org/docs/manual/1.7/users/tools/post-review ως μπούσουλα)
* Εγκατάσταση Εργαλείου για 3-way Merge
h2. Βήμα 2 – Βασικές Διαδικασίες
(Βασικός μπούσουλας υπάρχει εδώ: http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html)
* Διαδικασία Clone
* Διαδικασία αλλαγής Branch
** Σημείωση: Pull θα μπορούν να κάνουν άπαντες, ούτως ή άλλως το project είναι open source και δικαίωμα ανάγνωσης έχουν όλοι (ακόμα και οι anonymous)
* Διαδικασία έλεγχου Status, αναμονών για Εισερχόμενες/Εξερχόμενες αλλαγές (status, incoming, outgoing)
* Διαδικασία λήψης αλλαγών και συγχρονισμού με το κεντρικό repository (Pull, Update, Merge [Σημείωση: το merge ίσως καλύτερα να το περιγράψουμε στο βήμα 4])
h2. Βήμα 3 – Ρυθμίσεις για Mercurial Repository και ReviewBoard
* Ρύθμιση για τα Specifics του Openeclass (username/pass για Mercurial και ReviewBoard)
* Ρύθμιση Mercurial
** Username
** E-mail
** Ignore Files
** Plugins (μπορούμε να παρουσιάσουμε ή απλώς να αναφέρουμε κάποια χρήσιμα, όπως το graphlog, hgk, color, extdiff, progress)
* Ρύθμιση RBTools (.reviewboardrc)
h2. Βήμα 4 – Διαδικασίες Τοπικών Αλλαγών
* Διαδικασίες προσθήκης/αφαίρεσης αρχείων (add, remove, addremove, rename)
* Διαδικασία Revert
* Διαδικασία Commit
* Διαδικασία Rollback
h2. Βήμα 5 – Διαδικασίες αποστολής Patch/Diff για reviewing στο ReviewBoard
Σημείωση: η αποστολή στο ReviewBoard είναι υποχρεωτική εκτός εξαιρέσεων που θα ορίσουμε στην πράξη (πχ πολύ minor αλλαγές)
* Μέσω του Mercurial Review Board plugin: RBTools (προτεινόμενο): [[Review Board|Αναλυτικές οδηγίες]]
* Μέσω Web UI (αποστολή patch με το χέρι) ή RBTools (δεν προτείνεται)
(προαιρετικό)
Μπούσουλας: http://www.reviewboard.org/docs/manual/1.7/users/
h2. Βήμα 6 – Διαδικασία αποστολής Αλλαγών
* Διαδικασία Push
** η συγκεκριμένη διαδικασία θα προχωράει κατόπιν επιτυχούς reviewing στο ReviewBoard ή/και συνεννόησης με την κεντρική ομάδα
** Σημείωση: το push θα επιτρέπεται μόνο στο development (trunk) branch, στα άλλα branches δεν θα επιτρέπεται (αυτό μπορεί να επιβληθεί με το ACL extension)
{{>toc}}
Προετοιμασία και περιγραφή διαδικασίας
h2. Βήμα 1 - Προαπαιτούμενα
* Εγκατεστημένο το Mercurial στο λειτουργικό σύστημα των developers
** Οδηγίες για Windows/Mac/Linux
** Οδηγίες για ρύθμιση του Netbeans ώστε να χρησιμοποιεί το mercurial του συστήματος
* Χρήση γραφικών εργαλείων
** TortoiseHG
** SourceTree
** Αναφορά στο http://hg.gunet.gr/openeclass για χρήση και ως γραφικό εργαλείο
** HGK
* Εγκατάσταση Python και RBTools (θα χρησιμοποιήσουμε το http://www.reviewboard.org/docs/manual/1.7/users/tools/post-review ως μπούσουλα)
* Εγκατάσταση Εργαλείου για 3-way Merge
h2. Βήμα 2 – Βασικές Διαδικασίες
(Βασικός μπούσουλας υπάρχει εδώ: http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html)
* Διαδικασία Clone
* Διαδικασία αλλαγής Branch
** Σημείωση: Pull θα μπορούν να κάνουν άπαντες, ούτως ή άλλως το project είναι open source και δικαίωμα ανάγνωσης έχουν όλοι (ακόμα και οι anonymous)
* Διαδικασία έλεγχου Status, αναμονών για Εισερχόμενες/Εξερχόμενες αλλαγές (status, incoming, outgoing)
* Διαδικασία λήψης αλλαγών και συγχρονισμού με το κεντρικό repository (Pull, Update, Merge [Σημείωση: το merge ίσως καλύτερα να το περιγράψουμε στο βήμα 4])
h2. Βήμα 3 – Ρυθμίσεις για Mercurial Repository και ReviewBoard
* Ρύθμιση για τα Specifics του Openeclass (username/pass για Mercurial και ReviewBoard)
* Ρύθμιση Mercurial
** Username
** Ignore Files
** Plugins (μπορούμε να παρουσιάσουμε ή απλώς να αναφέρουμε κάποια χρήσιμα, όπως το graphlog, hgk, color, extdiff, progress)
* Ρύθμιση RBTools (.reviewboardrc)
h2. Βήμα 4 – Διαδικασίες Τοπικών Αλλαγών
* Διαδικασίες προσθήκης/αφαίρεσης αρχείων (add, remove, addremove, rename)
* Διαδικασία Revert
* Διαδικασία Commit
* Διαδικασία Rollback
h2. Βήμα 5 – Διαδικασίες αποστολής Patch/Diff για reviewing στο ReviewBoard
Σημείωση: η αποστολή στο ReviewBoard είναι υποχρεωτική εκτός εξαιρέσεων που θα ορίσουμε στην πράξη (πχ πολύ minor αλλαγές)
* Μέσω του Mercurial Review Board plugin: RBTools (προτεινόμενο): [[Review Board|Αναλυτικές οδηγίες]]
* Μέσω Web UI (αποστολή patch με το χέρι) ή RBTools (δεν προτείνεται)
(προαιρετικό)
Μπούσουλας: http://www.reviewboard.org/docs/manual/1.7/users/
h2. Βήμα 6 – Διαδικασία αποστολής Αλλαγών
* Διαδικασία Push
** η συγκεκριμένη διαδικασία θα προχωράει κατόπιν επιτυχούς reviewing στο ReviewBoard ή/και συνεννόησης με την κεντρική ομάδα
** Σημείωση: το push θα επιτρέπεται μόνο στο development (trunk) branch, στα άλλα branches δεν θα επιτρέπεται (αυτό μπορεί να επιβληθεί με το ACL extension)