You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by ROSSEL Olivier <ol...@airbus.com> on 2003/02/06 16:45:16 UTC
RE: [OT] how do people work in project with one CVS server
> > But now we are moving to websphere, and it is not
> > possible to have each one one copy to play with on his
> > machine
>
> Honestly? Now is a good time to point out to your bosses the
> benefits of
> Tomcat for exactly this reason -- cost. Remind them that
> they use to have
> an environment where every developer could code and test
> (don't forget
> test!) independently at no cost to the project, but if you
> want to keep
> productivity up, they would have to shell out for developer
> licenses of
> websphere.
>
> Seriously. This is a problem that affects a huge number of
> development
> groups these days, and it's whats causing lots of people to look at
> Tomcat. If you're writing good J2EE code then you should be able to
> demonstrate that something written on Tomcat ports almost
> invisibly to
> websphere.
>
> If they're not prepared to let every developer have a server,
> be prepared
> to have your productivity crushed as you all step on each
> other's toes on
> a regular basis. There's no reason why you should tolerate
> such a bad
> situation, especially since you *know* how much better it was when
> everybody had their own. Sometimes you can't just go along with
> management, sometimes you have to fight back a little bit.
>
> Duane
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 ?
This e-mail is intended only for the above addressee. It may contain
privileged information. If you are not the addressee you must not copy,
distribute, disclose or use any of the information in it. If you have
received it in error please delete it and immediately notify the sender.
Security Notice: all e-mail, sent to or from this address, may be
accessed by someone other than the recipient, for system management and
security reasons. This access is controlled under Regulation of
Investigatory Powers Act 2000, Lawful Business Practises.
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
Re: [OT] how do people work in project with one CVS server
Posted by "Michael C. Lee Jr." <ml...@hotmail.com>.
Well, kind of. We use CVS here. I was reluctant at first due to the
non-locking mechanism. The new version has a 'reserved edit' which is
basically a locking mechanism. I was using this but gradually started doing
the merges. The merge tool in CVS is EXCELLENT and we have yet to have one
problem. We have 3 highly productive developers and probably over 100,000
lines of code easy. Not one problem. I went from a opponent to a proponent.
The merging tool helps the communication between the team by not needing it!
We use WinCVS which helps this a lot. Files that have changed show up as
red. You can use an external program like VisualDiff or something from
WinCVS to view the differences. You can graph all versions and show diff for
all previous versions.
So in a nutshell it does support 'reserved edit', and that was the way I
used to do it, but the merge is the way to go. We also have a pretty small,
DISCIPLINED, development team so I'm sure that helps a lot.
Michael Lee
----- Original Message -----
From: "James Mitchell" <jm...@apache.org>
To: "Struts Users Mailing List" <st...@jakarta.apache.org>
Sent: Thursday, February 06, 2003 7:51 AM
Subject: Re: [OT] how do people work in project with one CVS server
> Communication
>
>
> --
> James Mitchell
>
>
>
>
>
> ----- Original Message -----
> From: "ROSSEL Olivier" <ol...@airbus.com>
> To: "'Struts Users Mailing List'" <st...@jakarta.apache.org>
> Sent: Thursday, February 06, 2003 10:45 AM
> Subject: RE: [OT] how do people work in project with one CVS server
>
>
> > > > But now we are moving to websphere, and it is not
> > > > possible to have each one one copy to play with on his
> > > > machine
> > >
> > > Honestly? Now is a good time to point out to your bosses the
> > > benefits of
> > > Tomcat for exactly this reason -- cost. Remind them that
> > > they use to have
> > > an environment where every developer could code and test
> > > (don't forget
> > > test!) independently at no cost to the project, but if you
> > > want to keep
> > > productivity up, they would have to shell out for developer
> > > licenses of
> > > websphere.
> > >
> > > Seriously. This is a problem that affects a huge number of
> > > development
> > > groups these days, and it's whats causing lots of people to look at
> > > Tomcat. If you're writing good J2EE code then you should be able to
> > > demonstrate that something written on Tomcat ports almost
> > > invisibly to
> > > websphere.
> > >
> > > If they're not prepared to let every developer have a server,
> > > be prepared
> > > to have your productivity crushed as you all step on each
> > > other's toes on
> > > a regular basis. There's no reason why you should tolerate
> > > such a bad
> > > situation, especially since you *know* how much better it was when
> > > everybody had their own. Sometimes you can't just go along with
> > > management, sometimes you have to fight back a little bit.
> > >
> > > Duane
> >
> > 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 ?
> >
> > This e-mail is intended only for the above addressee. It may contain
> > privileged information. If you are not the addressee you must not copy,
> > distribute, disclose or use any of the information in it. If you have
> > received it in error please delete it and immediately notify the sender.
> > Security Notice: all e-mail, sent to or from this address, may be
> > accessed by someone other than the recipient, for system management and
> > security reasons. This access is controlled under Regulation of
> > Investigatory Powers Act 2000, Lawful Business Practises.
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: struts-user-help@jakarta.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
Re: [OT] how do people work in project with one CVS server
Posted by James Mitchell <jm...@apache.org>.
Communication
--
James Mitchell
----- Original Message -----
From: "ROSSEL Olivier" <ol...@airbus.com>
To: "'Struts Users Mailing List'" <st...@jakarta.apache.org>
Sent: Thursday, February 06, 2003 10:45 AM
Subject: RE: [OT] how do people work in project with one CVS server
> > > But now we are moving to websphere, and it is not
> > > possible to have each one one copy to play with on his
> > > machine
> >
> > Honestly? Now is a good time to point out to your bosses the
> > benefits of
> > Tomcat for exactly this reason -- cost. Remind them that
> > they use to have
> > an environment where every developer could code and test
> > (don't forget
> > test!) independently at no cost to the project, but if you
> > want to keep
> > productivity up, they would have to shell out for developer
> > licenses of
> > websphere.
> >
> > Seriously. This is a problem that affects a huge number of
> > development
> > groups these days, and it's whats causing lots of people to look at
> > Tomcat. If you're writing good J2EE code then you should be able to
> > demonstrate that something written on Tomcat ports almost
> > invisibly to
> > websphere.
> >
> > If they're not prepared to let every developer have a server,
> > be prepared
> > to have your productivity crushed as you all step on each
> > other's toes on
> > a regular basis. There's no reason why you should tolerate
> > such a bad
> > situation, especially since you *know* how much better it was when
> > everybody had their own. Sometimes you can't just go along with
> > management, sometimes you have to fight back a little bit.
> >
> > Duane
>
> 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 ?
>
> This e-mail is intended only for the above addressee. It may contain
> privileged information. If you are not the addressee you must not copy,
> distribute, disclose or use any of the information in it. If you have
> received it in error please delete it and immediately notify the sender.
> Security Notice: all e-mail, sent to or from this address, may be
> accessed by someone other than the recipient, for system management and
> security reasons. This access is controlled under Regulation of
> Investigatory Powers Act 2000, Lawful Business Practises.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
RE: [OT] how do people work in project with one CVS server
Posted by "Craig R. McClanahan" <cr...@apache.org>.
On Fri, 7 Feb 2003, Peter S. Hamlen wrote:
> Date: 07 Feb 2003 11:53:03 -0500
> From: Peter S. Hamlen <ph...@mail.com>
> Reply-To: Struts Users Mailing List <st...@jakarta.apache.org>
> To: Struts Users Mailing List <st...@jakarta.apache.org>
> Subject: RE: [OT] how do people work in project with one CVS server
>
> Just to add two more recommendations to Craig's list:
>
> * Have an automated build process that builds from scratch and
> runs your tests. Run this process at least once a day (cf. the
> nightly build process for Struts and other Jakarta projects.)
> This ensures that if someone does "break the build", it gets
> detected quickly. We run builds hourly.
>
Some large scale projects, especially those that need to run on multiple
architectures, often have build processes that run continuously on
different types of machines -- Mozilla uses their TinderBox for that, for
example. IIRC, SourceForge offers a compile farm for things like this as
well.
> * In our case, we also have a developer "build" account which developers
> can log into and kick off a build. Most of us get in the habit
> of running a build from this account just after we check in. It
> catches all those annoying "oh, forgot to check in a file" and
> other issues that arise because your development machine is
> slightly different than the standard (and then you scramble
> to fix the build before anyone notices and you have to
> buy the beer!)
>
I do something similar to this to create the nightly builds for Struts and
a bunch of the commons packages -- a cron job that checks out the sources
separately from my development directory, and runs the complete build.
I've only had to buy myself a beer once :-).
> -Peter
Craig
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
RE: [OT] how do people work in project with one CVS server
Posted by "Peter S. Hamlen" <ph...@mail.com>.
Just to add two more recommendations to Craig's list:
* Have an automated build process that builds from scratch and
runs your tests. Run this process at least once a day (cf. the
nightly build process for Struts and other Jakarta projects.)
This ensures that if someone does "break the build", it gets
detected quickly. We run builds hourly.
* In our case, we also have a developer "build" account which developers
can log into and kick off a build. Most of us get in the habit
of running a build from this account just after we check in. It
catches all those annoying "oh, forgot to check in a file" and
other issues that arise because your development machine is
slightly different than the standard (and then you scramble
to fix the build before anyone notices and you have to
buy the beer!)
-Peter
On Thu, 2003-02-06 at 16:56, Craig R. McClanahan wrote:
>
>
> 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: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
RE: [OT] how do people work in project with one CVS server
Posted by "Craig R. McClanahan" <cr...@apache.org>.
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: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
RE: [OT] how do people work in project with one CVS server
Posted by Duane Morin <dm...@lear.morinfamily.com>.
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 ?
cvs does have the concept of "watchers" which allows people to be emailed
when the status of a file they are watching changes, which is a good
start. You should also configure cvs so that by default, checked out
files are read only and have to explicitly be switched to "edit" if
someone wants to change them.
We also make heavy use of tagging with the help of our change control
process. An issue # is created, then a developer assigned, then only that
developer is expected to tag files with ISSUE_# tags. There is always a
"DEV_STABLE" tag that all developers check out, then you update for your
particular issues - that way you don't inadvertantly get another
developers code that hasn't been unit tested yet.
Duane
> > This e-mail is intended only for the above addressee. It may contain
> privileged information. If you are not the addressee you must not copy,
> distribute, disclose or use any of the information in it. If you have
> received it in error please delete it and immediately notify the sender.
> Security Notice: all e-mail, sent to or from this address, may be
> accessed by someone other than the recipient, for system management and
> security reasons. This access is controlled under Regulation of
> Investigatory Powers Act 2000, Lawful Business Practises.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org
RE: [OT] how do people work in project with one CVS server
Posted by Mark Galbreath <ma...@qat.com>.
http://ccvs.cvshome.org/fom//cache/120.html
Mark
-----Original Message-----
From: ROSSEL Olivier [mailto:olivier.rossel@airbus.com]
Sent: Thursday, February 06, 2003 10:45 AM
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 ?
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org