PDA

View Full Version : Installing an SVN repository


torifile
2011-12-13, 15:02
For the first part of my iPhone app, I was working with a company that had an SVN all set up, but now that I'm not working with them anymore, I need to set up my own SVN server for my hired dev. Any ideas on how to do this? I've never set one up so I don't even know where to begin. TIA.

chucker
2011-12-13, 15:26
Consider using a distributed system like Mercurial/Hg or Git instead. There's more conceptual complexity, but more flexibility and less administrative overhead.

torifile
2011-12-13, 15:51
Consider using a distributed system like Mercurial/Hg or Git instead. There's more conceptual complexity, but more flexibility and less administrative overhead.
I'll look into those options. These can be installed on an Apache server easily? How well do they work with Xcode's SVN stuff?

I know I can find a lot of this out quickly but I'm just posting in the little snippets of time I've got.

Majost
2011-12-13, 16:09
Yeah, setting up a stable, external server (of any sort) is tricky. Do you already have an Apache server stable and facing the external world?

Xcode 4 works with both git and SVN.

Git is nice in that you don't need a centralized server; all it takes to start a new repo is typing git init . in the folder you want to start tracking. Each developer has his own copy of the complete repository. You can even sync ('push' and 'pull') repositories over email (I think) or dropbox or a shared drive. For single users or very small groups, it doesn't really add much complexity at all over SVN -- I think it saves some in that you don't need to setup a centralized server.

torifile
2011-12-13, 17:02
Yeah, setting up a stable, external server (of any sort) is tricky. Do you already have an Apache server stable and facing the external world?

Xcode 4 works with both git and SVN.

Git is nice in that you don't need a centralized server; all it takes to start a new repo is typing git init . in the folder you want to start tracking. Each developer has his own copy of the complete repository. You can even sync ('push' and 'pull') repositories over email (I think) or dropbox or a shared drive. For single users or very small groups, it doesn't really add much complexity at all over SVN -- I think it saves some in that you don't need to setup a centralized server.
My site is running on an Apache server and I have command line access so I think it's good on that front. It's hosted on mediatemple and I'll have to see what they say about repositories but I can't imagine it'd be a problem.

chucker
2011-12-13, 17:07
You don't need a central server if you don't want one, and if you do, you can also use BitBucket or GitHub for that. Each machine you put the code on pretty much doubles as a backup of the entire repository, including the history of changes.

That said, it looks like mediatemple even provides instructions for installing Mercurial. (http://kb.mediatemple.net/questions/1639/Installing+Mercurial+on+the+%2528gs%2529+Grid-Service)

Brad
2011-12-13, 17:48
It looks like you're on the right track now, but I just have to chime in and agree:

Consider using a distributed system like Mercurial/Hg or Git instead. There's more conceptual complexity, but more flexibility and less administrative overhead.

This.

SVN and CVS are like stone age source control. :)

If you decide to sample Mercurial, there's a great tutorial at http://hginit.com.

Ryan
2011-12-13, 20:20
I’ll throw in another vote for GitHub. You can pay for private repositories if you’re worried about privacy.

It’s worth whatever they’re asking to not have to deal with it yourself. Let someone else deal with the headaches.

tomoe
2011-12-13, 21:24
Another vote for Git.

torifile
2011-12-14, 10:43
I just decided to go with github. I know that something like Mercurial is a cheaper way to go since I have a server but I just don't have the time to manage it effectively. Thanks all. :)

Brad
2011-12-14, 10:46
Mercurial also has bitbucket (https://bitbucket.org/), Google Code (http://code.google.com/projecthosting/), and others if you want free online hosting. If you don't need online hosting, you can just create a local repo in any directory with "hg init" and then just backup the files using your standard backup strategy.

Curious: why do you guys choose git over hg?

torifile
2011-12-14, 10:55
Mercurial also has bitbucket (https://bitbucket.org/), Google Code (http://code.google.com/projecthosting/), and others if you want free online hosting. If you don't need online hosting, you can just create a local repo in any directory with "hg init" and then just backup the files using your standard backup strategy.

Curious: why do you guys choose git over hg?
My dev is already familiar with github and it integrates into Xcode. Those were my reasons for it, at least.

Majost
2011-12-14, 11:10
Curious: why do you guys choose git over hg?

I recommended it because torifile was interested in Xcode integration. But I've also used software from Github *much* more often than I've used software from Hg projects.

Ryan
2011-12-14, 23:32
Curious: why do you guys choose git over hg?

GitHub and sheer inertia. It’s what everyone uses. We’re also in the middle of recruiting season and a lot of potential employers have been asking if I have a GitHub profile.

I don’t know if they’re looking at it or not but just hearing that I can point them to a chunk of code I’m responsible for really seems to turn the interview in my favor. I’m sure they’d be impressed by a Google Code account as well but no one asks for that.

(OT: recruiting season is fun. :D)