Author Topic: C::B RC2 SVN.exe error...  (Read 6918 times)

Offline .angelo

  • Multiple posting newcomer
  • *
  • Posts: 71
  • I'm just a newbie here.
    • .angelo home-page
C::B RC2 SVN.exe error...
« on: October 25, 2005, 03:54:34 pm »
Look at the picture:
http://img440.imageshack.us/img440/8172/err6qd.jpg

(error 2 : can't find specific file)

C::B RC2 (with MinGW included), WinXP SP2 and patches...
I'm not my father son.
http://angelo.h-q.pl (English available!)

Offline David Perfors

  • Developer
  • Lives here!
  • *****
  • Posts: 560
Re: C::B RC2 SVN.exe error...
« Reply #1 on: October 25, 2005, 04:10:13 pm »
This is a known problem, do you have TortoiseSVN installed? (hmm, I have, but I don't have svn.exe in my bin directory)
OS: winXP
Compiler: mingw
IDE: Code::Blocks SVN WX: 2.8.4 Wish list: faster code completion, easier debugging, refactoring

Offline wvdakker

  • Multiple posting newcomer
  • *
  • Posts: 15
Re: C::B RC2 SVN.exe error...
« Reply #2 on: October 25, 2005, 04:33:47 pm »
Look at the picture:
http://img440.imageshack.us/img440/8172/err6qd.jpg

(error 2 : can't find specific file)

C::B RC2 (with MinGW included), WinXP SP2 and patches...

You also have to install de subversion package. SVN.EXE is included in that package.
Alternative, extract SVN.EXE and copy it into the TortoiseSVN directory.

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: C::B RC2 SVN.exe error...
« Reply #3 on: October 25, 2005, 06:35:42 pm »
The svn plugin uses the svn commandline tool (or cvs, for that matter) to provide the actual version control functionality. It also needs other commandline tools (tar, gzip, bzip2, zip) if you intend to use it to build releases. The plugin will look up installations in the registry to detect the tools it needs, and will search in probable locations. If your tools are in your PATH, you need not worry anyway.

The version included in RC2 still has a few known issues, an updated version will soon be released. Nevertheless, it is mostly usable.

The basic stuff that you need every day (import, checkout, update, commit, revert, add, delete, properties) works rather well with svn (and should, within limits, work with cvs - this part has not been tested as extensively). Repository access via SSH (or http / https) as well as anonymous access via svn:// is well tested, I have been working with svn+ssh:// for 8 hours per day over months.
CVS should work anonymously via :pserver: and should work with :ext:, although cvs support is generally not widely tested yet, also a few functions may not be implemented.

The plugin supports svn's locking mechanism. Note that locking is a new svn 1.2 feature which also requires server-side support. Most public servers (including BerliOS) still run version 1.1 (or older), so they do not support locking. The plugin allows you to set needs-lock even though you may not be able to actually acquire a lock (the client has no knowledge of the server's version).

Alternative, extract SVN.EXE and copy it into the TortoiseSVN directory.
Don't do such things. Seriously, do yourself a favour and never do such things. These are a source of endless grief.

While svn is still relatively benign, cvs is not. I am testing with 5 versions of svn and cvs, and while svn is ~90% compatible between all versions from 1.0 to 1.2.3, almost all versions of cvs are somehow flawed, and even versions that only differ on the patch level have shown significantly different behaviour. The only half-way usable and reliable version of cvs that I found on Windows is the one coming with TortoiseCVS (in fact, this version is really cvsnt). As a result, I have come to the decision that as far as cvs is concerned, the version coming with TortoiseCVS will be the only one that is officially supported (I've been told WinCVS uses the same).

If you copy some commandline tool from somewhere, you may end up with a crap program which asks for a password on a pipe although you already supplied one on the commandline and explicitely told it to stay quiet. Or you may get a tool which works fine with sourceforge, but gives random errors when checking out a FreeBSD anon server (yes, cvs does things like this!).
The same is true with other commandline tools. The svn plugin will for example allow you to export releases automatically (you give it a filename, and it will build a source .tar.gz or a source .zip). Obviously, for this to work, it needs the respective tools. Now if you think you can just copy around zip.exe from MSYS and tar.exe from cygwin, then you will have a very unhappy life. Trust me, I tried it. The mentioned tar version will for example fail if your filename is longer than 16 characters (including extension), and the mentioned zip version does not process the -j commandline option correctly. Neither of these errors is immediately obvious, you will just spend hours sitting there, wondering why it does not work.

The recommended way to use svn (or cvs) is to get TortoiseSVN and/or TortoiseCVS. There are several reasons for this:

1. These tools offer great functionality inside Windows Explorer.
2. The plugin makes uses of some of their functionality if they're present
3. They install cleanly and reliably. The plugin detects their presence from the registry (well, usually)
4. They come with commandline clients that really work
5. The come with an enhanced version of plink which saves you a lot of headaches


If you want to use svn over SSH (or cvs, for that matter) then you need configure a SSH tunnel. If you have Tortoise installed, the plugin will use tortoiseplink, and you do not have to do much except give your username@ and enter your password. This is another good reason why you want Tortoise.
If you do not have Tortoise, then you will need the "normal" plink program (comes with putty) or another SSH client capable of tunnelling. Since plink as such offers no interface whatsoever which would allow the plugin to provide authentication tokens, setup with plink is a lot more complicated. You will have to generate a private/public key pair and upload the public key to the server. There is a how-to to this on the cb-svn page on the BerliOS site.
The part with configuring svn's config file is obsolete if you have "set SVN_SSH" enabled. However, if you ever plan to use the commandline client from a shell too, then you should do it anyway.

If you do not have Tortoise, the plugin will work with Kdiff3 or with tkdiff to display differences (if it can find them). If you have Tortoise installed, it will call Tortoise regardless of any other tools, because you can always configure Tortoise to use these, anyway.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline .angelo

  • Multiple posting newcomer
  • *
  • Posts: 71
  • I'm just a newbie here.
    • .angelo home-page
Re: C::B RC2 SVN.exe error...
« Reply #4 on: October 26, 2005, 01:36:19 pm »
TortoiseSVN is'nt installed on my pc...
I'm not my father son.
http://angelo.h-q.pl (English available!)

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: C::B RC2 SVN.exe error...
« Reply #5 on: October 26, 2005, 03:31:18 pm »
You need either an installation of Subversion or TortoiseSVN to be able to use this plugin (Tortoise is highly recommended for its added functionality, but not strictly necessary). You can have both at the same time, too. In that case, the plugin will give preference to Tortoise unless you explicitely configure it differently.

The release of the plugin included in RC2 unluckily has a bug (release 53 does not) which can cause a crash if no svn is available at all.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."