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?
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).
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:
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With