Colin Law wrote:

> An alternative strategy that has worked for us is to do the mods for the 
> Rails upgrade on a branch.  Merging in changes from the current 
> master/trunk is then the equivalent of your integrate phase as it picks 
> up mods done by other team members on the master.  Only rarely does a 
> test fail after the integrate as it requires that a change on the master 
> is not compatible with the new Rails.  The final release phase is then 
> only the changes required by the upgrade and so is not a huge change, 
> and it has been well tested along the way.

Thanks for reminding me we did that with our most important (and hoariest) app. 
While one branch added features, we would merge them over into the upgrading 
branch, and we would merge successful tweaks back.

However the upgrading branch also practiced continuous integration, mostly with 
passing tests. We put return # TODO on a handful of them - the ones we knew we 
could easily fix after crossing the threshold of integrating as Rails 2.

> I would take some issue with your comment earlier that you should only 
> commit when tests pass fully.  We use git where each user has a local 
> repository, and there is a master repository which always contains fully 
> tested code. 

I'm sure that setup could be used for good as well as evil.

 > Each developer runs a local branch on his repository and
> is encouraged to commit often.  When he has completed a change and all 
> tests run (typically two or three days work) then he picks up the latest 
> mods from the master repository, retests and pushes his work to the 
> master.  He then starts a new local branch for the next phase.
> 
> I am not suggesting that this is a 'better' way of working, but it works 
> well for us.

"two or three days work" gives me pause. However, git's merging system could to 
work very close to the Agile ideal of integrating each refactoring step, as an 
atomic unit...

-- 
   Phlip


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to