Effective use of SVN w/TAC: Using "Branches" as Tags
Mike_West made one suggestion about using SVN branches in: http://www.talendforge.org/forum/viewtopic.php?id=33871. I don't know if that will buy our team much. I'd appreciate any thoughts on the following conclusions a coworker and I arrived at. Also if anyone agrees with me that this is an opportunity for Talend to take the lead and provide some guidance, feel free to chime in. I think they could turn a wart into a sales point with built in SVN - as far as I can tell that "add a version number" thing is a huge mistake they should guide people away from. But it's hard to know if they see something I don't, because there's no guidance about how or when to use it. Here's what I'm thinking: We can use "Branch" feature in TAC as what SVN usually calls "Tagging." We will create a branch with a meaningful name when a feature is implemented and tested. No one will ever develop on any branch other than trunk. We expect that in TAC we will always be able to generate a job in a certain branch where it was known to be good. For example, say we have a job called "Dynamic Claim" and a job called "Claim Move." Both reference a routine called "Currency." on Jan 5, we determine everything is stable and deployable with DynamicClaims. In TAC/Settings/Projects/Branch management, we create a branch OFF TRUNK called Dynamic_20140105_base. In Job Conductor, we generate the job as "Latest" on that branch. we also determine everything is fine with ClaimMove and create a branch OFF TRUNK called ClaimMove_20140105_base. On jan 6, in trunk, we edit the "Curr" routine code. It is a bad edit, it won't compile. Both jobs in trunk are broken. Later On jan 6, I accidentally hit "Generate" on DynamicClaim. Since DynamicClaim is set to "Latest" on Branch "Dyanamic20140105_base, everything is fine, it will compile okay with the non-broken version of the routine "Curr". Then I really screw up and delete DynamicClaim completely in TAC Job Conductor. The jobs on trunk still won't compile. But it's still not a problem: in Job Conductor, we add the DynamicClaim job. We set it to "Latest" in branch Dynamic_201405_base, and everything is okay, it will generate with the correct code. On jan 7 we fix Curr routine in trunk, and that enables an improved version of ClaimMove to be to be run from TAC. We make improvements to ClaimMove in trunk. We create a branch called ClaimMove_2040107_roundingFlagForCORClaims. Something goes wrong and we delete both jobs from job conductor in TAC. It is no problem, we just look at the SVN logs and find out what the latest branches were and generate the code using "Latest" in the appropriate branch.
Re: Effective use of SVN w/TAC: Using "Branches" as Tags
hello, i had a similar conversation with a colleague (hence i have found this post) we are doing development of a project in parallel and we sit next to each other - which helps but it seems that you will have to have your developers orchestrating their efforts. so Developer A changes job001, while Developer B edits job002; both of these jobs would be in the same branch while different branches of a project would be perceived as different stages of the *whole* solution (aka: DEV, TEST, PROD); and/or used as a developer's personal sandbox i am looking on ways that we can employ a better working methodology with TAC and SVN - but it does not seem to be that straight-forward SVN is good to keep track of the commits but it is not something that is really improving productivity.