Author Topic: Bounty: CVS plugin  (Read 16842 times)

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Bounty: CVS plugin
« on: March 22, 2005, 07:07:25 pm »
OK unfortunately we don't have a donation system (yet), so there's no way to pay. So consider the bounty "symbolic". :oops:

Anyway, the bounty is to make a CVS plugin so we can update from and commit to a CVS repository using code::blocks.

(I grabbed the idea from dev-cpp, which already has a CVS menu. The plugin DOESN'T need to be exactly the same as dev's, altho it would be preferred for compatibility reasons).

I'd really appreciate if the plugin used the TortoiseCVS modules, in case they were installed on the user's machine (applies to windows only).

Now, it doesn't matter if the plugin's non-functional (yet). The thing is to have a plugin that we can test and work on. All questions and comments regarding this plugin should be done in this forum.

Who said yo? :D

Offline rz950

  • Multiple posting newcomer
  • *
  • Posts: 13
Bounty: CVS plugin
« Reply #1 on: March 26, 2005, 01:52:14 am »
A cvs plugin for C::B would be very easy to do but I'm trying to compile wxwindows at the moment...
If I get it compile, I'll try to see what I can do

Offline mike

  • Multiple posting newcomer
  • *
  • Posts: 53
Bounty: CVS plugin
« Reply #2 on: March 30, 2005, 10:04:31 am »
I'd rather prefer Subversion :-)
But it probably does not really require a plugin...

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Bounty: CVS plugin
« Reply #3 on: April 02, 2005, 02:46:16 am »
rz950: Please read the instructions elsewhere in the forum regarding compilation of wxWidgets. It's a bit tricky, but it can be done. Let us know when you manage to compile.

If you're successful in creating a plugin for this, let us know! :)

Offline DJMaze

  • Multiple posting newcomer
  • *
  • Posts: 32
Re: Bounty: CVS plugin
« Reply #4 on: March 08, 2006, 04:09:52 am »
Anyway, the bounty is to make a CVS plugin so we can update from and commit to a CVS repository using code::blocks.

(I grabbed the idea from dev-cpp, which already has a CVS menu. The plugin DOESN'T need to be exactly the same as dev's, altho it would be preferred for compatibility reasons).

I'd really appreciate if the plugin used the TortoiseCVS modules, in case they were installed on the user's machine (applies to windows only).

To use Tortoise it's not C::B to modify but wxWidgets. The issue here is that you need access to "hidden" windows shell functions like ILFree(), ILCombine(), SHChangeNotifyRegister(), SHGetFileInfo(), etc. to use PIDLs (LPCITEMIDLIST) and actualy "hook" the windows directory tree inside a widget and react on the right-click just like explorer does.

This all sucks and you just should write a simple plugin that allows to set the cmd path and a SSH protocol.
Code: [Select]
set CVS_RSH=c:\Progra~1\TortoiseCVS\tortoiseplink.exe
path=C:\Progra~1\TortoiseCVS

cvs -d:pserver:anonymous@codeblocks.org:/cvs -q checkout -P html
or
cvs -d:ext:rickg22@codeblocks.org:/cvs -q checkout -P html

cvs.exe commit -r 9.0
Then the plugin has a popup menu that reacts on a filelist/directorytree

update() { shellexec("cvs -q update -dP"); }
updatelocal() { shellexec("cvs -q update -dPl"); } // non-recursive
updatereset() { shellexec("cvs -q upd -dPA"); } // Reset any sticky tags/date/kopts.

Or based on the action (add, update, commit, remove, (r)tag, (un)edit, diff, etc.) show the available options and allow the C::B user to configure "default" menu options himself to easy up his common used actions.