Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

SVN plugin

<< < (3/19) > >>

mandrav:

--- Quote ---svn looks promising, no more broken repositories if they tell us the truth...
--- End quote ---

Oh, they are :D
I 've been using it for my personal projects for over a year now and it's much better than CVS.

Yiannis.

upCASE:
Hi!
Right, SVN really rocks. We're using it in the company I'm working for and skipped to it after using CVS. No problems yet (exept those we already had with CVS, like being to stupid to commit or failing to resolve conflicts :D)

thomas:
Just a little update in case you think I have unexpetedly died  :P
Due to a few pecularities, it takes longer than I had ever expected, but it seems like the end is getting a little closer.

So, here is a little status report to let you know what works (and what does not) so far:

checkout
- works, still needs to have a MRU added
- auto-open project not implemented yet

auto-discover svn and tortoise
- works fine on WIN32, should work on Linux too

import tortoise repo MRU
- I almost committed suicide on that... another time maybe

import
- not yet

update file / update project (from context menu)
- works fine including revisions, but does not handle conflicts yet

commit file / commit project (from context menu)
- works fine, but does not handle conflicts yet

branch
- works if Tortoise is installed
switch
- works if Tortoise is installed
merge
- works if Tortoise is installed
Tortoise support is still a bit awkward as it will currently only run with a nasty hack. I have not figured why, though.
The issue is that if I call it using wxExec, it is cold as a dead fish. This was quite surprising and cost me a lot of time.
The workaround is to start cmd /C to call tortoise, this works, but I have no idea why. Maybe a wxWindows issue?

auto-add nonversioned files (configurable)
- works

auto-add when adding to project (configurable)
- works

auto-delete when deleting from project
- had planned that, but not sure one would really want this

auto-handle missing files
- not yet

svn properties browseable in context menu
- Yes! Particularly proud of that, this is one thing I actually got better than Tortoise has it  :)

add new file properties / edit
- almost :)

svn delete from context menu
- works

svn move from context menu
- Uhhh... (yes... although it occasionally crashes the project manager...
have not figured how to remove a file and re-add it properly, multiple build targets don't really make it easier)

revert
- Uhhh... this *should* work, although it occasionally caused a "cannot create file" error, so I postponed it for now. Maybe the test repository is just screwed up...

log/history browser
- nothing yet

diff
- nothing yet

resolve
- nothing yet

lock
- locks? locks are evil.

cleanup
- not yet

rickg22:
Hmmm I wonder if having "the project" intermingled with cvs/svn is a good idea - i mean, shouldn't the versioning system take care of what files belong to a module?

Just a suggestion.

thomas:
You don't need to turn it on if you don't want it :)
Personally I am a lazy bastard, and I expect files added to revision control even when I copy them into the folder (why should I bother if the computer can do the work). This is arguably wrong, but in my opinion, if something is not explicitely caught by an ignore pattern, then it either should be controlled or it should not be in the project directory.
Other people feel different of course, and many have a problem with the computer doing things behind their back. Certainly understandable. You're free to choose, however.

The plugin runs 'svn status' when opening the project and before committing just like tortoise does, too (*). While tortoise will ask you "add these?" every time, you can tell the plugin to just do so silently.
The "add when added" function is much like tortoise's "svn copy here" command.

Another thing: I have not found anything like ProjectIsClean() in c::b. Is there anything like this except walking through all buildtargets? There is cbProject::GetModified(), but that only barks when files have been added or deleted, not when they're modified and saved.
The thing I have in mind is some sites have a policy like "only commit a revision that builds without errors, or you are publicly humiliated and ostracised for seven generations".  
For these, and to save on aspirin, an option "require clean build before commit" might be worth consideration.


(*) this is an understatement. Actually  'svn status' is called an awful lot of times. This sounds like mega-overhead, but it is actually quite fast and it does not need network (on my machine 20-100 ms). The gains are huge: BuildModuleMenu, for example, builds a custom menu for every file, only showing 'commit' if the file is actually modified, and listing file properties ('svn pl') in a submenu.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version