info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: Re: Problems using CVS transparently


From: Kaz Kylheku
Subject: Re: Re: Re: Problems using CVS transparently
Date: Fri, 5 Apr 2002 09:28:21 -0800 (PST)

On Fri, 5 Apr 2002, Joi Ellis wrote:

> > If the user somehow breaks the link on the other end, this isn't a
> > problem either. Meta-CVS update will repair the link prior to invoking
> > CVS update so that changes from the repository are properly
> > incorporated into the user's modified version.  And then it will repair
> > the link again after the update, to synchronize in the other direction.
> 
> How would this perform under and IDE like JBuilder?  JBuilder can be

It would work just fine.

> user-configured to keep 0 to 90 numbered backup copies of a file being
> editted.

I would not consider backup copies to be primary objects which belong
in a version control system.

> When it saves a fresh copy, it renames the old one (numbered
> incrementally upwards) and writes a new one. 

Many, if not most, text editors do, or can do, nearly the same thing.
They rename the old one to foo~, foo.bak or #foo# or whatever, and then
write out a new foo. Some have multiple numbered backups.  This has
nothing to do with version control. The backups are local files not
known to the version control system.

Meta-CVS wouldn't have any problem with this, because it would notice
that foo is a brand new file, not a hard link to the primary file
in the CVS sandbox.  It would then see that it has a newer timestamp,
and thus it would unlink its outdated counterpart, replacing it with a
hard link to the new version. This would happen before any version
control operation which requires an up to date local copy.  Broken hard
links were anticipated in the design from day one; this really works
quite well.

The design viewpoint is that hard links are just an optimized form of
synchronization between two sets of files, which eliminates the time
wasted copying data, and the redundant use of disk space.
In principle, one could replace the link operation by a straight copy.
Everything would still work, which is why broken links aren't a
problem.

> JBuilder also has CVS
> integration, and users who have used symlinks or hard links in the past
> have complained about JBuilder's file handling in the past.

Of course, an intelligent text editor would notice that you are editing
through a symlink.  But this is developers of a Java IDE we are talking
about.

> Is META-CVS a drop-in replacement for cvs?  Is its output radically different
> from regular CVS?

No, and yes, I think.  It uses the cvs client command line interface.
I don't know what you include under output.  Some of its reporting
outputs are not very different from CVS, like log, diff, stat. The
primary names require demangling for readability, which is done with a
filtering function. E.g.  ``mcvs log foo.c | mcvs fi''.

-- 
Meta-CVS: solid version control tool with directory structure versioning. 
http://users.footprints.net/~kaz/mcvs.html




reply via email to

[Prev in Thread] Current Thread [Next in Thread]