[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