We have to bring in bagels and creamcheese for breaking the build. We go so long 
between build breaks these days, that we chip in and just buy treats anyways! :-)

>-----Original Message-----
>From: Todd Pierce [mailto:[EMAIL PROTECTED]]
>Sent: Thursday, February 06, 2003 4:35 PM
>To: 'Struts Users Mailing List'
>Subject: RE: [OT] how do people work in project with one CVS server
>
>
>At our office we made build breaking a beerable offence, 
>payable as a round
>of drinks to the entire development team. Nowadays NOBODY 
>breaks the build.
>
>-----Original Message-----
>From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]]
>Sent: Friday, 7 February 2003 8:56 AM
>To: Struts Users Mailing List
>Subject: RE: [OT] how do people work in project with one CVS server
>
>
>
>
>On Thu, 6 Feb 2003, ROSSEL Olivier wrote:
>
>>
>> Another question i have.
>> How do people using Eclipse or whatever handle the fact that 
>CVS don't
>lock
>> files, ie. allows for multiple simultaneous edit/save ?
>>
>
>You can actually configure CVS to "lock" the files (allowing only one
>person to check a file out for modification at a time), but 
>most CVS shops
>I know would find that hopelessly restrictive.  CVS also has 
>facilities to
>merge changes (if it can) if conflicts occur.
>
>Struts itself, like all Apache software, is stored in a shared CVS
>repository (you can even get anonymous CVS access to it by 
>following the
>instructions at <http://jakarta.apache.org/site/cvsindex.html>).  There
>are many people that have commit access, and we operate with 
>no locking --
>yet there are very very few conflicts.  Even when there are, 
>they tend to
>be pretty easy to resolve.
>
>A couple of "development culture" issues help this to some degree:
>
>* We tend towards many relatively small commits, targeted at a
>  particular change (fix a single bug report, for example),
>  so you tend to touch relatively small numbers of files,
>  and touch the minimum number of lines in each of those
>  files.  (This rule also helps keep the commit log that CVS
>  keeps for you more useful than it would be with, say,
>  all the changes for one day lumped in to one commit.)
>
>* We're often working on different aspects of the same
>  application, so we tend to be working on different
>  files anyway.  (Good factoring of your code into small
>  reusable pieces helps too :-).
>
>* When there are large scale refactorings, and/or we're about
>  to do a release, we talk with each other and pause until the
>  large change is completed.
>
>* We have a basic agreement with ourselves that "thou shall not
>  break the build" -- you need to ensure that the entire package
>  compiles (for Struts, I use "ant clean dist") with your modified
>  code, before you check it in.
>
>* We tend to keep our local copies of the files refreshed (I do
>  "cvs update -dP" while my morning coffee is perking) so that,
>  when we're changing something, we're always starting from the
>  most recent version of the file.
>
>* We use the HEAD branch for the up-to-the-minute development (this
>  is where the nightly builds come from, too), and create a branch
>  for each major release so that you can go back and do maintenance
>  on it.  There are some CVS tools for merging changes from one branch
>  back in to the other, if you find yourself making changes that need
>  to be ported to multiple versions.
>
>Every development team has to work out the "rules of the road" 
>for shared
>resources.  But these are some of the things that have helped us build
>Struts.
>
>Craig
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to