Note that there are some explanatory texts on larger screens.

plurals
  1. POWorkflow for using Git SVN and a Remote Git Repository with multiple users
    primarykey
    data
    text
    <p><strong>Summary of the question:</strong></p> <p>I came to realise as I wrote this out that there is a lot of detail, so here's the headline:</p> <ul> <li>What is a good workflow for a team of many users that use SVN and Git SVN within a work environment, but then also want to use a remote Git Repo (BitBucket) to access the same code from outside of the work environment, share changes to this code between each other while out of the office, and then safely rebasing back to SVN when back in the office? While others are continuing to use Git SVN locally within the office too?</li> </ul> <p>In writing this, I've also come to realise that what I'm asking to do is really quite complex and may simply not be possible...</p> <p><strong>The Detail:</strong></p> <p>I work with a team of people using an SVN Repository. A number of us have started using Git SVN and are now reaping the benefits of using Git locally, branching at whim, merging into our local Masters as necessary and then dcommitting back to SVN. This works well (although I realise we are not reaping all the benefits of a pure Git solution).</p> <p>I have recently started using a private BitBucket Git Repository as a remote for the Master, so I can easily transfer code to and from other places. The workflow is this:</p> <ul> <li>At work, Rebase from SVN Trunk => Local Work Master.</li> <li>Push from Local Work Master => BitBucket Master.</li> <li>At home, pull from BitBucket Master => Local Home Master.</li> <li>Do coding at home, branching, merging, enjoying git.</li> <li>Merge from local home branches => Local Home Master.</li> <li>Push from Local Home Master => BitBucket Master.</li> <li>At work, pull from BitBucket Master to Local Work Master.</li> <li>Rebase against SVN Trunk.</li> <li>Dcommit to SVN.</li> </ul> <p>Okay, there are a few steps but it works well for me. But, a number of my colleagues want to start doing the same sort of thing. What is more, we want to be able to use our BitBucket Git repo without the encumbrance SVN.</p> <p>Some examples of the sorts of things we are considering:</p> <ul> <li>If one of us is out of the office, they want to be able to get the latest code. At work, I can rebase from SVN and then push to BitBucket, making the latest code available to my colleague.</li> <li>If two of us want to share some changes (assuming either one or both of us are out of the office), we can create a feature branch for this on BitBucket and each push and pull it as necessary.</li> <li>When we're happy with it one of us can merge it into our Local Home Master and then push to BitBucket Master, ready for pulling when we're back at work.</li> <li>Once back at work one of us can pull Master from BitBucket to our Local Work Master, then then rebase against SVN and dcommit as usual.</li> </ul> <p>But, assuming one of us has done this, what then happens for the rest of the team? If they pull from BitBucket Master, they'll get the changes. But, if they rebase from SVN, they'll get the changes too.</p> <p>What happens if they do both? And this is just one possible snag. I can think of other sets of steps were this could all get into a real mess.</p> <p>Unfortunately our Continuous Integration workflow is tied to SVN, as is the rest of the business. Therefore we don't really have the option of moving to Git in it's entirety. We also can't access our SVN repository from outside the company.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload