You're not currently signed in.

Win32 Installer

Download the SVK installer here:

Older version:

  • svk-2.0.2 Built using Strawberry Perl against svn 1.4.4. Approximately 8.2MB.
    • Note -- this was built with (and bundles) Strawberry Perl 5.8.8 Alpha 2. If you install the new Strawbery Perl 5.10.0, you can get weird situations where the SVK perl executable is run instead of the Strawberry Perl one. (DLL hell?) For me, the answer was renaming the perl.exe in C:\Program Files\SVK\bin to svkperl.exe and changing references to perl.exe in c:\Program Files\SVK\svk.bat to match. I also deleted the PATH manipulation in svk.bat.
  • svk-2.0.0 Built using Strawberry Perl against svn 1.4.2
  • svk-1.08 (1.07 and 1.06) built against svn 1.3.2 and 1.4.2
  • svk 1.0rc1 svk-0.993.exe SIZE: 5,320,746 | MD5: 5dcb84f234b866e370a2a77d0b2f52b5
    • Built with Perl 5.8.6.
    • Includes Subversion 1.1.4
    • Users can now run the test suite as win32\maketest.bat.
    • 100% tests pass.

Note: This is a Win32 GUI installation tool, but it installs a Win32 console version of SVK. It does not create a program group within the "Start" menu.

Note: You must have "." in your PATH in order for SVK to work properly.

Note: For those who want to use svn+ssh, you can download plink.exe and enter the following in the shell:

> set SVN_SSH="C:\whatever\plink.exe" -l username -pw password

To avoid having your password in the environment variable you can use pageant.exe, also belonging to the PuTTY suite. You enter your password only once at startup and pageant.exe stores it for you. All you need to specify is your private ssh-key-file:

> set SVN_SSH=C:\\Program\ Files\\PuTTY\\plink.exe -i private_key_file

together with the user name supplied when mirroring a repo like this

> svk mirror svn+ssh://username@server/path/to/repo //mirror-repo


Merge Tools

SVK-Win32 now automatically detects and supports the following Win32 merge tools:

XXX TODO: basic instructions on the proper method to set SVKMERGE for these 'supported' merge tools to fix 'Cannot launch external merge tool for __.' or explanation of 'now automatically detects and supports'.

Building from source

Slow Syncing

Syncing to SVK clients via HTTP on Win32 is very, very slow, because the "replay" feature of the API is broken due to an APR / Perl threading issue. This means that for every revision, the client has to do all the donkey (camel?) work of diffing every changed file again, eating lots of CPU and taking a long time.

Using with Powershell

If you install svk several times, it can make a mess of the PATH variables in Windows. A problem occurs when Powershell finds the perl file "svk" before it finds "svk.bat". If this happens, Powershell will choke on the perl. You need to sanitise your PATH variables so that the BAT file gets found first. Powershell knows enough to spawn CMD.EXE to run batch files.

The PSH equivalent of "which" on *nix is

($Env:Path).Split(";") | Get-ChildItem -filter $arg*  # where $arg is the file we are hunting

The alternative, [SVKPowerShell using a ps1 wrapper] currently doesn't work very well - the entire script has to return before it shows any output to the shell. Since fixing the paths makes the .bat file work, I've decided not to try too much harder.

An SVK snapin for Powershell would be great though - returning full automatable objects instead of a stream of text.

Call for help on VCP/SVK support

SVK mirror of CVS and Perforce has been tested and found broken on Win32.

The only showstopper for this highly desirable function is that

VCP::Desk::svk has two symlink()

calls and one link() call, which are unsupported on Win32.

09:30 < autrijus> clkao: can you refactor ::Dest::svk to not use symlinks?

09:31 < clkao> autrijus: not really in my todo.

09:31 < clkao> autrijus: just carefully substitute them with renames

09:32 < clkao> make that note on svkwin32 page bah



So, volunteers wanted for patching ::Dest::svk to turn symlink() and link()

into rename() and copy() calls, and/or bribe clkao to move it higher up on his todo list.

Update: AutrijusTang wrote the Win32::Hardlink and Win32::Symlink modules on CPAN

to do the same thing. But apparently link() fails for some reason, so volunteers

are still wanted to carry on the investigation. The patched VCP::Dest::svk is available

at http://wagner.elixus.org/~autrijus/svk.pm -- you need a native version of cvs.exe

to test it against SVN-Mirror's t/3vcp-cvs.t.

See you on irc.freenode.net #svk :-)

185921450457268944826752_test_num_

Problem when using -m '...' (single quotes for commit messages) on Windows XP

I am new to svk, but know svn pretty well and I am testing it mainly because of the branch merge features. I am using the binary Windows distribution, and when I tried to follow some of the examples in the SVKBook (copying within the depot), it didn't work with this error message:

D:\>svk copy -m 'create local branch of test repository' //myMirrors/test //local/test

path D:\local is not a checkout path.



When I do the same using the -m "..." (double quotes) syntax, it works:

D:\>svk copy -m "create local branch of test repository" //myMirrors/test //local/test

Committed revision 221.



Since all the examples I have found use single quotes, I guess it should be mentioned somewhere that under Windows, you have to use double quotes.

Palmin


(Removed question by John Nystrom) -- There is nothing special about svk compared to all other Windows applications. The path in question is the PATH. SET PATH=.;%PATH% -- Chaim Krause