On 6 July 2011 10:37, Ken Wesson <kwess...@gmail.com> wrote:
> On Wed, Jul 6, 2011 at 4:30 AM, Michael Wood <esiot...@gmail.com> wrote:
>> On 6 July 2011 10:14, Ken Wesson <kwess...@gmail.com> wrote:
>>> Sorry, but I think version control and, particularly, dealing with
>>> edit collisions is not something you can solve as easily as just
>>> slapping a lock onto each file access, or else version control servers
>>> could just be FTP servers that locked their shared files during each
>>> access.
>>
>> Maybe so, but that is all beside the point.  The point was that
>> "repository" needn't mean "networked".
>
> Maybe just "repository that isn't fragile or outright broken" then. ;)

Perhaps, but I'd still say that even if the repository is made
available over the network and only the server is directly accessing
the repository, it is still a repository and the server is not
accessing it over the network, so the repository itself doesn't have
anything to do with the network ;)

>> If the CVS clients are the only ones doing the locking, then why not?
>
> ARE they the only ones doing the locking OR otherwise accessing the
> files, though?

Yes, unless you have malicious users, in which case you will need the
server.  I'm not saying it's not a potential security problem.  Just
that co-operative locking of files can work depending on the
circumstances.

>>> *minimum* it would seem that a real database with ACID and
>>> transactions would be needed -- A to avoid race conditions (no
>>> advisory locks here!), C to keep the internal state invariants valid,
>>
>> This is why various people moved away from CVS.  To get atomic commits etc.
>>
>>> I to be able to deal with edit collisions in a sane manner, and D for
>>> the obvious reasons. And a suitable software front-end. And now we're
>>> back to having at least one server in the mix, namely the DBMS at the
>>> backend. :)
>>
>> Right, I agree it's best to have a server controlling access to the
>> repository, but that does not mean that the concept of a repository is
>> linked to having a server or a network.
>
> No, just the concept of a reliable repository. ;)
>
>>> If you don't have a satisfactory answer there, then you probably need
>>> a real database. Of course perhaps you are clever and can design your
>>> own on-disk data structures that will fail-soft in some manner under
>>> such circumstances and convince yourself beyond a reasonable doubt
>>> that it'll work, but if not ...
>>
>> CVS is an old version control system that was far better than the
>> other things around at the time it was invented, but most people seem
>> to agree that other, more modern, version control systems are better
>> and/or more reliable.
>
> Unsurprisingly. With apologies to Leonard McCoy:
>
> "Non-atomic commits. Funduscopic examination. What is this, the Dark Ages?"

:)

-- 
Michael Wood <esiot...@gmail.com>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to