Project

General

Profile

Mercurial » History » Revision 4

Revision 3 (Αλέξανδρος Διαμαντίδης, 27/01/2014 13:19) → Revision 4/7 (Redmine Admin, 04/09/2020 12:42)

h1. Mercurial και Review Board

{{>toc}}

Προετοιμασία και περιγραφή διαδικασίας

h2. Βήμα 1 - Προαπαιτούμενα

* Εγκατεστημένο το Mercurial στο λειτουργικό σύστημα των developers
** Οδηγίες για Windows/Mac/Linux
** Οδηγίες για ρύθμιση του Netbeans ώστε να χρησιμοποιεί το mercurial του συστήματος
* Χρήση γραφικών εργαλείων
** "TortoiseHG":https://www.mercurial-scm.org/wiki/TortoiseHg TortoiseHG
** "SourceTree":https://www.sourcetreeapp.com/ SourceTree
** Αναφορά στο https://hg.gunet.gr/openeclass 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
<pre><code>
hg clone https://hg.gunet.gr/openeclass
</code></pre>
* Διαδικασία αλλαγής Branch
<pre><code>
hg update 3.10
hg branch my-new-branch
hg update my-new-branch
</code></pre>
** Σημείωση: 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) 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

Σημείωση: για την ανάπτυξη νέας λειτουργικότητας, η δημιουργία νέου branch αποστολή στο ReviewBoard είναι υποχρεωτική εκτός εξαιρέσεων που θα ορίσουμε στην πράξη (πχ πολύ minor αλλαγές)
* Μέσω του Mercurial Review Board plugin: (προτεινόμενο): [[Review Board|Αναλυτικές οδηγίες]]
* Μέσω Web UI (αποστολή patch με το χέρι) ή RBTools (δεν προτείνεται)


h2. Βήμα 6 – Διαδικασία αποστολής Αλλαγών

* Διαδικασία Push
** η συγκεκριμένη διαδικασία θα προχωράει κατόπιν επιτυχούς reviewing στο ReviewBoard ή/και συνεννόησης με την κεντρική ομάδα
** Σημείωση: το push θα επιτρέπεται μόνο σε συγκεκριμένα branches, στο development (trunk) branch, στα άλλα branches δεν θα επιτρέπεται (αυτό μπορεί να επιβληθεί με το ACL extension)