[CMake] the switch to subversion?

Philip Lowman philip at yhbt.com
Tue Sep 23 13:59:10 EDT 2008




 ..... Original Message .......
On Tue, 23 Sep 2008 12:21:47 -0400 "Bill Hoffman" <bill.hoffman at kitware.com> wrote:
>Mathieu Malaterre wrote:
>
>> 
>> svn 'external' links to repositories (not tested). Do not know what is
>> the default behavior for branching...
>> 
>
>Yup, but there are issues with that.  For one thing you can not do an 
>atomic commit from the top of the tree and have it go into the sub 
>project correctly.
>
> From here:
>http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html
>
>"The support that exists for externals definitions in Subversion remains 
>less than ideal, though. ... And Subversion still truly operates only on 
>nondisjoint working copies. So, for example, if you want to commit 
>changes that you've made in one or more of those external working 
>copies, you must run svn commit explicitly on those working 
>copies—committing on the primary working copy will not recurse into any 
>external ones."
>
>Also, it would mean converting ITK, VTK, ParaView and CMake all at the 
>same time....
>
>So what we need is a way to bridge CVS to SVN until all projects have 
>been moved.  And we need to figure out a way to deal with the external 
>stuff in a way that works.   Basically, it is a bunch of work for us to 
>move...  I am not saying we won't, but there are still details to work out.

Yeah, svn isn't perfect... :(

It's limitations aren't always bad though.  Often having to commit twice when using svn:externals reminds you that other people are using the repository as well.  You can also peg your app on a particular version or rev of the external repository which is very useful.

SVN:externals is annoying during updates (kinda slows things down) and immediately after making a branch or tag you have to remember to do a propedit if you're tracking the trunk of an svn:externals repository, but other than that it's not that bad. :)

I haven't used git but have heard good things about it.  It sounds like a bad choice for CMake if there aren't any good Windows clients, though.


-- 
Philip Lowman


More information about the CMake mailing list