| || |
Using CVS for correct CM ?
Hi, CM Gurus
I am facing the dreadful prospect of having to use CVS as a versioning tool. The team in place tells me that only source code can be versioned effectively, because :
- there is no possibility to enforce exclusive check-out for binaries (Word file for example), to avoid merging (it seems to be possible with some CVS clients, not others).
- some binaries are causing big problems, like Rose models that crash when under version control for example.
So I am asking you : what is your approach ?
Are you versioning binaries ? If not, how can you maintain configurations over the whole set of project files ? Do you think ClearCase LT could be a solution ?
Thanks In Advance,
Re: Using CVS for correct CM ?
you can always extend CVS to comply with your additional needs, but then you are in fact building a new tool.
It is of course possible to version manage any electronically storeable document with CVS.
It is not, however, possible to merge any document with CVS merge mechanism.
A merge is always done on a textual and semantically simple level.
Therefore, complex documents as e.g. Word.files and ROSE-models, or any binary format, can only be merged within the tools themselves, if they supply such a diff-and-merge capability.
Another downside to CVS is that the built-in merge-tool uses two-way merge, i.e. literally comparing two separate files and guess whether a diff is an additon to the one, or a deletion from the other source.
It can be updated and integrated with other shareware- or freeware tools that instead uses three-way merge (where the diff is made related to a common source version, that shows clearly whether it is an additon or deletion, and therefore makes a proper guess). And at that, you may even supply your own additons for calling upon the APIs of the special format source applications (like Word, ROSE etc.) to get a diff-and-merge hook from CVS.
But again, then it is in reality a new tool you are building.
So, the solution to merge conflict avoidance with CVS must be handled on another level; for instance modifications in a common work space. Or handled within the tools themself; before commiting a Word-update, you have to compare manually with the main trunk to see that noone has made other changes.
In other words, concurrency upheld by discipline. It can be done, I have heard of a friend of a buddy of mine who knew these guys at a company... well you get the picture.
Now, if you really need support for both Rational ROSE and Word, sure thing ClearCase can do the trick. Because ClearCase provides mechanisms to call the tools and use their diff-and-merge capabilietis.
Search IBM to see what you do NOT get in ClearCase LT, though.
[ 09-27-2004, 12:15 AM: Message edited by: WilmerT ]
...här skiner solen...