| 
					
				 | 
			
			
				@@ -0,0 +1,66 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+The Utilities/cmjsoncpp directory contains a reduced distribution 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+of the jsoncpp source tree with only the library source code and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+CMake build system.  It is not a submodule; the actual content is part 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+of our source tree and changes can be made and committed directly. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+We update from upstream using Git's "subtree" merge strategy.  A 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+special branch contains commits of upstream jsoncpp snapshots and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+nothing else.  No Git ref points explicitly to the head of this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+branch, but it is merged into our history. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Update jsoncpp from upstream as follows.  Create a local branch to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+explicitly reference the upstream snapshot branch head: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git branch jsoncpp-upstream 53f6ccb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Use a temporary directory to checkout the branch: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ mkdir jsoncpp-tmp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ cd jsoncpp-tmp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git pull .. jsoncpp-upstream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ rm -rf * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Now place the (reduced) jsoncpp content in this directory.  See 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+instructions shown by 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git log 53f6ccb0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+for help extracting the content from the upstream svn repo.  Then run 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+the following commands to commit the new version.  Substitute the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+appropriate date and version number: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git add --all 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ GIT_AUTHOR_NAME='JsonCpp Upstream' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ GIT_AUTHOR_EMAIL='[email protected]' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ GIT_AUTHOR_DATE='Thu Nov 20 08:45:58 2014 -0600' \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git commit -m 'JsonCpp 1.0.0 (reduced)' && 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git commit --amend 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Edit the commit message to describe the procedure used to obtain the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+content.  Then push the changes back up to the main local repository: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git push .. HEAD:jsoncpp-upstream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ cd .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ rm -rf jsoncpp-tmp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Create a topic in the main repository on which to perform the update: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git checkout -b update-jsoncpp master 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Merge the jsoncpp-upstream branch as a subtree: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git merge -s recursive -X subtree=Utilities/cmjsoncpp \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           jsoncpp-upstream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+If there are conflicts, resolve them and commit.  Build and test the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+tree.  Commit any additional changes needed to succeed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Finally, run 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ git rev-parse --short=8 jsoncpp-upstream 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+to get the commit from which the jsoncpp-upstream branch must be started 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+on the next update.  Edit the "git branch jsoncpp-upstream" line above to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+record it, and commit this file. 
			 |