New Platform 12.0.5. Download or Buy on Drive
Over 300 free and legal portable apps including MediaInfo (Jan 15, 2015) needs your help: Please donate today

Portable Subversion Clients

- May 1, 2007 - 11:24am
Share on Facebook

Here are two Subversion clients that I made portable.

The first is RapidSVN, which is open-source and free.

Description: (From App Website:)

RapidSVN is a cross-platform GUI front-end for the Subversion revision system written in C++ using the wxWidgets framework. This project also includes a Subversion client C++ API.


It uses the registry to store its settings and the application data folder to store subversion program settings. The launcher will back up the registry and load the portable settings, and will also copy the app data folder to the settings folder on shutdown and vice versa for launch. There are no files left on the pc.

Also if there is a local installed version, it will ask which version, the portable or local, you would like to run. It will backup the local settings if this is chosen.

Download Link:

Application Homepage:


The second is SmartSVN.

Description: (From App Website:)

SmartSVN is an innovative multi-platform client for Subversion external links, the designated successor of CVS. SmartSVN has powerful features like the built-in File Compare/Merge, Conflict Solver, and Tag and Branch handling which make your daily work with Subversion as easy as possible.


While this is free for use with the Foundation version, it is not open-source. So I am posting only the launcher script and instructions how to build, you will have to download it yourself to compile.

The program use Java, but you can download bundled version that uses its own Java folder. The program stores its settings in a folder in the data/settings directory once compiled. Also the Java location directory is stored in the registry. This reg setting is handled by the launcher.

Follow the Readme.txt file for instructions on how to build SmartSVN Portable.

Download Link:

Application Homepage:

As always post any problems you might have.

Edit (2 May 2007):
Files needed to Compile:

Besides the standard NSIS setup and the plugins used by John here, these are the plugins needed to compile the SmartSVN.

Messagebox Plugin

Registry Plugin


( categories: )


you are a legend, I was just starting to write a launcher for SmartSVN, thanks.


Steve Lamerton

My Blog

No Problem...

I need to start getting in the subversion servers at sourceforge to upload regrapppers code, so I had to learn quick. This just made it easier.


Deuce {The Core}{Dev Blog}
Portable Software: Just the beginning.

Portable Software: Just the beginning.



Would your idea of creating a launcher for SmartSVN also work for their SmartGit application???


It is not the job you get handed but what you have done with it in the end.

I was just going to

I was just going to put a request for a SVN client on the requested apps forum and there you go and post it already done! Wow!

Damn it!

I was about to do an SVN client Laughing out loud
Mind you, I personally prefer TortoiseSVN.
Ryan McCue.
So all that Airbus-delay trouble over here in Europe is because of YOU!

"If you're not part of the solution, you're part of the precipitate."

I did...

look into tortoise, but since it is a shell extension and not an actual program, there is no way to make it work. Remember, hkey_classes_root is where the registered shell extensions are and that is admin only.

I did try and was unsuccessful. If they make an actual program and not extension, I could probably make it. But....

Deuce {The Core}{Dev Blog}
Portable Software: Just the beginning.

Portable Software: Just the beginning.

I know

That's what I like. Laughing out loud
Ryan McCue.
So all that Airbus-delay trouble over here in Europe is because of YOU!

"If you're not part of the solution, you're part of the precipitate."

Can't compile it!

I'm trying to follow the instructions for smartSVN but I can't get to smartsvn.nsi to compile. It keeps protesting. Command line and complete output follow:

Edit: This is my first time with NSIS. Treat me softly!

B:\PortableApps\SmartSVN>B:\PortableApps\NSISPortable\App\NSIS\Makensis.exe smar
MakeNSIS v2.25 - Copyright 1995-2007 Contributors
See the file COPYING for license details.
Credits can be found in the Users Manual.

Processing config:
Processing plugin dlls: "B:\PortableApps\NSISPortable\App\NSIS\Plugins\*.dll"
 - AdvSplash::show
 - Banner::destroy
 - Banner::getWindow
 - Banner::show
 - BgImage::AddImage
 - BgImage::AddText
 - BgImage::Clear
 - BgImage::Destroy
 - BgImage::Redraw
 - BgImage::SetBg
 - BgImage::SetReturn
 - BgImage::Sound
 - Dialer::AttemptConnect
 - Dialer::AutodialHangup
 - Dialer::AutodialOnline
 - Dialer::AutodialUnattended
 - Dialer::GetConnectedState
 - FindProcDLL::FindProc
 - InstallOptions::dialog
 - InstallOptions::initDialog
 - InstallOptions::show
 - KillProcDLL::KillProc
 - LangDLL::LangDialog
 - Math::Script
 - NSISdl::download
 - NSISdl::download_quiet
 - Registry::_Close
 - Registry::_CopyKey
 - Registry::_CopyValue
 - Registry::_CreateKey
 - Registry::_DeleteKey
 - Registry::_DeleteKeyEmpty
 - Registry::_DeleteValue
 - Registry::_Find
 - Registry::_HexToStr
 - Registry::_KeyExists
 - Registry::_MoveKey
 - Registry::_MoveValue
 - Registry::_Open
 - Registry::_Read
 - Registry::_ReadExtra
 - Registry::_RestoreKey
 - Registry::_SaveKey
 - Registry::_StrToHex
 - Registry::_Unload
 - Registry::_Write
 - Registry::_WriteExtra
 - Splash::show
 - StartMenu::Init
 - StartMenu::Select
 - StartMenu::Show
 - System::Alloc
 - System::Call
 - System::Copy
 - System::Free
 - System::Get
 - System::Int64Op
 - System::Store
 - TypeLib::GetLibVersion
 - TypeLib::Register
 - TypeLib::UnRegister
 - UserInfo::GetAccountType
 - UserInfo::GetName
 - VPatch::vpatchfile
 - newadvsplash::hwnd
 - newadvsplash::play
 - newadvsplash::show
 - newadvsplash::stop
 - newadvsplash::wait
 - nsExec::Exec
 - nsExec::ExecToLog
 - nsExec::ExecToStack


Changing directory to: "B:\PortableApps\SmartSVN"

Processing script file: "smartsvn.nsi"
!define: "APPNAME"="SmartSVN"
!define: "SNAME"="PortableSmartSVN"
!define: "EXE"="$EXEDIR\App\SmartSVN\Bin\smartsvn.exe"
!define: "CURRENT"="$EXEDIR\Data\Settings\Current.reg"
!define: "REGFILE"="$EXEDIR\Data\Settings\Settings.reg"
!define: "REGKEY"="HKEY_CURRENT_USER\Software\ej-technologies"
!include: "B:\PortableApps\NSISPortable\App\NSIS\Include\Registry.nsh"
!define: "registry::Open"="!insertmacro registry::Open"
!define: "registry::Find"="!insertmacro registry::Find"
!define: "registry::Close"="!insertmacro registry::Close"
!define: "registry::KeyExists"="!insertmacro registry::KeyExists"
!define: "registry::Read"="!insertmacro registry::Read"
!define: "registry::Write"="!insertmacro registry::Write"
!define: "registry::ReadExtra"="!insertmacro registry::ReadExtra"
!define: "registry::WriteExtra"="!insertmacro registry::WriteExtra"
!define: "registry::CreateKey"="!insertmacro registry::CreateKey"
!define: "registry::DeleteValue"="!insertmacro registry::DeleteValue"
!define: "registry::DeleteKey"="!insertmacro registry::DeleteKey"
!define: "registry::DeleteKeyEmpty"="!insertmacro registry::DeleteKeyEmpty"
!define: "registry::CopyValue"="!insertmacro registry::CopyValue"
!define: "registry::MoveValue"="!insertmacro registry::MoveValue"
!define: "registry::CopyKey"="!insertmacro registry::CopyKey"
!define: "registry::MoveKey"="!insertmacro registry::MoveKey"
!define: "registry::SaveKey"="!insertmacro registry::SaveKey"
!define: "registry::RestoreKey"="!insertmacro registry::RestoreKey"
!define: "registry::StrToHex"="!insertmacro registry::StrToHex"
!define: "registry::HexToStr"="!insertmacro registry::HexToStr"
!define: "registry::Unload"="!insertmacro registry::Unload"
!include: closed: "B:\PortableApps\NSISPortable\App\NSIS\Include\Registry.nsh"
CRCCheck: on
AutoCloseWindow: true
SilentInstall: silent
WindowIcon: off
XPStyle: on
Name: "Portable SmartSVN"
Icon: "icon.ico"
Caption: "Portable SmartSVN -  Version 1.0"
OutFile: "PortableSmartSVN.exe"
LoadLanguageFile: B:\PortableApps\NSISPortable\App\NSIS\Contrib\Language files\E
VIAddVersionKey: "ProductName" "Portable SmartSVN"
VIAddVersionKey: "LegalCopyright" "⌐ Jonathan Durant 2006"
VIAddVersionKey: "FileDescription" "Allows portability of SmartSVN."
VIAddVersionKey: "FileVersion" ""
Section: "Main"
!insertmacro: registry::KeyExists
File: "Registry.dll"->"$PLUGINSDIR\Registry.dll" [compress] 9244/17408 bytes
Plugin Command: _KeyExists HKEY_CURRENT_USER\Software\ej-technologies
Pop: $R0
!insertmacro: end of registry::KeyExists
StrCmp "$R0" "0" equal=0, nonequal=RunPortable
Invalid command: MessageBox::show
Error in script "smartsvn.nsi" on line 66 -- aborting creation process


You need..

To have the messagebox plugin here

Install that per the instructions and you should not have any problems.

Deuce {The Core}{Dev Blog}
Portable Software: Just the beginning.

[Moderator RM: Remember href=" not href"= Eye-wink I fixed for you]

Portable Software: Just the beginning.

I'll try tonight

Thanks for the tip.


It took some work, but it worked like a charm!

Thanks Deuce!

smartsvn - messagebox plugin

I have the same problem as you post at - messagebox::show.
How you can fix it? I have download the plugin - registry & messagebox.
Read many time in "Example.nsi" from messagebox - no clue...

Thanks in advance, K


Wow.. you rock. Closest I had found for a portable rapidsvn was an autoit hacked launching script but it didn't fit in with the suite very well. Your is very very nice, thank you.


Yes - this is a historic thread. I'd like to get a launcher for RapidSVN. The other thread I found here wasn't too useful. Will post there too.