Mercurial » History » Revision 6
Revision 5 (Redmine Admin, 04/09/2020 12:43) → Revision 6/7 (Redmine Admin, 04/09/2020 12:44)
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 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
* Ρύθμιση για τα 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)
{{>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 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
* Ρύθμιση για τα Specifics του Openeclass (username/pass για Mercurial)
* Ρύθμιση Mercurial
** Username
** 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)