Project

General

Profile

Mercurial » History » Revision 5

Revision 4 (Redmine Admin, 04/09/2020 12:42) → Revision 5/7 (Redmine Admin, 04/09/2020 12:43)

h1. Mercurial και Review Board

{{>toc}}

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

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

* Εγκατεστημένο το Mercurial στο λειτουργικό σύστημα των developers
** Οδηγίες για Windows/Mac/Linux
** Οδηγίες για ρύθμιση του Netbeans ώστε να χρησιμοποιεί το mercurial του συστήματος
* Χρήση γραφικών εργαλείων
** "TortoiseHG":https://www.mercurial-scm.org/wiki/TortoiseHg
** "SourceTree":https://www.sourcetreeapp.com/
** Αναφορά στο https://hg.gunet.gr/openeclass για χρήση και ως γραφικό εργαλείο
* Εγκατάσταση Εργαλείου για 3-way Merge

h2. Βήμα 2 – Βασικές Διαδικασίες

(Βασικός μπούσουλας υπάρχει εδώ: http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html)

* Διαδικασία Clone
<pre><code>hg <pre><code>
hg
clone https://hg.gunet.gr/openeclass
</code></pre>
* Διαδικασία αλλαγής Branch
<pre><code>hg <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

* Ρύθμιση για τα Specifics του Openeclass (username/pass για Mercurial)
* Ρύθμιση Mercurial
** Username
** E-mail
** Ignore Files
** Plugins (μπορούμε να παρουσιάσουμε ή απλώς να αναφέρουμε κάποια χρήσιμα, όπως το graphlog, hgk, color, extdiff, progress)

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

* Διαδικασίες προσθήκης/αφαίρεσης αρχείων (add, remove, addremove, rename)
* Διαδικασία Revert
* Διαδικασία Commit
* Διαδικασία Rollback

h2. Βήμα 5 – Διαδικασίες αποστολής Patch/Diff για reviewing

Σημείωση: για την ανάπτυξη νέας λειτουργικότητας, η δημιουργία νέου branch είναι υποχρεωτική εκτός εξαιρέσεων που θα ορίσουμε στην πράξη (πχ πολύ minor αλλαγές)

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

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