Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are different Version Control tools better for different languages?

I was wondering, are there any ways in which specific languages (C++, Java, Python, Haskell, etc) are especially suited more to one VCS than others? Maybe due to syntax or other factors?

Or should choosing a VCS always be unaffected by such concerns?

like image 674
Mr. Boy Avatar asked Jul 17 '10 14:07

Mr. Boy


2 Answers

All VCS' I know are content agnostic, you can store binary or text (ASCII/UTF-8) files. One possible factor for choosing a VCS is development OS support (example: git has bad windows support) and IDE integration, which may be language-specific.

As to whether a VCS should be unaffected by such concerns, I truly believe so. At the same time it should be flexible enough to let other tools do language and project specific things (most VCS do this through hooks).

like image 57
igorw Avatar answered Oct 11 '22 04:10

igorw


The content you put in a VCS can matter for:

  • storage: the way the delta is stored can differ for simple texts, Microsoft Word documents, UML models (Rational .rose files), html pages, ...
    See for instance ClearCase type manager as an example of VCS managing the storage based on element content.

  • merge: merging can be done differently based on the content of the versioned files through:

    • internal algorithm (if the VCS has type manager)
    • external third-party merge tools which can infer some "intelligent" merge tactics based on the extension and content of the file.

Regarding your question, the programing language within versioned files is to my knowledge never a criteria for storing or merging: they (the files) are just text.
If they are treated differently, it would be only during the merge process, and only if an external merge tool is smart enough to perform an "intelligent" merge of some kind based on the file content.
But the VCS itself is generally not involved in that special merge (for source files considered as text).

like image 27
VonC Avatar answered Oct 11 '22 04:10

VonC