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

Git Plugin

(1/2) > >>

polymath:
I was thinking about making a Git plugin for C::B, but i have a few questions first:

1.  Is there another plugin that already serves this purpose?  I searched the wiki but couldn't find any.
2.  In what way should I interact with git.  I see a two options: a) through the command line with wxProces- advantage is that i could check at runtime if git is installed (git --version), but it would be less efficient; b) through the Git API, which would be faster, but would crash if the library wasn't present on the system.  I *could* distribute the plugin with the library, or statically link if necessary, but this doesn't seem like a great solution.
3.  Should the plugin require the user to add files to the vcs manually or should it automatically add/remove files as they are added to/removed from the project?

If someone could answer these questions, i could get to work.  Just want to know if there is an established policy or something for these questions.

Cryogen:

 Hi,

I have only briefly used Git so can't speak about items 1 or 3 but re: 2 it should be easy enough to do a check for the existence of the library at start and advise the user if it's missing, I would have thought.

Ciao.

billyonthemountain:
1) haven't heard about such a plug-in before... but would be a nice idea.   :D
2) I'm no expert but I'd say b), as cryogen mentioned you should be able to check for the dll's presence somehow.
3) This is probably something that could be an option, enabled by default.
You could have the plug-in either automatically add the files based on file extensions and leave the user the possibility to add/delete some specific files, or keep it completely manual.

On a side note, it could be a good idea to think about a general framework for integration of various VCS, very much like the compiler framework; the user could then choose to associate a project with a VCS of his choice...

MortenMacFly:

--- Quote from: polymath on August 24, 2010, 07:43:32 pm ---1.  Is there another plugin that already serves this purpose?  I searched the wiki but couldn't find any.

--- End quote ---
Not to my knowledge.


--- Quote from: polymath on August 24, 2010, 07:43:32 pm ---2.  In what way should I interact with git.

--- End quote ---
Use the command line tools I'd say. In fact, try to be as generic as possible. e.g. make the application and it's parameters you use an option. I could think of a version control plugin using command line tools that allows by loading a pre-set to handle not just GIT, but also SVN for example. This would be a great milestone.


--- Quote from: polymath on August 24, 2010, 07:43:32 pm ---3.  Should the plugin require the user to add files to the vcs manually

--- End quote ---
Manually, please. Always this should be under the user's control. Everything done "automagically" will surely be annoying in 90% of the cases... ;-)

seb_seb0:

--- Quote from: polymath on August 24, 2010, 07:43:32 pm ---I was thinking about making a Git plugin for C::B, but i have a few questions first:

1.  Is there another plugin that already serves this purpose?  I searched the wiki but couldn't find any.
2.  In what way should I interact with git.  I see a two options: a) through the command line with wxProces- advantage is that i could check at runtime if git is installed (git --version), but it would be less efficient; b) through the Git API, which would be faster, but would crash if the library wasn't present on the system.  I *could* distribute the plugin with the library, or statically link if necessary, but this doesn't seem like a great solution.
3.  Should the plugin require the user to add files to the vcs manually or should it automatically add/remove files as they are added to/removed from the project?

If someone could answer these questions, i could get to work.  Just want to know if there is an established policy or something for these questions.

--- End quote ---

Hi,

I do not know if you are aware, but someone has already done a SVN plugin in the past (SVNInside).
It is still possible to compile it against the latest nightly. I have uploaded the project here:
http://www.MegaShare.com/2499155

It can be a good starting point.

Sebastien

PS: I would like to give due credit to the author of this plugin. However I do not know who made it. If you search the forum with "SVNInside", you will surely find it.

Navigation

[0] Message Index

[#] Next page

Go to full version