A discussion on SVN and push/pull approval

Discussion in 'Plugin Development' started by Father Of Time, Mar 28, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Father Of Time

    Good afternoon to all,

    I’ve been revisiting the subject of versioning software today, mostly because I have future plans of bring in additional developers to our project and want a central point for our collaborative efforts. I’ve been looking into TortoiseSVN, Subclipse and Git. As I’ve conducting my research I have been looking for one major feature, the ability for a lead developer to accept/deny pushes, but I simply can’t find anything that meets this need.

    I am hoping for something similar to the following workflow:
    1) Developer X decides to make revisions of an existing project
    2) Developer X pulls the most current version of the project from the SVN
    3) Developer X finished his work and commits two changes to the SVN
    4) Lead developer review the pushes to the SVN
    a. Push 1 was correct, push accepted and committed to main branch
    b. Push 2 was incorrect, deny the push and send it back down the pike with edit notes

    I’ve recently read “branches” are required for this behavior, but unfortunately I know little about SVN and branches, so I am here to hopefully tap into someone’s experience on the subject. At this point I am just information farming, but any information that would help me get the ball rolling would be greatly appreciated.

    I should note that our projects are private and designed with a specific community in mind, so the project and their source will not be made publicly available; this may or may not alter which SVN software we need to use.

    Thank you in advance to anyone who is able to offer advice on this subject.
     
  2. Offline

    nickrak

    It sounds like you want Git, Subversion doesn't have support for that workflow.

    With git you'll make a new branch, you'll read through the commits in that branch and if you like it, you can pull the results into the main branch. You still cannot accept parts of a branch but you can say why you didn't accept the branch and then when it gets fixed you can accept it then.

    Here's a good FREE book on the major version control systems http://www.ericsink.com/vcbe/
    I highly recommend it. Available online, epub, pdf or you can request a print.
     
  3. Offline

    desht

    Seconded. Git is definitely the way to go.
     
  4. I'g say git too. If a little more complex system is ok for you, you could require your devs to fork the main repository. They then only commit changes to their forked repo and can send Pull-Requests when they finished working on their fork. That way you could even accomplish only pulls on specific parts if the pull-requests where splitted.
     
Thread Status:
Not open for further replies.

Share This Page