Net-SNMP SVN Usage Page
External documentation:
Contents
Basic Operations
Checking out the main-line code base:
svn co https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk/net-snmp net-snmp
Checking out a branch (e.g. V5-4-patches):
svn co https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/branches/V5-4-patches/net-snmp net-snmp
Updating/Merging to the current repository version:
svn update
Seeing if your local checkout has modifications:
svn status
Seeing if your local checkout is up-to-date (without updating it):
svn -u status
Comparing your local file to the repository file:
svn diff FILE
Committing your changes (requires write access)
svn commit FILE
Repository analysis Commands
Listing what's available in the remote repository:
svn list https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/tags/
Figuring out who modified a line in a file (cvs annotate):
svn blame FILE
Tagging and branching
Creating a tag:
svn copy https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk/net-snmp https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/tags/Ext-5-5/net-snmp
Creating a branch:
svn copy https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk/net-snmp https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/branches/V5-5-patches/net-snmp
Tricks and Tips
Creating a partial checkout (top down approach)
(this was found on the GCC SVN setup page):
Start by checking out the svn repository:
svn co https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/
Then replace any unneeded parts with some nice and fairly empty directory:
svn switch https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk/net-snmp/win32/bin net-snmp/historic svn switch https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk/net-snmp/win32/bin net-snmp/tags
The main disadvantage of this approach is that it involves downloading the full SVN repository (which is fairly large!), before removing the unwanted elements
Creating a partial checkout (bottom up approach)
Alternatively, check out the portions that you're actually interested in:
svn co https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/trunk svn co https://net-snmp.svn.sourceforge.net/svnroot/net-snmp/branches
then create a suitable top-level SVN configuration. The simplest way to do this is to copy an existing '.svn' directory:
cd trunk tar cf - .svn | (cd .. ; tar xf -) cd ..
Then tweak this top-level copy as follows:
edit the file '.svn/all-wcprops' and delete the string "/trunk" edit the file '.svn/entries', delete the string "/trunk", replace the string "module-entries" with "trunk", replace the string "net-snmp" with "branches", delete the section referring to "htdocs"
Always lie to your computer - make sure it knows who's the boss!