Though I hate publishing badly unfinished stuff, there was no more way around version control (broke it beyond repair once, that's enough). So well, there it is hosted at BerliOS now.
There is a "no-release" binary at the project's page:
http://developer.berlios.de/projects/cb-svn/
Common things like import, checkout, commit, update, add, and delete do work, though, so I thought maybe someone is brave enough to use it already. For those common things, it should work ok.
The binary is a verbatim copy of the one that I used to import the project to BerliOS and to check out my working copy, so I guess at least that functionality can be taken for granted.
Installation should be obvious, but there is some documentation on the site as well, including svn+ssh:// setup.
The souce code should be available via
svn checkout svn://svn.berlios.de/cb-svn/trunk
However, I currently still get the message "svn: Can't open file '/svnroot/repos/cb-svn/format': Permission denied" when trying to check out anonymously (svn+ssh:// does work fine). Probably file permissions must be updated with the next cron job first? I'll look after it again tomorrow.
So long, have fun with it, more to come soon :)
I downloaded the sources and noticed a few things.
First, you 're using the VERSION_1_0 branch of C::B. It's not bad, just something that should be mentioned.
I compiled it using wx2.6.1 and many things (mainly event handlers) were wrong.
I 've corrected all the errors and will upload a patch for you at berlios.
Thank you :)
Now lets see if I get through the wxCompile hell alive :)
Tough luck. Either berlios doesn't have a patch tracker or you haven't enabled it...
The latter. My bad, sorry. Did enable now and uploaded your patch.
svn: Commit failed (details follow):
svn: Can't create tunnel: The system cannot find the file specified.
Ah, tunnelling is about the only thing that can make you really hate svn. Took me hours to get it running the first time, and the amount of helpful documentation on the internet is near zero.
I do assume that you have a tunnel running to start with, i.e. you can open a functional ssh window to the server (for example using pageant/putty).
The likely reason for this error message is that you used a native file path to your plink executable inside {CommonFiles}\subversion\config, like it is the obvious way to do. Unluckily, the obvious way does not work. You must use all forward slashes like this:
[tunnels]
ssh = $SVN_SSH C:/tools/plink.exe
Rick:
No problems with Sourceforge :)
Just CVS is giving me the creeps every time I use it. Using SVN proved straighforward from the first minute, and CVS still makes me think "Darn, where is the manual, this is confusing" quite often.
It is also things like this that drive me crazy:
cvs -d :pserver:someone@the.server:/cvsroot/something checkout module -d somedir
There are two "-d" switches in the same command line, they mean entirely different things. And worse, the order of parameters can matter, too. I don't recall an example for that now, but I had a case. Those are things that turn me off. No offense taken if someone uses CVS, but it is just not a thing for everyone.
Another thing that gets me each time is the naming scheme for repositories (I forget to type one of the many colons, mostly the third one, about 50% of the time). Sure enough, CVS existed long before most everybody had heard the word 'URL', so that somehow excuses. But then what is the deal, after one decade, in letting people write "cvs checkout pserver://someone@the.server/cvsroot/something/module -d somedir" instead.
Certainly, TortoiseCVS makes it somewhat less painful, but I still feel uncomfortable with it.
Do not grieve, Sourceforge will soon offer SVN, they announced months ago :)
svn: Commit failed (details follow):
svn: Can't create tunnel: The system cannot find the file specified.
Ah, tunnelling is about the only thing that can make you really hate svn. Took me hours to get it running the first time, and the amount of helpful documentation on the internet is near zero.
I do assume that you have a tunnel running to start with, i.e. you can open a functional ssh window to the server (for example using pageant/putty).
The likely reason for this error message is that you used a native file path to your plink executable inside {CommonFiles}\subversion\config, like it is the obvious way to do. Unluckily, the obvious way does not work. You must use all forward slashes like this:
[tunnels]
ssh = $SVN_SSH C:/tools/plink.exe
Here's my setup (quite common, I think):
My repositories are on a separate linux server, already setup and working.
In my windows machine, I 've installed TortoiseSVN and that's it. Everything Just Works(tm).
I downloaded and built your plugin. Upon first C::B launch with your plugin, I went to "Settings->Configure plugins->Subversion".
This dialog has two text boxes. The first one was empty (the subversion path). The second contained the path to tortoise's plink.
I looked around a bit and dismissed the dialog (I didn't edit anything). Btw, nice options you got there ;)
Opened a project (under svn control) and right-clicked on the project root. I clicked on "Subversion->Commit (14 files changed)" and I got some assertions.
Note: It would be better to display a friendly error dialog, explaining what to do :)
Anyway, I realized that I had to install subversion for this to work.
Downloaded subversion, installed it and set the path to svn.exe in your plugin's configuration.
I then retried the same procedure as above, to commit the changes of my project.
That's when this error came up:
svn: Commit failed (details follow):
svn: Can't create tunnel: The system cannot find the file specified.
[EDIT]I can't find {CommonFiles}\subversion\config. Where is it hidden? [/EDIT]
[EDIT 2]Found it: It's in %USERPROFILE%/Application Data/Subversion/config[/EDIT 2]
As you can see I haven't touched {CommonFiles}\subversion\config. Should I?
How should I know?
I mean, I use TortoiseSVN and never had to tamper with anything of this sort.
Don't get me wrong. I appreciate all the hard work you 're doing. I just put myself in the average joe's shoes and see if she could make anything out of it.
Conclusion: a little bit more polish and a helpful README with the common pitfalls and you 're set :)
Yiannis.
Uhhhhh...... I am stupid. Cannot believe I did not try that before...
I kept wondering how TortoisePlink differs from plink. Well, I found out.
Try this inside the svn config file (with your local file paths, of course):
[tunnels]
### Configure svn protocol tunnel schemes here. By default, only
### ...
#ssh = C:/tools/plink.exe
ssh = C:/Programme/TortoiseSVN/bin/TortoisePlink.exe
Now if you run "svn svn+ssh://username@somewhere", then it will use TortoisePlink. And now it is clear what the "modifications" in TortoisePlink are, too - it has a friggin GUI with a password prompt :)
So... no tunnels needed, only need to change one line in svn config, and you get prompted once per commit (or once per session if pageant is running). You can give it a custom name, too, like svn+tortoise:// or whatever you like.
Released 0.4.1 (both source and binary) today:
http://developer.berlios.de/projects/cb-svn
...
Great work!
This version have some troubles with C::B plugin manager.
I patch 2 files:
File: svn.h
#ifdef __cplusplus
extern "C"
{
#endif
PLUGIN_EXPORT cbPlugin* GetPlugin();
#ifdef __cplusplus
};
#endif
was changed on:
File: svn.cpp
cbPlugin* GetPlugin()
{
return new SubversionPlugin;
}
was changed on:
CB_IMPLEMENT_PLUGIN(SubversionPlugin);
Cool, it's work! :D
C::B: CVS [20.10.2005], wx2.6.2, Win2000, TortoiseCVN
PS Testing to be continued..