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.
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:
have a separate branch per new
feature/fix
main line would pull the latest from
main to his branch and run all the
tests to make sure it all works
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
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
tests to iron bugs, don’t allow new
features in only bug fixes when you
are near release date
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.