Ayende @ Rahien

Unnatural acts on source code

The kiss of death for Subversion

There are some things that I am just not willing to take, and waiting for my machine is one of them.

I had tpo much of this:

image

I am not sure yet what I am going to use, but it is going to be some sort of DVCS

Comments

kk
09/04/2009 12:29 PM by
kk

waht version are u using?

Enrique Ramirez
09/04/2009 12:57 PM by
Enrique Ramirez

Since I'm sure you'll get 3 million posts recommending git, might I suggest taking a look at bazaar ( www.bazaar-vcs.org). Most the commands and lingo map right to the terms svn uses, and for me it's far more intuitive and useful than git.

It's being maintained by the guys at Canonical (of Ubuntu fame).

hwiechers
09/04/2009 12:58 PM by
hwiechers

Mercurial seems to be getting some traction. It's supported by Google code and it's used by Mozilla and the Python dev team.

Davy Brion
09/04/2009 01:03 PM by
Davy Brion

i don't have any experience with git or any of the distributed source control systems, but you definitely shouldn't blame SVN based on the performance (or lack thereof) of NHibernate's repository. Sourceforge's SVN is the worst i've ever used and i frequently have problems with it as well. Simply put: it is the worst possible SVN provider to base your decisions on :)

Other than sourceforge's SVN, i'm quite happy with SVN performance in general

tobi
09/04/2009 01:30 PM by
tobi

Unfortunately there does not seem to be a nice shell and vs integration für version control system other that svn. thats why i think git is kind of time-consuming.

Vladimir Okhotnikov
09/04/2009 01:47 PM by
Vladimir Okhotnikov

Our company has migrated to mercurial (from SVN) a while ago - because we became tired of lags and merge conflicts. After migration it works like a charm, except for the fact that TortoiseHG GUI still lacks the usability of TortioseSVN a lot. Personally, I'm a fan of command line interface anyway - and Mercurial CLI is easy and consistent.

We considered git and Bazaar initially, but choose Mercurial because it looked more windows-friendly, consistent and extensible at the moment.

Ayende Rahien
09/04/2009 01:53 PM by
Ayende Rahien

Davy,

SF SVN sucks, but I have seen the same issues over & over again in any SVN installation

Bryan
09/04/2009 02:09 PM by
Bryan

I'm sick of subversion's crappy branching. We refactored our repository recently, fixed a lot of problems with it, upgraded everything to the newest and latest.

Branching on subversion still sucks! It's easier, quicker, and more reliable for us to keep a bunch of patch files hanging around.

Jeeze, it's almost 2010, and I still can't believe I'm fighting stuff like this.

Eugen
09/04/2009 02:39 PM by
Eugen

I'm gonna post the first of the 3 million comments suggesting Git. I've been using it at work (on Windows) for over a year now without any problems. We've switched to it after ~5 months of using Mercurial and never regretted it. Branching in Mercurial seems just wrong after you've used Git. Also, there are some good GUIs out there, but I've found myself just using the command line after some time. If anything, it's a lot more efficient than using a GUI.

John Clayton
09/04/2009 02:46 PM by
John Clayton

Being a fellow Windows developer I'd recommend Mercurial. I shares the same general ideas as Git, but being written in Python there's no hack necessary to run it on Windows. Another nice touch is that it's protocol is built for the web, where Git is not.

As others have pointed out it's supported by Google Code, and Bitbucket seems to run smoother than GitHub.

Jim
09/04/2009 03:33 PM by
Jim

It's probably more likely that TortoiseSVN has shitty network code.

Jonathan Oliver
09/04/2009 03:43 PM by
Jonathan Oliver

We're using Git even though the tools aren't the most mature in the Windows realm. It would appear that the only logical choice is between Mercurial and Git.

Jeff Lewis
09/04/2009 03:58 PM by
Jeff Lewis

The SVN client hangs and locks-up our 8 and 16 core Vista, XP, and Windows 7 machines every time any of my 20 developers do an svn update. The server is a DL380 with 2 quad core procs running on Windows Server 2008 x64 with 4G of memory.

To be fair, I think that the issue is how large our repository is, but I've seen similar complaints from lots of people that use SVN on windows.

We're about to jump ship as well...

Arne Claassen
09/04/2009 04:02 PM by
Arne Claassen

I know this isn't a SC fanboy forum, but just because SVNs network code sucks, doesn't mean DVCS is the only solution. And mind you, SVN does suck. I've had the above many times, not to mention the near uselessness of blame and the log of revision graph. You know you're in trouble when the tool warns you that this could take a long time.

I do the same operations on larger perforce repositories all the time and timelapse (blame), sync, revision graph, etc. are all nice and snappy even though it's a centralized server.

Although i need to investigate git a bit more. As i understand the command line tools are plenty mature on windows, but the command line itself is a piece of crap. And cygwin only goes a small way to providing a better experience.

Roe
09/04/2009 04:09 PM by
Roe

Looks like the problem is with your network not your software. SVN works great for me and many others.

Bill Barry
09/04/2009 11:00 PM by
Bill Barry

I guess I can only be the 4th to recommend Mercurial. I could understand choosing Git (IMO windows support still isn't as good). Though Bzr is improving it still has not quite caught up and every release has had breaking changes.

We made the switch several years ago and haven't looked back. For OSS I fail to see the reasoning for a CVCS.

@Arne:

A DVCS isn't the only solution but it is the (current) best solution for any project which intends on being as open as it can in accepting contributions.

Menace
09/05/2009 01:08 AM by
Menace

Yeah, i've been thinking something is up with SVN myself. Maybe a bit under a year ago i noticed SVN locking up my system when i do updates. It had never done that before. Normally i could start an update and go do other things while i waited for the network. Or so i assumed.

So what changed? The CPU is not the bottleneck here. Did my network get faster ? I doubt that. It seems like SVN is now bottlenecking my disk drive. Maybe their disk access code just got better ? Did they trigger the process to run at a higher priority? or are they somehow locking access to disk hardware to somehow speed up access for SVN at expense of all other processes ? anyhow. this effect is new.

Phillip Haydon
09/07/2009 01:27 AM by
Phillip Haydon

I've had that issue numerous times using TortoiseSVN, I no longer use it now and have switched to AnkhSVN for Visual Studio. I've never had that issue since.

I keep TortoiseSVN installed tho because occassionally if the files go out-of-sync it's easier to fix using TortoiseSVN than AnkhSVN.

Chris
09/07/2009 01:32 PM by
Chris

Eclipse + Subclipse is working well for me.

Comments have been closed on this topic.