tags:

views:

54

answers:

3

I've come across various questions regarding subversion here but nothing specific to what i'm looking for.

I'm going to hire a freelancer to work remotely on my existing projects(extending functionality and code maintenacne for already existing code.

While i'm going to trust him with the code and let him have all the access he needs to work and test the application..... how do i prevent someone from deleting, corrupting or damaging the code repository in any way supposing there is a dispute between us about something and the freelancer reverts back by causing damage to code.

Now i think there is a remote possibility of anything like this happening but still i'd like to take the precaution.

How do we achieve something like this in subversion?

And secondly,

Any suggestion for a good subversion hosting that makes it real easy to perform all svn actions ... maybe a Web Interface....(paid hosting is fine but not too costly..)

+6  A: 

Giving someone access to check in or checkout code from an SVN repository will not let them corrupt or delete the repository. Any changes they make can be reverted. This is the whole point of revision control systems. Just do not give the developer full access to the server hosting SVN (e.g., RDP access).

It is the sys admins (your?) responsibility, though, to ensure that the repository itself is backed up frequently, in case loss or corruption of the data occurs for other reasons.

Regarding how to provide access to the repository, I have had good luck using VisualSVN to setup access to the repositories. It gives the end users https access to the repos, and they can use whatever client tool they wish to access the code. I have personally never found much use for SVN web interfaces as a developer.

RedFilter
Thank you, that answers my question. I don't know subversion beyond checkin, checkout, update and commit :) I am thinking of using a external svn hosting, so i suppose sys admins on that hosting account would keep backups. So how do i make sure that the developer doesn't have the full access to the server hosting. Is there some sort of special privelege(admin) users that only i should have access to ? Maybe the hosting company would provide me some sort of control to allocate privelege accesses??? Is that so?
+1  A: 

All the changes and damages can be reverted in subversion; but If you still want to be extermely sure, you can always take backup of your essential code somewhere else where the said freelancer will not be able to see.

Himanshu
Thanks for answering.
@user481913 My pleasure.
Himanshu
+2  A: 

I'm not sure about what your particular concern is. The whole point of version control software (and more specifically Subversion) is to make it impossible for anyone to delete, corrupt or damage the code repository.

I presume you just don't want to waste your time reverting changes. Well, to begin with, you're supposed to put an amount of trust into your freelance. It's not a teen intern after all but someone you're paying. If didn't think he can do the job you would not be hiring him. In second place, no automated system can replace communication. If you are working in certain area of the app and you don't want to deal with unexpected updates from your co-worker, just tell him!

Some features that can help you:

  • Branches: complex or experimental features are best accomplished by parallel development and a final merge into the trunk once finished.

  • Access control: you can configure the repository so certain paths are not readable or writeable by certain users.

Álvaro G. Vicario
Thanks for answering.