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