views:

56

answers:

5

I've been working on a one-person project for a while and I'm using an online-hosted SVN repository as source control. Now, we are hiring a few offshore developers to help me on the project. My concern is - I don't want them to start checking code in to my repository at least while they are learning. I'd rather have them check it in to some intermediate place and them I'd merge it into my repository myself. I'm not too familiar with internals of SVN, my use of it pretty simple, so I don't know if it supports such a workflow. Just as a side note, I use TortoiseSVN as SVN client.

Could someone please help me figure this out?

Thanks!

+2  A: 

You will need to create a separate branch for them: http://svnbook.red-bean.com/en/1.1/ch04.html#svn-ch-4-sect-1

Den
A: 

You should create a branch and let the newbies checkin/checkout on the branch. Once the branch is stable and you should update the branch with the latest from the head and then merge back to the head.

Have a look at the guide here: http://svnbook.red-bean.com/

deepsat
+2  A: 

SVN repos are usually organized with:

  • trunk
  • tags
  • branches

So, if that were the case, I would say that what you're looking for them to do is to create a branch, and leave the trunk alone. I don't have Tortoise on this machine, so I can't go do it to get an example, but I think there's an easy menu option to branch (maybe called tags/branches or something?)...make a branch, name it something like 'newdev' so that you have /branches/newdev/ as the development branch that they can modify in. Then, you'll just need to learn how to merge changesets from that branch into trunk.

Kevin Nelson
Merging w/ TortoiseSVN: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html
Kevin Nelson
+3  A: 

You could create a branch for the new developers. Next you can authorize those users to access only that branch. They can do their work in that branch and when you feel you are ready to keep their code you could merge their code into your feature branch or trunk.

sgmeyer
A: 

I'm not sure what exactly they are "practicing" here -- is it using the SCM or is it modifying the code? In either case, so far, all the responses advise creating a branch. I think that is too heavy a process if you just want them to "check in code while they are practicing", so I'll give you an alternative. On projects both large and small, using Perforce or SVN, I've seen a lot of success using the simple concept of a "personal" directory, located at the root, and divided up by SCM user. People can check in what they want under their own name, and it won't effect your mainline/trunk.

Shaggy Frog