Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the best practice regarding Source code managment?

We are geographically diverse team of software developers working on an ERP system. We are using SVN as a version control system. We have 4 environments before the code moves to production system.

I want to know what are the best practice, regarding BRANCHING, MERGING when using SVN in such situation.

Currently we face a problem that one file has 4 changes. The customer wants only 2 changes to be in X (yearly 4 main releases and 4 minor releases) release.

The problem we face are: Too many Branches. complicated Manual merge. losing track or changes overwriting someone else s code .

Can anyone answere how can one solve this issues by using SVN as a better tool, which it is.

Thanks and Regards, Kedar Hukeri.

like image 726
Kedar Avatar asked Dec 23 '22 11:12

Kedar


1 Answers

Maybe a process how to get code to main branch would help more than different tool (other than source control system with good diff/merge).

It depends on your process but generally:

  • good practice for bigger teams is to have a separate branch per new feature/fix
  • developer before releasing code to main line would pull the latest from main to his branch and run all the tests to make sure it all works
  • if the team is big you may have to consider a release manager - a person to manage the releases and simply freezing the main branch and managing the order in which the features go in
  • even better, have release branches and a person that is allowed to merge new features into it, developers submit note that new feature is ready and one person merges the changes into main branch
  • freeze release branch before release and run tests to iron bugs, don't allow new features in only bug fixes when you are near release date
  • depends on number of commits but you can create smaller releases which are more tested to establish milestones and functionality to be know to work in each point release

In the end, no matter what the exact process is the main point is that the developers understand the procedures and someone enforces it.

like image 155
stefanB Avatar answered Mar 25 '23 06:03

stefanB