I'm a computer science TA working with some students in a senior capstone course (effectively, a consultant for a small team). I met with them to discuss how to use version control, and they're in an interesting situation:
Their current practice to to complete their tasks on their own machines without committing. Then, at the end of an agile sprint, they all commit their work to the same branch, figuring out merge conflicts along the way. I suggested that they each create their own personal branches and commit to them more frequently, whenever they've completed a task, and then merge the branches at the end of the week.
However, they're working on the project for a client who is hosting the repository on his own server. The project already has dozens of branches, each of which takes up several gigabytes of space. (The team has been told to work in a particular branch, not on trunk.) As a result, the team will probably need permission from the client before they can create new branches, and they might not get that permission.
If the client tells the team not to use branches or takes a while to respond to them, how should they proceed? What are some reasonable SVN usage patterns when a team can't create new branches?