> Can anyone give me a rundown on the best current practice for
> multi-developer environments?
Our rule here is that all code in VSS (or other systems) should compile. If
it doesn't, fixing it is first priority. This way there's always a buildable
product in the version control system at ANY given point in time.
The concept is that in the morning (when it's morning wherever you are) you
get all the files you don't have checked out. If you check out files, you
must check them back in when they're done - don't leave a file checked out
if you're not working on it.
Delphi wise- we use multiple datamodules, more like a module wise separation
so that we can have parallel development. We even use this with MIDAS and
have developed components/classes to handle registration of other
datamodules on a server.
We also maintain different frames or embedded forms when two developers need
to work on the same big form with different tabs for instance.
We don't allow multiple checkouts of a file, since it avoids merging issues.
But if necessary merging is done (very limited cases).
All checkins need to have a comment. Our VSS has a "mirror" folder (in
version 6) which automatically copies all checked in files to a certain
directory on the server, which is used to build the project for testing
purposes. We also try to maintain an installable (we use Inno Setup or
Installshield) right from the beginning so that we're constantly upgrading
instead of building one module at a time.
We have to maintain constant communication ("check in that file dammit") -
for this we're currently using ICQ and/or other such software. But we're
considering groove (www.groove.net) or writing our own tool from
intra-project communication.
> Also I am interested to hear your views of versioning software with
Delphi -
> SourceSafe is definitely not perfect.
You could use Starteam. This is expensive but pretty cool, since it has an
option to "list files you need to get from the server" which can include
files in all subfolders of a project. In the long run it works great,
because when you come in you take a look at files arranged by status and
"get" all the files you see marked "out of date".
FreeVCS also works well, except it mandates that all developers need to use
the SAME DIRECTORY STRUCTURE for a project, including the location on disk -
if you have a project at c:\work\NVST\nvst.dpr all developers need to have
the same location in their hard drives. We've solved this (temporarily) by
using SUBST to transfer all locations to X: or Z: but that's not feasible
beyond a certain number of projects.
The good thing with freevcs and Starteam is that they have a facility to
track bugs, keep milestones and even have newsgroup style discussions.
Hope this helps,
Deepak Shenoy
Agni Software
http://www.agnisoft.com
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of "unsubscribe delphi"