Author Topic: Win32 CBTortoiseSVN plugin under subversion control  (Read 39003 times)

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Win32 CBTortoiseSVN plugin under subversion control
« on: September 14, 2007, 12:22:26 pm »
Some time ago I wrote a codeblocks plugin for using subversion under codeblocks (win32). It is called CBTortoiseSVN and uses TortoiseSVN(*) as its engine.

It can be found at:

http://tools.assembla.com/svn/CBTortoiseSVN/CBTortoiseSVN/trunk


(*) TortoiseSVN and subversion must be installed

jan

Offline Keyla

  • Multiple posting newcomer
  • *
  • Posts: 48
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #1 on: September 14, 2007, 05:11:39 pm »
IMHO Version control is a very important task for a IDE. But I don't understand why the plugin doesn't make direct calls of the SVN tools. IMHO this would make it able to build it crossplatform?

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #2 on: September 14, 2007, 09:39:56 pm »
I agree in general, but making a plugin that equals tortoisesvn is not a trivial thing I'm afraid.
Jan

Offline Keyla

  • Multiple posting newcomer
  • *
  • Posts: 48
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #3 on: September 15, 2007, 09:13:55 pm »
Of course this won't be an easy job. But it might be a very clear solution :). I think there are a lot of ready to use snipplets for this task out in the web.
The question is what features a normal user uses and if that were implemented for use under every OS it would be quite nice  :P

Alca Isilon

  • Guest
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #4 on: September 15, 2007, 11:32:26 pm »
How about using parts of TortoiseSVN's code to start with ? It is licensed GPL AFAIK, so that shouldn't cause any problems.

When looking at parts of Tortoise's code I notice that it's build directly on top of libsvn (apart from the GUI that is).
« Last Edit: September 15, 2007, 11:34:56 pm by Alca Isilon »

Offline Keyla

  • Multiple posting newcomer
  • *
  • Posts: 48
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #5 on: September 16, 2007, 08:05:11 pm »
Nevertheless I agree completely with Jan, it's a lot of work.
If you are realy interested in a complete rewrite I would recommend a poll of how the users would like to have the workflow  :)

Offline darthdespotism

  • Almost regular
  • **
  • Posts: 163
    • Coder's Nemesis
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #6 on: September 16, 2007, 08:33:03 pm »
If you are really about to start this I'll help ;)

For what it should be like: I _really_ liked subclipse back when I used Eclipse/CDT (It's the only thing I miss on C::B) something like this would be great!

Offline fiammy

  • Multiple posting newcomer
  • *
  • Posts: 46
    • Nebulagame
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #7 on: September 16, 2007, 09:59:52 pm »
Nice.
I tried a download of this plugin somewhere ont he forums, but I couldn't get it to work. Is there anything I should be doing to get it in a working state with a current C::B version?

Nice work btw, this is a part that is generally the stumbling block for most semi- to professional work with Non-VC IDEs.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7591
    • My Best Post
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #8 on: September 17, 2007, 02:47:48 am »
Nice.
I tried a download of this plugin somewhere ont he forums, but I couldn't get it to work. Is there anything I should be doing to get it in a working state with a current C::B version?

Nice work btw, this is a part that is generally the stumbling block for most semi- to professional work with Non-VC IDEs.

Compiling Code::Blocks and the Plugin from SVN seems to work for me.

Under TortiseSVN "Plugin Settings" "path"
Note: I had to set the path for svn.exe and TortoiseProc.exe

Also, I had to change to "project based commands" under Under TortiseSVN "Plugin Settings". I think this might be a bug in the plugin using SVN 26; going to revert my changes and try it unmodified. Reverted my changes and still only worked in "project based commands"; note I did not try it in "workspace based commands". False problem, the file based commands works on active file in editor, I did not have file open in editor.

Note, I had to add "C:\Program Files\TortoiseSVN\bin" to my path or to Compiler "Additional Paths" to get "Tortise SVN settings" to work.

Tim S
« Last Edit: September 17, 2007, 08:25:19 pm by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #9 on: September 17, 2007, 09:35:26 pm »
Note, I had to add "C:\Program Files\TortoiseSVN\bin" to my path or to Compiler "Additional Paths" to get "Tortise SVN settings" to work.

fixed in rev.28

Jan

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7591
    • My Best Post
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #10 on: September 17, 2007, 10:40:57 pm »
Thanks for the fix, I had an error trying "Check for Modifacations" with the normal svn-win32-1.4.5 svn.exe so I am using CollabNet Subversion; CollabNet Subversion worked without a problem. The problem was inside svn.exe, not your code.

Tim S
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Keyla

  • Multiple posting newcomer
  • *
  • Posts: 48
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #11 on: September 20, 2007, 05:46:02 pm »
IMHO the usage of the rootfolder for SVN/CVS is quite different.
On the one hand a lot of people check in only the sourcecode, others (including myself) like it to check everything in. This includes documentations, resources ... but not the final binary. Therefor a 'clean all' and a wizzard for choosing an upper rootfolder / creating directorytrees like
Code
project
-bin
-doc
-res
-src
-test
would be realy nice :-)

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #12 on: September 20, 2007, 11:10:40 pm »
IMHO the usage of the rootfolder for SVN/CVS is quite different.
On the one hand a lot of people check in only the sourcecode, others (including myself) like it to check everything in. This includes documentations, resources ... but not the final binary. Therefor a 'clean all' and a wizzard for choosing an upper rootfolder / creating directorytrees like
Code
project
-bin
-doc
-res
-src
-test
would be realy nice :-)

Could you perhaps explain some more?
Jan

Offline Keyla

  • Multiple posting newcomer
  • *
  • Posts: 48
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #13 on: September 21, 2007, 10:31:30 am »
Of course. The most 'old school' coder use this directory tree because this makes it easy to collect all files for a release, teamworking,... . But the problem is that it is sometimes not nescessary to check in SVN executables, generated docs,... so everything that could be generated by the user after unchecking from the reposity. It would be cool if this files could be deleted before check in to save resources.

On the other side a lot of developers like it to put everything just in one folder and submit it to the reposity.

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #14 on: September 21, 2007, 12:18:01 pm »
Couldn't you use the svn:ignore property to exclude unwanted files and intermediates?

Jan

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #15 on: September 21, 2007, 01:27:11 pm »
It would be cool if this files could be deleted before check in to save resources.

files are only committed if you "svn add" them, so there is no need to delete anything. it is dangerous for the IDE to delete files in the user space. just because they aren't part of a project doesn't mean they aren't valuable.

Offline Keyla

  • Multiple posting newcomer
  • *
  • Posts: 48
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #16 on: September 21, 2007, 08:18:40 pm »
Of course you can. But this was just a hint that this should be considered for the plugin :)

Offline mattn2

  • Multiple posting newcomer
  • *
  • Posts: 18
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #17 on: September 28, 2007, 10:31:42 am »
can someone please share a binary version for windows, i didn't manage to compile the plugin myself

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #18 on: September 28, 2007, 11:15:40 am »
can someone please share a binary version for windows, i didn't manage to compile the plugin myself
Try this
http://www.4shared.com/file/25233258/29127683/CBTortoiseSVN.html
jan

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #19 on: October 06, 2007, 06:48:02 pm »
CBTortoiseSVN updated
- Added customizable main-menu and popup menu

Jan

svn:  http://tools.assembla.com/svn/CBTortoiseSVN/CBTortoiseSVN/trunk
bin:   http://www.4shared.com/file/25233258/29127683/CBTortoiseSVN.html

Offline kisoft

  • Almost regular
  • **
  • Posts: 194
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #20 on: October 08, 2007, 11:30:25 am »
Thank you!
More usable now! I can check entire project now!
OS: WinXPSP3
wxWidgets: 2.8.12
CodeBlocks: Master github cbMakefileGen plugin:
https://github.com/kisoft/cbmakefilegen

Offline mattn2

  • Multiple posting newcomer
  • *
  • Posts: 18
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #21 on: March 30, 2008, 06:47:22 pm »
the link is no longer valid - can you please reupload it somewhere?

Offline Gagh

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #22 on: April 09, 2008, 01:44:16 am »
the link is no longer valid - can you please reupload it somewhere?

Check here:
http://tools.assembla.com/svn/CBTortoiseSVN/

Not sure what the last update has been, but it'll give you a start.

Before you build it, just update the post-build step to:
zip -j9 bin\CBTortoiseSVN.zip manifest.xml
zip -j9 CBTortoiseSVN.plugin bin\CBTortoiseSVN.zip bin\CBTortoiseSVN.dll

PS:
Simple search with search engine gave the link, so....  :shock:
« Last Edit: April 09, 2008, 01:53:44 am by Gagh »
OS: winXP sp3 | FreeBSD 7.0-stable | Ubuntu
Compiler: mingw 5.1.3 | gcc 4.2.1 | gcc 4.2.1
IDE: Code::Blocks SVN (on all) WX: 2.8.7 | 2.8.0 | 2.8.8

EViruS

  • Guest
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #23 on: August 11, 2008, 09:54:37 pm »
Can anybody public binary version of plugin?

Offline Gagh

  • Multiple posting newcomer
  • *
  • Posts: 12
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #24 on: August 11, 2008, 10:38:23 pm »
Can anybody public binary version of plugin?

It's not to hard to build, just had to remove -Wno-attributes from the project compiler flags and it builds. Haven't fully tested it, as I'm test-driving my own SCM plugin, but it installs, gives the menu's and at least does Log...

I'll send it through mail, as it's a bit to big to attach.

Don't know if Jan is still working on it...
OS: winXP sp3 | FreeBSD 7.0-stable | Ubuntu
Compiler: mingw 5.1.3 | gcc 4.2.1 | gcc 4.2.1
IDE: Code::Blocks SVN (on all) WX: 2.8.7 | 2.8.0 | 2.8.8

Offline Fizick

  • Multiple posting newcomer
  • *
  • Posts: 13
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #25 on: October 22, 2008, 02:42:55 pm »
Ii is not compilerd for we with gcc 4.3.2, latest codeblocks SVN

Code
utils.cpp|40|error: no matching function for call to 'find(__gnu_cxx::__normal_iterator<CBTSVN::ILogSink**, std::vector<CBTSVN::ILogSink*, std::allocator<CBTSVN::ILogSink*> > >, __gnu_cxx::__normal_iterator<CBTSVN::ILogSink**, std::vector<CBTSVN::ILogSink*, std::allocator<CBTSVN::ILogSink*> > >, CBTSVN::ILogSink*)'|

Code
void CBTSVN::Logger::Subscribe(ILogSink& client)
{
    if (std::find(m_subscribers.begin(),
                  m_subscribers.end(), &client) == m_subscribers.end())
        m_subscribers.push_back(&client);
}





UPDATE:
I found, that plugin is compiled fine, if we add one line to utils.cpp (or utils.h):

#include <algorithm>

:)
« Last Edit: October 22, 2008, 07:06:32 pm by Fizick »

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #26 on: October 26, 2008, 11:47:28 pm »
Just checked this in (I put #include <algorithm> in precompiled header file)

Jan


Ii is not compilerd for we with gcc 4.3.2, latest codeblocks SVN

Code
utils.cpp|40|error: no matching function for call to 'find(__gnu_cxx::__normal_iterator<CBTSVN::ILogSink**, std::vector<CBTSVN::ILogSink*, std::allocator<CBTSVN::ILogSink*> > >, __gnu_cxx::__normal_iterator<CBTSVN::ILogSink**, std::vector<CBTSVN::ILogSink*, std::allocator<CBTSVN::ILogSink*> > >, CBTSVN::ILogSink*)'|

Code
void CBTSVN::Logger::Subscribe(ILogSink& client)
{
    if (std::find(m_subscribers.begin(),
                  m_subscribers.end(), &client) == m_subscribers.end())
        m_subscribers.push_back(&client);
}





UPDATE:
I found, that plugin is compiled fine, if we add one line to utils.cpp (or utils.h):

#include <algorithm>

:)

Offline Fizick

  • Multiple posting newcomer
  • *
  • Posts: 13
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #27 on: October 27, 2008, 05:07:24 pm »
Hm, I do not see it at svn trunk.

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99

mariocup

  • Guest
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #30 on: October 28, 2008, 03:05:41 pm »
Hi Jan,

I just created a patch to read the tortoiseproc and svn path from the windows registry. I tested it under windows vista and xp and seems to work.

Bye,

Mario

[attachment deleted by admin]

Offline Fizick

  • Multiple posting newcomer
  • *
  • Posts: 13
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #31 on: October 28, 2008, 07:36:49 pm »
Thanks Jan,
may I ask, why both snv.exe and TortoiseSVN are used?
Every may be used alone and have all fuctionality.

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7591
    • My Best Post
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #32 on: October 29, 2008, 06:40:35 am »
Thanks Jan,
may I ask, why both snv.exe and TortoiseSVN are used?
Every may be used alone and have all fuctionality.


IIRC, It was an early design decision that he made.

Here's one that uses svn.exe and wxPropertyGrid written by orel
http://forums.codeblocks.org/index.php/topic,7063.0.html
The code has not been updated since about the time CB 8.02 was released.
Have not checked this week.

Tim S

PS: I discussed doing my own plugin based on RapidSVN code/design, but never wrote any code.
So my hat is off to these two developers who developed an working project.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Fizick

  • Multiple posting newcomer
  • *
  • Posts: 13
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #33 on: November 23, 2008, 12:36:20 pm »
assembla server is now protecter?

Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #34 on: November 23, 2008, 02:32:18 pm »
Assembla stopped its free subversion support. I will need to get it hosted somewhere else.

Jan

Offline Jan van den Borst

  • Multiple posting newcomer
  • *
  • Posts: 99
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #35 on: November 23, 2008, 03:20:59 pm »
I just put the sources on google. The subversion url is:

http://cbtortoisesvn.googlecode.com/svn/

Eventually this plugin ends up in the contrib plugin section of CB.

This thanks to MortenMacFly :

Dear Jan,
I haven't forgotten you. We are discussing internally how we should support plugins that are only for a specific platform. You can count on us that we are willing to host the plugin at our server if you like... we just need to fiddle with the folder structure...


Until that time CBTortoiseSVN is at google code.


Thanks to all of my hardworking CB friends
Jan

Offline dmoore

  • Developer
  • Lives here!
  • *****
  • Posts: 1576
Re: Win32 CBTortoiseSVN plugin under subversion control
« Reply #36 on: November 23, 2008, 03:59:25 pm »
nice work Jan. I've created a small patch that will allow your plugin's popup menu to also work with the File Manager in my ShellExtensions plugin (with a TODO comment to support directories and multiple selections in the future). I haven't been able to test yet as I'm currently on a linux box (the patch presumably also has linux endlines)

[attachment deleted by admin]