Project

General

Profile

Review Board » History » Version 3

Panayotis Katsaloulis, 13/02/2014 16:24

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