[Info-vax] Where to locate software

Johnny Billquist bqt at softjar.se
Wed Jun 15 13:41:30 EDT 2016


On 2016-06-15 17:03, Craig A. Berry wrote:
> On Wednesday, June 15, 2016 at 8:23:40 AM UTC-5, Johnny Billquist wrote:
>> On 2016-06-15 14:39, Craig A. Berry wrote:
>>> On 6/15/16 4:18 AM, Johnny Billquist wrote:
>>>
>>>> I've been trying to keep out of this thread, but could people just
>>>> clarify one thing for me. What is CVS and SVN classified as here? Are
>>>> they distributed version control systems, or centralized?
>>>
>>> Centralized.
>>
>> Ok.
>>
>>>> Because the normal flow of work is never that you lock files when
>>>> working on them in these systems, but I did get the impressions that
>>>> people classified them as centralized.
>>>
>>> If "working on them" does not include doing any commits, then I suppose
>>> that's true. But one of the things you get used to with a DVCS and miss
>>> when you don't have it is the ability to commit willy nilly, go wild
>>> with experiments, and then revise those commits, perhaps "squash" a
>>> string of smaller commits into fewer more coherent ones, all before
>>> pushing them to a repository where others can see them.
>>
>> Well, I definitely can, and do work in this pattern with CVS and SVN as
>> well. So I can't say that this is in any way something defining of a
>> distributed version control system then.
>>
>> (The way you do this is that you create a branch where you do all your
>> experimentation, and then you merge back to the source when you want
>> others to see it. And yes, you can have several people working on your
>> experimental branch in parallel as well. And they can all check in and
>> out things concurrently. This is what branches exist for.)
>
> It's not the same thing.  The branches (even nominally "private" ones) exist on the server in a centralized VCS.  Plus there is no distinction between commit and push; if you create a changeset, you are creating it on the server.  (Unless you have a completely private repository, I guess.)

But now you are talking about technical implementation details. The 
usage pattern is the same. It's not that git enables me to do something 
I couldn't already do, it just have different names, and different 
technical solutions to how it might be done.
But I will not be doing my work in any different way.

> I'm not saying DVCS's are a panacea but I do think folks ought to try them if they haven't yet.  The learning curve can be steep but you can do a lot even with just a small subset of the available features.  I was dragged kicking and screaming into using git when Perl switched from Perforce to git a few years ago.  Now I can't imagine going back to a centralized VCS in a situation where I can choose.

I've used CVS, SVN, GIT, and a load of other version control systems 
over the years. I can't say that I've become friends with GIT yet. In 
fact, I've manged to mess it up enough a few times that experts on GIT 
just told me to wipe everything local and start over. I guess that tells 
something of my inability so far to become friends with GIT.

But that is beside the point. There are some things easier or "better" 
(for some definition of better) done in some systems than others. But 
it's just shades. Many version control systems allow you to do the work 
you need, in similar ways, no matter if they call themselves distributed 
or centralized. I think it is a mistake to claim that distributed vs. 
centralized in itself is any big point either way. It's more a question 
of what operations do you want to do, and can you do them without 
bending over backwards.

The one big problem in CVS and SVN is really doing multiple merges 
between branches, where you need to keep track of where you did the last 
marge, to just get the correct deltas. As far as I understand, GIT 
handles this much better.

People whole rave about SVN over CVS usually go on about how cheap 
branches are. Personally I find that to be a pretty uninteresting 
detail, which don't help me at all. So in the end, SVN is for me pretty 
much identical to CVS. And there are some things I find much easier to 
do with CVS, so I might pick CVS over SVN. But of course, people have 
different preferences when it comes to that.

But GIT people seems to think there is some built-in supremacy in some 
things in GIT which I don't get.

Anyway, I was just getting curious about the whole debate on distributed 
vs. centralized, and the description of them in this thread, which 
seemed to attribute limitations to "centralized" version control systems 
that I just felt were incorrect, but I wanted to make sure I understood 
how the terms were used before I decided whether I was just going to 
ignore the thread as being nonsense.

	Johnny




More information about the Info-vax mailing list