]> rtime.felk.cvut.cz Git - pes-rpp/rpp-lwip.git/blob - doc/savannah.txt
Merged from DEVEL into main tree.
[pes-rpp/rpp-lwip.git] / doc / savannah.txt
1 Daily Use Guide for using Savannah for lwIP
2
3 Table of Contents:
4
5 1 - Anonymous CVS checkouts and updates (to be elaborated)
6 2 - Committers/developers CVS access using SSH (to be written)
7 3 - Merging from DEVEL branch to main trunk (stable branch)
8 4 - How to release lwIP
9
10
11 1 Anonymous CVS checkouts and updates
12 -------------------------------------
13
14 Obtain lwIP from the CVS main trunk (stable)
15
16 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip login
17 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip checkout lwip
18
19 Or, obtain a specific release as follows:
20
21 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip login
22 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip checkout -r STABLE-0_6_3 -d lwip-0.6.3 lwip
23
24 Or, obtain a development branch as follows:
25
26 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip login
27 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip checkout -r DEVEL -d lwip-DEVEL lwip
28
29
30 3 Merging from DEVEL branch to main trunk (stable)
31 ---------------------------------------------------------
32
33 Merging is a delicate process in CVS and requires the
34 following disciplined steps in order to prevent conflicts
35 in the future. Conflicts can be hard to solve!
36
37 Merging from branch A to branch B requires that the A branch
38 has a tag indicating the previous merger. This tag is called
39 'merged_from_A_to_B'. After merging, the tag is moved in the
40 A branch to remember this merger for future merge actions.
41
42 IMPORTANT: AFTER COMMITTING A SUCCESFUL MERGE IN THE
43 REPOSITORY, THE TAG MUST BE SET ON THE SOURCE BRANCH OF THE
44 MERGE ACTION (REPLACING EXISTING TAGS WITH THE SAME NAME).
45
46 Merge all changes in DEVEL since our last merge to main:
47
48 In the working copy of the main trunk:
49 cvs update -P -jmerged_from_DEVEL_to_main -jDEVEL 
50
51 (This will apply the changes between 'merged_from_DEVEL_to_main'
52 and 'DEVEL' to your work set of files)
53
54 If this worked out OK, we now move the tag in the DEVEL branch
55 to this merge point, so we can use this point for future merges:
56
57 cvs rtag -F -r DEVEL merged_from_DEVEL_to_main lwip 
58
59 4 How to release lwIP
60 ---------------------
61
62 First, checkout a clean copy of the branch to be released. Tag this set with
63 tag name "STABLE-0_6_3". (I use release number 0.6.3 throughout this example).
64
65 Login CVS using pserver authentication, then export a clean copy of the
66 tagged tree. Export is similar to a checkout, except that the CVS metadata
67 is not created locally. 
68
69 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip login
70 cvs -d:pserver:anoncvs@subversions.gnu.org:/cvsroot/lwip export -r STABLE-0_6_3 -d lwip-0.6.3 lwip
71
72 Archive this directory using tar, gzip'd, bzip2'd and zip'd.
73
74 tar czvf lwip-0.6.3.tar.gz lwip-0.6.3
75
76 First, make a local release directory to work in, I use "lwip-releases":
77
78 mkdir lwip-releases
79 cd lwip-releases
80
81 Now, make a new release by creating a new directory for it (these are
82 Savannah conventions so that it shows up in the Files list real nice):
83
84 mkdir stable.pkg
85 mkdir stable.pkg 0.6.3
86
87 We can now copy the tar archive we made earlier into the release directory:
88
89 cp ../../../lwip-0.6.3.tar.gz .
90
91 Finally, synchronize this directory upwards to Savannah:
92
93 rsync -n -e "ssh -1" -t -u -v -r *.pkg likewise@savannah.nongnu.org:/upload/lwip
94
95 This does a "dry run": no files are modified! After you have confirmed that
96 this is what you intended to do, remove "-n" and actually synchronize for
97 real. The release should now be available here:
98
99 http://savannah.nongnu.org/files/?group=lwip
100
101 ---
102 Explanation of rsync options used:
103
104 -t: preserve file timestamps
105 -u: do not overwrite existing files, unless they are older
106 -v: be verbose (long format file attributes)
107 -r: recurse into directories
108 -n: dry-run, do not modify anything. 
109 ---
110
111 Additionally, you may post a news item on Savannah, like this:
112
113 A new 0.6.3 release is now available here:
114 http://savannah.nongnu.org/files/?group=lwip&highlight=0.6.3
115
116 You will have to submit this via the user News interface, then approve
117 this via the Administrator News interface.