3

I'm new to this forum and using VC in emacs so if this question has been answered or is just very basic, I apologize. At my employer we use a Version Control system that is not one of the systems supported by emacs. I was hoping there was a way to add a new mode. Presently I have all the commands as aliases in my .cshrc but would like to know if there is a way to integrate the system with emacs.

Dan
  • 32,980
  • 7
  • 102
  • 169
MBW
  • 33
  • 4
  • 1
    Your question is very vague to give an answer. What's the name of your version control system? – theldoria Dec 04 '16 at 00:51
  • Yes, you can. Read the commentary in vc.el. There are, of course, many supported backend libraries which you can read to learn implementation details. – phils Dec 04 '16 at 03:25
  • Hi theldoria, thanks for the response. I didn't mention the VC system but I guess I should have. It is called DesignSync(forgot the manufacture name) and commonly used with Cadence design tools for semiconductor design. We have started using it with our code as well. – MBW Dec 04 '16 at 22:11
  • Thanks phils! I didn't know which file to look at. I was original looking at something called version.el and that wasn't helping. :-) Off to read the correct file. – MBW Dec 04 '16 at 22:17

1 Answers1

5

Yes, VC is structured so as to be easy to add new backends. The main code is in vc.el, and then each backend has a vc-<backend>.el file. Check all the vc-<backend>.el provided with Emacs to see what is needed. Basically, you'll want to start by defining a vc-<backend>-registered function which returns non-nil if the file is under control of <backend>. And you'll want to add your <backend> to vc-handled-backends. Then errors will popup whenever a vc-<backend>-<operation> function is needed. And that <operation> is described at the beginning of vc.el.

Stefan
  • 26,404
  • 3
  • 48
  • 85
  • Thanks Stefan! More good information. Since I used to use CVS I'll start by reading that vc-cvs.el and see if I can mimic the same functions. Appreciate the pointer to the backend files! – MBW Dec 04 '16 at 22:29