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

Re: svn vs. git

From: Evan Driscoll <evaned_at_gmail.com>
Date: Thu, 20 Jul 2017 19:37:32 -0500

On Thu, Jul 20, 2017 at 4:38 PM, Nathan Hartman
<hartman.nathan_at_gmail.com> wrote:
> On Thu, Jul 20, 2017 at 3:41 PM, Johan Corveleyn <jcorvel_at_gmail.com> wrote:
>>
>> Not wanting to start a flame war, but for all svn users and admins out
>> there that sometimes need to have this conversation ... I found this to be a
>> very nice website:
>>
>> https://svnvsgit.com
>>
>> (I'm not affiliated with the website, just ran into it)

While it has a lot of good information, I also don't find it
particularly unbiased; the points are all chosen to make Subversion
look better than in many comparisons (without bringing up other points
of comparison where Git really does come out on top), and some where
the headings are neutral are still written that way. For example,
"DVCS may be great for certain projects, but they have a number of
limitations that become roadblocks for others: no access control, full
copy of repository on every computer, no exclusive files locks and so
on" but no list of places where centralized systems fall down, or why
DVCSs very often shine for open source development for example. I also
think that the "Git history is not safe" point is vastly overstated;
not only that, but if you want me to name a version control command
that I think has the absolute worst combination of frequency of use
and destructiveness, it is 'svn up'.

The list I think makes a good rebuttal to common arguments, but it
doesn't make for a fair comparison overall.

And I'm not some Subversion hater either. I use Git for my personal
projects, but we use Subversion at work and I'm fine with it most of
the time. (I do *really* miss rebasing and the index. I actually wrote
a script [1] to make something that acts like 'git commit --patch',
but it's a shadow of how well the index works.) Git would actually be
hard for us to transition to, because we mostly use the "one big
monorepo" organization. That makes even me very hesitant to push for a
change; I fear that it would bring much more annoyances than
improvements.

[1] https://github.com/EvanED/svn-commit-patch

I did want to hit on this point though:

> One myth that is not mentioned on that page is the famous, "But you can't
> work offline!" Being able to work "offline" is supposed to be the biggest
> selling point of a DVCS over a CVCS. Okay... I'm calling that a myth. First
> of all, there is nothing inherent to Subversion that "prevents" you from
> working offline. You can work, you just can't do server side operations. Is
> that such a big deal? And if it is, do you mean to tell me that in this day
> and age of cloud services and IoT, where every single thing you do requires
> Internet access, that you're ever really "offline" for long enough that it
> matters?

For me: not right now, but a few years ago, an unqualified YES. And
it's only not true now by virtue of the location my company moved to
when we changed offices.

A few years ago, I commuted to "work" (well, grad school) by bus;
about a 30 minute trip each way. I often tried to get work done on
that bus ride. So what do I do when 10 minutes into the trip, I have
something I want to commit?

I was doing work on projects that were, at the time, in Subversion,
and that situation is a PITA. You have a choice between (1) say "screw
it" and make crappy monolithic commits of "did this thing and that
thing and this other totally unrelated thing", (2) juggle around
patchfiles, which gets you what you want but is pretty manually
intensive, or (3) get to that point and stop working. I usually did
(3). (Eventually I did (4), which is lobby enough to move that project
to Git.)

I'm probably a bit of an edge case here; I suspect most people don't
take transit, and many that do have either fancy busses with wifi or
can tether to a cell phone. And it doesn't even affect me any more.

But don't dismiss that use case.

(You can also think people who do a fair bit of travelling --
airports, on the planes, etc.)

Evan
Received on 2017-07-21 02:37:39 CEST

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