Project

General

Profile

Actions

Mercurial

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

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

  • Εγκατεστημένο το Mercurial στο λειτουργικό σύστημα των developers
    • Οδηγίες για Windows/Mac/Linux
    • Οδηγίες για ρύθμιση του Netbeans ώστε να χρησιμοποιεί το mercurial του συστήματος
  • Χρήση γραφικών εργαλείων
  • Εγκατάσταση Εργαλείου για 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
    • E-mail
    • 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