Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I want to manage outsourced contractors to help develop our code. The code sits on Github.

I wish to use a simplified version of this branching model: http://nvie.com/posts/a-successful-git-branching-model/

For now, the code is not modular, so I cannot hide parts of it from some developers, a la http://stackoverflow.com/questions/3852601/github-branches

I do want to hook up our production and staging servers to a repository, so I need to manage write access to the code repository.

Q1 - does this mean I need an ORGANIZATION account on Github? I'm assuming I do.

Q2 - Would this branching methodology work: A Main repository with the Master and Integration branches. Contractors (not having write access) will pull from this repository (or fork it?). When they are done with a task, they will send a pull-request via the site.

Q2A - does this mean I will not have the ability to track task branches in my repository?
Q2B - how will the integration process work? Do I need to assign a new team, called integrators? Will they pull the completed tasks to the integration branch of the main repository, test it and if good merge to the master branch?

Q3 - Is there a better model?

EDIT - I trust these developers with my code (with regards to secracy). I do not trust them to decide when a feature is ready for production, or which fixes go into the next release.

Thanks!

Tal.

share|improve this question

migrated from stackoverflow.com Sep 18 '11 at 13:23

This question came from our site for professional and enthusiast programmers.

    
Tal, I'm sorry your question got migrated here, but I'm not sure this is the right place for it. We can explain possible branching strategies to you, but specifics of Github usage (types of accounts, etc.) are off-topic here and would be better off split into a separate question back on Stack Overflow or asked from Github's support. –  Anna Lear Sep 18 '11 at 13:49
    
I don't use Git so can't answer 1 or 2 but no matter what you choose the answer to 3 will be yes. –  Ben Sep 18 '11 at 14:02
    
@AnnaLear Github is just an example of an online Git repository service. My question is generic, in that I'm looking for the right branching strategy to work with contractors via an online repository. –  Tal Weiss Sep 19 '11 at 5:19

1 Answer 1

Even as Organization (example), it's tricky because you can only assign read/write permissions per repository, not per branch. So you would have to split your modules into separated repositories to be able to hide parts of it from the contractors.

Also, org users only get few private repositories, so you might run out repos sooner than later, which is why I almost completely made the switch to Codebase because you can have as many repos per "project" as you want, so it's a lifesaver to be able to have multiple repo point to the same issues and wiki instead of having to recreate (or store separately) as I had to in Github, and you can still set permissions on each repo [but not per branch].

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.