[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: subversion demerits in comparison with clearcase, can any expert advise on this?

From: Troy Curtis Jr <troycurtisjr_at_gmail.com>
Date: 2007-04-18 03:28:13 CEST

On 4/16/07, Andreas Schweigstill <andreas@schweigstill.de> wrote:
> Hello!
> Ulrich Eckhardt schrieb:
> > In that aspect CC is the same as SVN, just that
> > maybe CC hooks the filesystem and only fetches the actual data on demand -
> > it's not entirely clear to me what those dynamic views are.
> Yes, ClearCase has its own filesystem implementation. So the check-out
> procedure is quite different from check-outs under CVS or Subversion
> because it normally just creates a (static) view. In a static view or
> Subversion WC you explicitely have to say "Yes, now do an update!" but
> on a dynamic view this is done automagically on all working copies.
> This is a very interesting feature because it allows creation of a
> global build number counter. It is usually not appropriate to use a
> dynamic view for "normal" source code files.
> The contents of a CC working copy is defined by a configuration file
> which contains a component list. A similar approach has been implemented
> in SVK >=2.0.0 which also supports views. Unfortunately this isn't very
> stable. Just a few days ago SVK 2.0.1 has been released but
> unfortunately it doesn't build on my system(s).
> > When you commit a working copy, only those files that you previously
> > explicitly(!) added are included. Using 'ignores' could help with maintaining
> > that, as using a graphical client could. Subversion itself does not version a
> > file just because it is in a working copy though.
> Unfortunately there are lots of people who commit to a version control
> system without checking first what they want to commit.
> A former collegue always pressed the "add recursive" button in WinCVS
> before comitting just because the button was there. Once we found a copy
> of his entire Windows C: partition in the repository...
> I told him not do such an add operation but he said that he doesn't have
> enough time to check his check-ins and wants to be sure that all of his
> changes get committed...
> With best regards
> Andreas Schweigstill
> --
> Dipl.-Phys. Andreas Schweigstill
> Schweigstill IT | Embedded Systems
> Schauenburgerstraße 116, D-24118 Kiel, Germany
> Phone: (+49) 431 5606-435, Fax: (+49) 431 5606-436
> Mobile: (+49) 171 6921973, Web: http://www.schweigstill.de/
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

Unfortunately I think that all of you have really missed his problem.
Well the "auto-update" component of the CC dynamic view comment was
part of it. I have never used clear case for more than a demo, but I
have a co-worker that was explaining things to me (and singing some of
it's praises!).

What the original poster is referring to is the built-in functionality
of CC to share compiled (or more generically, generated) objects
between developers. That way if some change in some other module
requires a build, or worse a complete rebuild of the module, all the
developers will have access to that generated file as soon as it is
created. It shares out these (sometimes time-consuming) objects along
with "real-time" source file updates so that all the developers are as
close to working out of one directory as you can get, without actually
working in the same directory and with some enforced safety. This way
a given generated object is only generated once between a group of
developers, and is only regenerated when one of it's source files
changes and it requires a rebuild.

To answer the poster's question, no Subversion does not do this.
Plus, I can pretty much guarantee this will never happen. CC and
Subversion are designed with different goals in mind. Subversion has
strong influence from the open-source community and it's development
model which mostly occurs over the internet. The kind of feature you
are talking about (near real-time source and object file updates)
would be impratical in an internet project. In fact, Subversion has
gone out of it's way to make sure the remote repository is accessed as
little as is practical. For instance, every checkout and update
Subversion maintains a pristine copy of each file as it appears in the
repository (hidden away in the .svn directory). This allows you to
diff and revert without grabbing a fresh copy across the net.

I love Subversion, and am able to use it with great success in my
corporate job. It is also useful for many (fairly large) open source
projects. However, the kinds of features that the you are asking for
is almost certainly going to stay in the commercial software realm.
You need a large rapid concurrent (i.e. most people are around at the
same time) project on a LAN (or appropriately fast) connection to make
use of the object sharing and dynamic view features of CC. Open
source developers usually "scratch their own itch" and this will never
be one of them as it is impractical over most internet connection
speeds. Ultimately, stick with what works. I have heard CC is a real
pain to setup (and maintain). Make use of that experience that you
have already accumulated (as a company). If you switch tools you will
have to expect changes.


"Beware of spyware. If you can, use the Firefox browser." - USA Today
Download now at http://getfirefox.com
Registered Linux User #354814 ( http://counter.li.org/)
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Apr 18 03:28:35 2007

This is an archived mail posted to the Subversion Users mailing list.