Should we all move away from Subversion

In my opinion the choice should be left up to developers.

I originally started off using svn, because it really is easy to use - especially with a GUI like Tortoise. After a while I became uncomfortable with svn - also that I had seen devs like Big Bang not using svn. I tried using Git but it was really confusing coming from svn, and with no GUI. So I stopped and went back.

Almost 2 weeks ago I tried using Git again after not using svn for a while. Looked at a few tuts and I was set. It’s really not hard and (imo) really is superior.

Also this was pretty helpful for comparing Git cmds to svn’s.

I personally switched over to Git when SVN shit the bed and pretty much wrecked my repository for the second time in a week because I had deleted a file without telling it I was going to. That was a year or two ago and I haven’t looked back even once. (Git simply notices that the file is gone and says “oh, I see you deleted this file” at commit time. It even detects file renames! You don’t have to interact with it at all during your normal workflow.)
The important distinction you have to see is that you don’t have a repo on the internet and a pointless second one on your computer - you have a repo on your computer and a second one on the internet for backup and sharing.
You work on your repository, then push your whole day’s work to the backup one when you’re done. That means the commit system is significantly different to SVN’s. A SVN commit is throwing your work out to everyone on your team, whereas a Git commit is just you pressing ctrl-s.
This is also amazing for working in teams, because of how Git handles branches. If you give every team member working on something different their own branch, they can happily hack away at it, pushing regularly to the repo without affecting anyone else’s work. When they’re done, they use the quasi-sentient merge function to bring their work into the main trunk, and everyone else then uses it to update their branch to have access to it.
Even if you’re not on a team, branches are handy. If you make a branch to work on when you’re doing something big, you still have an untouched working ‘release’ version in the main branch to apply bugfixes/security updates to, all of which will also get applied to your work when you finish it and merge it in.
If non-intrusive filesystem management, better history checking, superior team abilities and godlike merge systems are still not enough to make you consider switching, you can get unlimited private Git repos for free. Good luck finding that kind of offer for SVN!

I don’t think it’d be that difficult to switch over to Git if everyone uses GitHub. GitHub will let you SVN checkout things by prefixing the .git URL with SVN (http://svn.github.com/user/repository/repository.git). You get all of the benefits of Git and your users never have to install any additional software.

Thats cool. I didnt know Git offered that! I will have to pass that on thanks.

That plan only allows you 5 users. I can find far better ones for SVN, they aren’t unlimited in number, but they have unlimited users.

What about github? Are there any limits there?

As far as I know, Github is pretty much unlimited for open source projects, but I wouldn’t try storing models/materials up there. Closed source stuff requires lots of $$ though.

I’m starting a project soon and from what I see GIT seems better, Thanks. Can you start a private GIT server?

Yep. Anything you can connect to and that can run git can be used as a bare repo holder, though you generally have to do a lot of messing around to get it working.

I learned something new today about Git after googling some stuff.

Git does have full SVN support. You can checkout and even commit. You don’t even need to change the address (before you had to add svn to the git url).

You just checkout your git page with svn, example https://github.com/maddog986/Evolve

That will download a “trunk” folder and “branches” folder. The “trunk” is the master git page and the “branches” folder is all the branches.

I think i may start using git for everything now. People that dont like git can still use svn. So win-win for everyone.

I don’t really like SVN. I find it complicated and not really worth the effort for next to no benefit(Frequent updates? I don’t really care about frequent updates, my wiremod is 500 revisions old and works fine). It also makes it harder to install some addons, and it makes it a bitch and a half when you have antiques that you must have but can’t check out anymore because lolsvnserverdown.

I’d be perfectly fine with us going back to popping rar archives onto gmod.org.

1: Make folder
2: Paste link into SVN Checkout
Every time there’s an update, you now just have to right click the folder and click Update.

VS

1: Find download
2: Download file
3: Extract file
Every time there’s an update, you now have to find the download again. Then you have to delete the old copy before re-extracting.

tl;rd: SVN (when using TortoiseSVN) is less complicated than a regular download.
Git is the same. There’s also TortoiseGit.
Plus there’s a gazillion “auto svn downloaders” and “mod managers” you can use.

Wiremod has worked fine for quite a few revisions now. It’s not fixed bugs you’re missing out on, it’s new and cool features.

See top of post

The svn server is very, very, rarely down.
EDIT: Ah antiques. Well, then you have to find a regular download that someone who liked the mod uploaded after the mod creator shut down the svn server. If it doesn’t exist, you’re fucked. But this isn’t svn or git specific. This applies to anything - svn/git or regular download.

x1 disagree
Especially since garry requires you to log on using your steam account.

3: Wait for half an hour because you’re hosting binary content on a source code distribution system
Seriously, please stop distributing models/texture via your main SVN. It’s wrong in so many different ways.

What the hell are you talking about? Your complaining that it takes a while to start an initial download?

Downloading a multi-gig zip/rar each time there is a small change is not going to be any faster.

It increases the repository size a lot. It’s not really efficient to store frequently changing binary files in most version control systems anyway. Generally it’s a good idea to have a separate download for them.

There are some good points in this Stack Overflow answer.

SVN servers rarely output data faster than 20KB/s. That makes downloading binary agony.
In any case, there is very rarely any kind of small change in the Wiremod model pack.
Not only that, but making small changes when you’re distributing models is a very bad idea, especially in a model pack. You end up with inconsistencies. It’s far better to have definitive updates and versions. Look at the hell PHX caused before it got added to GMod. You or the server you joined could have a completely different set of models, all because the developers weren’t disciplined enough to say “OK. This is PHX 3. Let’s clean everything up, optimize the models (ha ha ha like they ever optimized anything) and release it.”

I prefer SVN. Probably because I’ve used it for the better part of a year.

Concerning this thread though, people are going to choose what they like and are more used to. They aren’t going to shift to a new system because “why go to something new when something you know works just fine?”

That’s about all the counter-argument I can come up with to how GIT is obviously so much better than SVN, people may just like SVN more than GIT. Points given in the thread are nice, but yeah.

Now I’m off to screw around more in the Lua section.