Project

General

Profile

Review Board » History » Version 1

Αλέξανδρος Διαμαντίδης, 21/01/2014 15:42

1 1 Αλέξανδρος Διαμαντίδης
h1. Review Board
2
3
Για το review σημαντικών αλλαγών στον κώδικα πριν την εισαγωγή του στη βασική γραμή ανάπτυξης, έχει εγκατασταθεί η εφαρμογή Review Board στην παρακάτω διεύθυνση:
4
5
http://reviews.openeclass.org/
6
7
Το κάθε μέλος της ομάδας που επιθυμεί να ανεβάσει κώδικα ή να συμμετάσχει στο review θα πρέπει να εγγραφεί στην εφαρμογή. Γενικά ακολουθούμε διαδικασία post-commit review, δηλαδή η ανάπτυξη του κώδικα θα πρέπει να γίνει πρώτα commit σε κάποιο branch και βάσει αυτού να αποσταλεί στο Review Board. Δείτε στο τέλος αυτής της σελίδας οδηγίες για την ενεργοποίηση και τις ρυθμίσεις του Mercurial Review Board Extension.
8
9
Ακολουθεί ένα παράδειγμα: ας πούμε ότι αναπτύσσουμε ένα νέο υποσύστημα στο branch "newfeature", το οποίο βασίζεται στο default branch. Αρχικά, πριν την αποστολή των αλλαγών μας για review, θα πρέπει να ελαχιστοποιήσουμε τις αλλαγές από το βασικό κώδικα που δε σχετίζονται με τις αλλαγές μας, κάνοντας merge με το default:
10
11
<pre>$ hg update newfeature
12
$ hg merge default
13
$ hg commit</pre>
14
15
Στη συνέχεια, μπορούμε να στείλουμε στο Review Board το patch που περιλαμβάνει τις αλλαγές του branch μας ως προς το default:
16
17
<pre>$ hg postreview --parent default
18
19
Changeset 6535:5df59fedd8a5
20
---------------------------
21
Merge with default.
22
23
reviewboard:    http://reviews.openeclass.org/
24
25
username: adia
26
password: **********
27
Looking for 'reviews.openeclass.org /' cookie in /home/adia/.post-review-cookies.txt
28
Loaded valid cookie -- no login required
29
Repositories:
30
[1] Open eClass
31
repository id: 1
32
review request draft saved: http://reviews.openeclass.org/r/8/</pre>
33
34
Στη διεύθυνση που εμφανίζεται στο τέλος των μηνυμάτων, μπορούμε να βρούμε την αίτηση review που θέλουμε να κοινοποιήσουμε. Την ανοίγουμε, ελέγχουμε ότι το diff έχει όντως τις αλλαγές που θέλουμε, και συμπληρώνουμε τα επιθυμητά πεδία. Θα πρέπει να βεβαιωθούμε ότι τουλάχιστον τα Summary και Description έχουν συμπληρωθεί με την περιγραφή των αλλαγών που θέλουμε να στείλουμε, ενώ στο πεδίο Groups συμπληρώνουμε υποχρεωτικά "eclass" ώστε το αίτημα να σταλεί στη λίστα eclass-dev. Μπορούμε να συμπληρώσουμε και ονόματα συγκεκριμένων μελών εφόσον επιθυμούμε προσωπική κοινοποίηση. Τέλος, μπορούμε να δημοσιεύσουμε το αίτημα.
35
36
Κατά τη διάρκεια του ελέγχου, μπορεί να γίνουν παρατηρήσεις που οδηγούν σε αλλαγές του κώδικα που επιθυμούμε να στείλουμε. Μπορούμε να κάνουμε τις αλλαγές commit στο branch όπου δουλεύουμε, και να στείλουμε ενημερωμένο αίτημα review:
37
38
<pre>$ hg postreview --parent default -e 8</pre>
39
40
Η παράμετρος -e έχει το id που εμφανίζεται στο url του αιτήματος .
41
42
Μετά την ολοκλήρωση του ελέγχου και την έγκριση για merge, μπορούμε να στείλουμε τις αλλαγές μας στο default branch:
43
44
<pre>$ hg update default
45
$ hg merge newfeature
46
$ hg commit</pre>
47
48
Αν το branch προοριζόταν για συγκεκριμένο feature που η ανάπτυξή του έχει ολοκληρωθεί, στο commit μπορούμε να κλείσουμε το συγκεκριμένο branch δίνοντας την παράμετρο @--close-branch@ στην εντολή του commit.
49
50
h2. Εγκατάσταση Review Board Extension
51
52
Το "Review Board Extension":http://mercurial.selenic.com/wiki/ReviewboardExtension του Mercurial μπορεί να εγκατασταθεί ως εξής:
53
54
<pre>$ mkdir -p ~/.hgext
55
$ cd ~/.hgext
56
$ hg clone https://bitbucket.org/ccaughie/hgreviewboard</pre>
57
58
Στη συνέχεια, εισάγουμε στο αρχείο @~/.hgrc@ τα παρακάτω:
59
60
<pre>[extensions]
61
reviewboard = ~/.hgext/hgreviewboard
62
63
[reviewboard]
64
server = http://reviews.openeclass.org
65
user = <username μας στο Review Board>
66
password = <password στο Review Board></pre>
67
68
Μετά τα παραπάνω, θα είναι διαθέσιμη η εντολή @hg postreview@.