net/svnup is a lightweight, dependency-free, BSD licensed program to pull source files from an Apache Subversion server. In much the same way that csup and cvsup were used to checkout source code before the deprecation of CVS at, svnup was written for sysadmins who only need to keep a local source tree in sync and who don't want or need the extra overhead that the official svn client leaves behind.


svnup-1.07.tar.xz distinfo
Fixed a bug where symbolic links in the repository were being processed every time when the -t option was used (Bug 193837).
Fixed a bug that was causing periodic freezing - special thanks to Rudolf Cejka <>.
Fixed a regression where specifying the revision number no longer worked.
Fixed SSL connection errors.
Minor code cleanup.

Added support for repositories that are published in non-root directories (Bug 191132).
Fixed a bug where chunked-transfer offsets occurring inside of an svn tag resulted in a segfault.
Cleaned up check_command_success.

Fixed an bug to properly handle the case when files in the repository are replaced with directories of the same name.

Fixed a issue where symbolic links found in the source trees were being updated during each run.

Fixed a problem with https transfers when using FreeBSD 10.0.
Changed all instances of lstat(2) to stat(2) to avoid problems when links are used.

Fixed bugs with freeing nodes in the red-black trees and additional code cleanup (special thanks to Sitsofe Wheeler).

Fixed a bug when attempting to access an invalid repository path using the http/https protocol.

Fixed a bug when using custom port numbers.


Fixed a bug related to recent (v 1.8) updates to the svn protocol (ports/180485).
Fixed a bug where version tags were inserted into files that did not have the FreeBSD=%H keyword associated with them (ports/180490).


Added a command line option for overriding the location where the lists of known files are stored.
Simplified the procedure that removes (prunes) local files.

Fixed a bug with the $FreeBSD$ line (pr ports/179548).
Fixed a bug where local files were not being removed when using the -t option.

Added a new command line and show all files that exist in the target directory structure that do not exist in the repository.
Fixed bug with the way the progress indicator is displayed.
Fixed segmentation fault that occurred when using the svn protocol and displaying the progress indicator.

Significantly improved performance when using the http/https protocol to fetch incremental updates.
Added a new command line and section option to allow a custom port number to connect to.
Added a new command line option to override the specified section's protocol.
Added a new command line and section option to remove (trim) any files found in the local copy that are not found in the repository.
Fixed a display bug in the progress indicator.

Fixed a bug with the -r command line option.
Added a progress indicator to the output when the verbosity is > 1.
More code cleanup - special thanks to Eitan Adler.
Switched from non-blocking to blocking I/O.

Fixed a bug with the -V command line option
Code cleanup - special thanks to Eitan Adler.

Merged the http and svn code paths.
Replaced binary search tree code with red-black tree defined in <sys/tree.h>
Fixed a bug where revision tags were improperly included if the FreeBSD=%H was not included in the file attributes.
Changed the default directory for storing known files to /var/db/svnup/.
Added the command line option -n to display section's the last known revision and exit.


Implemented binary search tree for faster known file lookups.

Bugfix and minor speed improvement.

http/https support added, added support for a configuration/preferences/aliases file and added IPv6 support.

Bugfix release (special thanks go out to Rudolf Cejka). No new features added.

Major rewrite of command transmission routine (what were once individual commands are now grouped together and sent in bulk). Significant performance improvement and the tool is now useable.

svnup is now in the FreeBSD ports tree under net/svnup.

Performance improvement (it's now just painfully slow).

Initial proof-of-concept release. Excruciatingly slow performance.