You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					121 lines
				
				3.8 KiB
			
		
		
			
		
	
	
					121 lines
				
				3.8 KiB
			| 
											2 weeks ago
										 | Daily Use Guide for using Savannah for lwIP | ||
|  | 
 | ||
|  | Table of Contents: | ||
|  | 
 | ||
|  | 1 - Obtaining lwIP from the Git repository | ||
|  | 2 - Committers/developers Git access using SSH | ||
|  | 3 - Merging a development branch to master branch | ||
|  | 4 - How to release lwIP | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | 1 Obtaining lwIP from the Git repository | ||
|  | ---------------------------------------- | ||
|  | 
 | ||
|  | To perform an anonymous Git clone of the master branch (this is where | ||
|  | bug fixes and incremental enhancements occur), do this: | ||
|  |  git clone git://git.savannah.nongnu.org/lwip.git | ||
|  | 
 | ||
|  | Or, obtain a stable branch (updated with bug fixes only) as follows: | ||
|  |  git clone --branch DEVEL-1_4_1 git://git.savannah.nongnu.org/lwip.git | ||
|  | 
 | ||
|  | Or, obtain a specific (fixed) release as follows: | ||
|  |  git clone --branch STABLE-1_4_1 git://git.savannah.nongnu.org/lwip.git | ||
|  | 
 | ||
|  | 
 | ||
|  | 2 Committers/developers Git access using SSH | ||
|  | -------------------------------------------- | ||
|  | 
 | ||
|  | The Savannah server uses SSH (Secure Shell) protocol 2 authentication and encryption. | ||
|  | As such, Git 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 | ||
|  | 
 | ||
|  | Under Windows, a recommended SSH client is "PuTTY", freely available with good | ||
|  | documentation and a graphic user interface. Use its key generator. | ||
|  | 
 | ||
|  | Now paste the id_rsa.pub contents into your Savannah account public key list. Wait | ||
|  | a while so that Savannah can update its configuration (This can take minutes). | ||
|  | 
 | ||
|  | Try to login using SSH: | ||
|  |  ssh -v your_login@git.sv.gnu.org | ||
|  | 
 | ||
|  | If it tells you: | ||
|  |  Linux vcs.savannah.gnu.org 2.6.32-5-xen-686 #1 SMP Wed Jun 17 17:10:03 UTC 2015 i686 | ||
|  | 
 | ||
|  |  Interactive shell login is not possible for security reasons. | ||
|  |  VCS commands are allowed. | ||
|  |  Last login: Tue May 15 23:10:12 2012 from 82.245.102.129 | ||
|  |  You tried to execute: | ||
|  |  Sorry, you are not allowed to execute that command. | ||
|  |  Shared connection to git.sv.gnu.org closed. | ||
|  | 
 | ||
|  | then you could login; Savannah refuses to give you a shell - which is OK, as we | ||
|  | are allowed to use SSH for Git only. Now, you should be able to do this: | ||
|  |  git clone your_login@git.sv.gnu.org:/srv/git/lwip.git | ||
|  | 
 | ||
|  | After which you can edit your local files with bug fixes or new features and | ||
|  | commit them. Make sure you know what you are doing when using Git to make | ||
|  | changes 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 https://savannah.nongnu.org/git/?group=lwip | ||
|  | 
 | ||
|  | 
 | ||
|  | 3 - Merging a development branch to master branch | ||
|  | ------------------------------------------------- | ||
|  | 
 | ||
|  | Merging is a straightforward process in Git. How to merge all changes in a | ||
|  | development branch since our last merge from main: | ||
|  | 
 | ||
|  | Checkout the master branch: | ||
|  |  git checkout master | ||
|  | 
 | ||
|  | Merge the development branch to master: | ||
|  |  git merge your-development-branch | ||
|  | 
 | ||
|  | Resolve any conflict. | ||
|  | 
 | ||
|  | Commit the merge result. | ||
|  |  git commit -a | ||
|  | 
 | ||
|  | Push your commits: | ||
|  |  git push | ||
|  | 
 | ||
|  | 
 | ||
|  | 4 How to release lwIP | ||
|  | --------------------- | ||
|  | 
 | ||
|  | First, tag the release using Git: (I use release number 1.4.1 throughout | ||
|  | this example). | ||
|  |  git tag -a STABLE-1_4_1 | ||
|  | 
 | ||
|  | Share the tag reference by pushing it to remote: | ||
|  |  git push origin STABLE-1_4_1 | ||
|  | 
 | ||
|  | Prepare the release: | ||
|  |  cp -r lwip lwip-1.4.1 | ||
|  |  rm -rf lwip-1.4.1/.git lwip-1.4.1/.gitattributes | ||
|  | 
 | ||
|  | Archive the current directory using tar, gzip'd, bzip2'd and zip'd. | ||
|  |  tar czvf lwip-1.4.1.tar.gz lwip-1.4.1 | ||
|  |  tar cjvf lwip-1.4.1.tar.bz2 lwip-1.4.1 | ||
|  |  zip -r lwip-1.4.1.zip lwip-1.4.1 | ||
|  | 
 | ||
|  | Now, sign the archives with a detached GPG binary signature as follows: | ||
|  |  gpg -b lwip-1.4.1.tar.gz | ||
|  |  gpg -b lwip-1.4.1.tar.bz2 | ||
|  |  gpg -b lwip-1.4.1.zip | ||
|  | 
 | ||
|  | Upload these files using anonymous FTP: | ||
|  |  ncftp ftp://savannah.gnu.org/incoming/savannah/lwip | ||
|  |  ncftp> mput *1.4.1.* | ||
|  | 
 | ||
|  | Additionally, you may post a news item on Savannah, like this: | ||
|  | 
 | ||
|  | A new 1.4.1 release is now available here: | ||
|  | http://savannah.nongnu.org/files/?group=lwip&highlight=1.4.1 | ||
|  | 
 | ||
|  | You will have to submit this via the user News interface, then approve | ||
|  | this via the Administrator News interface. |