| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | Daily Use Guide for using Savannah for lwIPTable of Contents:1 - Obtaining lwIP from the CVS repository2 - Committers/developers CVS access using SSH (to be written)3 - Merging from DEVEL branch to main trunk (stable branch)4 - How to release lwIP1 Obtaining lwIP from the CVS repository----------------------------------------To perform an anonymous CVS checkout of the main trunk (this is wherebug fixes and incremental enhancements occur), do this:cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout lwip Or, obtain a stable branch (updated with bug fixes only) as follows:cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout \  -r STABLE-0_7 -d lwip-0.7 lwipOr, obtain a specific (fixed) release as follows:cvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout \  -r STABLE-0_7_0 -d lwip-0.7.0 lwip3 Committers/developers CVS access using SSH--------------------------------------------The Savannah server uses SSH (Secure Shell) protocol 2 authentication and encryption.As such, CVS commits to the server occur through a SSH tunnel for project members.To create a SSH2 key pair in UNIX-like environments, do this:ssh-keygen -t dsaUnder Windows, a recommended SSH client is "PuTTY", freely available with gooddocumentation and a graphic user interface. Use its key generator.Now paste the id_dsa.pub contents into your Savannah account public key list. Waita while so that Savannah can update its configuration (This can take minutes).Try to login using SSH:ssh -v your_login@cvs.sv.gnu.orgIf it tells you:Authenticating with public key "your_key_name"...Server refused to allocate ptythen you could login; Savannah refuses to give you a shell - which is OK, as weare allowed to use SSH for CVS only. Now, you should be able to do this:export CVS_RSH=sshcvs -z3 -d:ext:your_login@cvs.sv.gnu.org:/sources/lwip co lwip after which you can edit your local files with bug fixes or new features andcommit them. Make sure you know what you are doing when using CVS to makechanges on the repository. If in doubt, ask on the lwip-members mailing list.(If SSH asks about authenticity of the host, you can check the key fingerprint against http://savannah.nongnu.org/cvs/?group=lwip)3 Merging from DEVEL branch to main trunk (stable)--------------------------------------------------Merging is a delicate process in CVS and requires thefollowing disciplined steps in order to prevent conflictsin the future. Conflicts can be hard to solve!Merging from branch A to branch B requires that the A branchhas a tag indicating the previous merger. This tag is called'merged_from_A_to_B'. After merging, the tag is moved in theA branch to remember this merger for future merge actions.IMPORTANT: AFTER COMMITTING A SUCCESFUL MERGE IN THEREPOSITORY, THE TAG MUST BE SET ON THE SOURCE BRANCH OF THEMERGE ACTION (REPLACING EXISTING TAGS WITH THE SAME NAME).Merge all changes in DEVEL since our last merge to main:In the working copy of the main trunk:cvs update -P -jmerged_from_DEVEL_to_main -jDEVEL (This will apply the changes between 'merged_from_DEVEL_to_main'and 'DEVEL' to your work set of files)We can now commit the merge result.cvs commit -R -m "Merged from DEVEL to main." If this worked out OK, we now move the tag in the DEVEL branchto this merge point, so we can use this point for future merges:cvs rtag -F -r DEVEL merged_from_DEVEL_to_main lwip 4 How to release lwIP---------------------First, checkout a clean copy of the branch to be released. Tag this set withtag name "STABLE-0_6_3". (I use release number 0.6.3 throughout this example).Login CVS using pserver authentication, then export a clean copy of thetagged tree. Export is similar to a checkout, except that the CVS metadatais not created locally. export CVS_RSH=sshcvs -z3 -d:pserver:anonymous@cvs.sv.gnu.org:/sources/lwip checkout \  -r STABLE-0_6_3 -d lwip-0.6.3 lwipArchive this directory using tar, gzip'd, bzip2'd and zip'd.tar czvf lwip-0.6.3.tar.gz lwip-0.6.3tar cjvf lwip-0.6.3.tar.bz2 lwip-0.6.3zip -r lwip-0.6.3.zip lwip-0.6.3Now, sign the archives with a detached GPG binary signature as follows:gpg -b lwip-0.6.3.tar.gzgpg -b lwip-0.6.3.tar.bz2gpg -b lwip-0.6.3.zipUpload these files using anonymous FTP:ncftp ftp://savannah.gnu.org/incoming/savannah/lwipncftp>mput *0.6.3.*Additionally, you may post a news item on Savannah, like this:A new 0.6.3 release is now available here:http://savannah.nongnu.org/files/?group=lwip&highlight=0.6.3You will have to submit this via the user News interface, then approvethis via the Administrator News interface.
 |