1
Here in the company we use SVN for versioning. We have TRUNK that is available for approval before going into production and generating a TAG, and we also have BRANCHS that symbolize each demand. Until some time ago, each finished BRANCH (demand) was simply merged into TRUNK and made available for testing and homologation, but with the change of some management the concept of "packages" was inserted, that is, the demands would only go up to test/homologation in a set of demands/branchs (packages). At first everything was perfect, but with the ideas of the packages after a while began to generate problems.
Ex: We are currently working on TRUNK.12 that was generated from the release of TAG11, and from it we have 3 BRANCHS that are the 3 demands that will be developed. After the branchs have been finalized they are "mergeds" in TRUNK and tested by HOMOL, but sometimes some of these demands (branchs) are not approved and/or canceled, and come back to us.
We ended up with a Trunk with the 3 branchs and we should take 1 or more of them.
What is the best way to deal with this problem? Revert Trunk again to release 11 TAG? This is the best option?
p.s. Sorry if it wasn’t so clear, it was the best way I could explain without adding more company-specific data.
The only problem in this case is that TRUNK necessarily needs to go for homologation, for some unknown reason that no one could explain to me properly is in TRUNK that is made the validations of SONAR, tests and etc... :(
– Shadi
Very good this, pure class and type canonical answer to the question "which the best Xyz to do abc":
Lembre-se, não existe o caminho correto para o versionamento e sim as melhores práticas que funcionem em um determinado caso.
– brasofilo
@Brasofilo, I did not understand his comment and in what it helps to arrive at the solution. With versioning there is no CORRECT. If by chance you took the trouble to read the good practice page have some very interesting phrases like This is a hotly debated Question, and it really depends on the Culture of your software project. or There are Many Ways to lay out your Repository. The answer mentions a way to work versioning using GIT and not SVN. I worked years with SVN and MERGE has always been a birth, which is not the case with GIT.
– Marcos Regis
I was praising this passage that I think is fundamental when it comes to "best practices". You can flag it as "nonconstructive" and a delete moderator without problems...
– brasofilo