BadVPN – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | Daily Use Guide for using Savannah for lwIP |
2 | |||
3 | Table of Contents: |
||
4 | |||
5 | 1 - Obtaining lwIP from the Git repository |
||
6 | 2 - Committers/developers Git access using SSH |
||
7 | 3 - Merging a development branch to master branch |
||
8 | 4 - How to release lwIP |
||
9 | |||
10 | |||
11 | |||
12 | 1 Obtaining lwIP from the Git repository |
||
13 | ---------------------------------------- |
||
14 | |||
15 | To perform an anonymous Git clone of the master branch (this is where |
||
16 | bug fixes and incremental enhancements occur), do this: |
||
17 | git clone git://git.savannah.nongnu.org/lwip.git |
||
18 | |||
19 | Or, obtain a stable branch (updated with bug fixes only) as follows: |
||
20 | git clone --branch DEVEL-1_4_1 git://git.savannah.nongnu.org/lwip.git |
||
21 | |||
22 | Or, obtain a specific (fixed) release as follows: |
||
23 | git clone --branch STABLE-1_4_1 git://git.savannah.nongnu.org/lwip.git |
||
24 | |||
25 | |||
26 | 2 Committers/developers Git access using SSH |
||
27 | -------------------------------------------- |
||
28 | |||
29 | The Savannah server uses SSH (Secure Shell) protocol 2 authentication and encryption. |
||
30 | As such, Git commits to the server occur through a SSH tunnel for project members. |
||
31 | To create a SSH2 key pair in UNIX-like environments, do this: |
||
32 | ssh-keygen -t dsa |
||
33 | |||
34 | Under Windows, a recommended SSH client is "PuTTY", freely available with good |
||
35 | documentation and a graphic user interface. Use its key generator. |
||
36 | |||
37 | Now paste the id_dsa.pub contents into your Savannah account public key list. Wait |
||
38 | a while so that Savannah can update its configuration (This can take minutes). |
||
39 | |||
40 | Try to login using SSH: |
||
41 | ssh -v your_login@git.sv.gnu.org |
||
42 | |||
43 | If it tells you: |
||
44 | Linux vcs.savannah.gnu.org 2.6.32-5-xen-686 #1 SMP Wed Jun 17 17:10:03 UTC 2015 i686 |
||
45 | |||
46 | Interactive shell login is not possible for security reasons. |
||
47 | VCS commands are allowed. |
||
48 | Last login: Tue May 15 23:10:12 2012 from 82.245.102.129 |
||
49 | You tried to execute: |
||
50 | Sorry, you are not allowed to execute that command. |
||
51 | Shared connection to git.sv.gnu.org closed. |
||
52 | |||
53 | then you could login; Savannah refuses to give you a shell - which is OK, as we |
||
54 | are allowed to use SSH for Git only. Now, you should be able to do this: |
||
55 | git clone your_login@git.sv.gnu.org:/srv/git/lwip.git |
||
56 | |||
57 | After which you can edit your local files with bug fixes or new features and |
||
58 | commit them. Make sure you know what you are doing when using Git to make |
||
59 | changes on the repository. If in doubt, ask on the lwip-members mailing list. |
||
60 | |||
61 | (If SSH asks about authenticity of the host, you can check the key |
||
62 | fingerprint against https://savannah.nongnu.org/git/?group=lwip |
||
63 | |||
64 | |||
65 | 3 - Merging a development branch to master branch |
||
66 | ------------------------------------------------- |
||
67 | |||
68 | Merging is a straightforward process in Git. How to merge all changes in a |
||
69 | development branch since our last merge from main: |
||
70 | |||
71 | Checkout the master branch: |
||
72 | git checkout master |
||
73 | |||
74 | Merge the development branch to master: |
||
75 | git merge your-development-branch |
||
76 | |||
77 | Resolve any conflict. |
||
78 | |||
79 | Commit the merge result. |
||
80 | git commit -a |
||
81 | |||
82 | Push your commits: |
||
83 | git push |
||
84 | |||
85 | |||
86 | 4 How to release lwIP |
||
87 | --------------------- |
||
88 | |||
89 | First, tag the release using Git: (I use release number 1.4.1 throughout |
||
90 | this example). |
||
91 | git tag -a STABLE-1_4_1 |
||
92 | |||
93 | Share the tag reference by pushing it to remote: |
||
94 | git push origin STABLE-1_4_1 |
||
95 | |||
96 | Prepare the release: |
||
97 | cp -r lwip lwip-1.4.1 |
||
98 | rm -rf lwip-1.4.1/.git lwip-1.4.1/.gitattributes |
||
99 | |||
100 | Archive the current directory using tar, gzip'd, bzip2'd and zip'd. |
||
101 | tar czvf lwip-1.4.1.tar.gz lwip-1.4.1 |
||
102 | tar cjvf lwip-1.4.1.tar.bz2 lwip-1.4.1 |
||
103 | zip -r lwip-1.4.1.zip lwip-1.4.1 |
||
104 | |||
105 | Now, sign the archives with a detached GPG binary signature as follows: |
||
106 | gpg -b lwip-1.4.1.tar.gz |
||
107 | gpg -b lwip-1.4.1.tar.bz2 |
||
108 | gpg -b lwip-1.4.1.zip |
||
109 | |||
110 | Upload these files using anonymous FTP: |
||
111 | ncftp ftp://savannah.gnu.org/incoming/savannah/lwip |
||
112 | ncftp> mput *1.4.1.* |
||
113 | |||
114 | Additionally, you may post a news item on Savannah, like this: |
||
115 | |||
116 | A new 1.4.1 release is now available here: |
||
117 | http://savannah.nongnu.org/files/?group=lwip&highlight=1.4.1 |
||
118 | |||
119 | You will have to submit this via the user News interface, then approve |
||
120 | this via the Administrator News interface. |