🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.next.programmer
Article #439

NeXTSTEP project management

#439
From: Art Isbell
Date: Tue, 04 Aug 1992 16:56
42 lines
3149 bytes

NeXTSTEP app architecture is getting quite complex under 3.0.  No longer is
an app development confined to a single directory even in the simplest case.
So implementing version control has become more difficult.

However, CVS (Concurrent Versions System) seems up to the task, especially
version 1.3.  However, ProjectBuilder and InterfaceBuilder don't work with CVS
very well.  CVS maintains a directory containing a couple of small housekeeping
files in each directory under CVS control, which can include nib directories
(under 3.0, nibs are directories instead of files) since CVS uses a new version
of diff that can produce diffs of binary files.  This means that previous
versions of nibs can be maintained and retrieved, a real nice feature.
However, during the app build process, ProjectBuilder copies everything in the
nib directories including the CVS directories into the app itself where it's
really not needed (3.0 doesn't put nibs into Mach-O nib sections but maintains
them as directories within the *.app, *.debug, or *.profile directory).  This
doesn't seem to hurt the app other than making it somewhat bigger than
necessary.  I've added a make target in Makefile.postamble that strips these
CVS directories from the executable when "make install" is run, so that problem
is somewhat solvable.

However, when IB saves modified nibs, the CVS directories are lost.  So
subsequent checkin's to CVS fail to checkin changed nibs.  This is more
difficult to deal with.  I've written a couple of make targets that deal with
this problem, but one must be run before any nibs are saved and the other,
after the last save just prior to the CVS checkin, so it's not foolproof.  I
could hack the CVS source code probably, but the more appropriate fix might be
for NeXT to make its tools like ProjectBuilder and InterfaceBuilder cooperate
with CVS, unless other project management tools exist that already work.

Which brings up the question about what project management tools are available
for NeXTSTEP?  NeXT must use something internally, but what?  Are commercial
solutions available?  What does the development community use?  CVS is free and
quite good, it seems, but it has problems working within the 3.0 development
environment, so I'd like to hear suggestions.
-- 

Art Isbell                                                      Cubic Solutions
NeXT Registered Developer #745         NeXT software development and consulting
Email: isbell@cats.UCSC.EDU                                Voice: (408)335-1154
USmail: 95018-9442                                           Fax: (408)335-2515
Technical Details
Message-ID: <15mcs2INNj31@darkstar.UCSC.EDU>
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!agate!darkstar.UCSC.EDU!cats.ucsc.edu!isbell

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!agate!darkstar.UCSC.EDU!cats.ucsc.edu!isbell
From: isbell@cats.ucsc.edu (Art Isbell)
Newsgroups: comp.sys.next.programmer
Subject: NeXTSTEP project management
Date: 4 Aug 1992 16:56:34 GMT
Organization: Cubic Solutions - NeXT software development and consulting
Lines: 42
Distribution: world
Message-ID: <15mcs2INNj31@darkstar.UCSC.EDU>
NNTP-Posting-Host: am.ucsc.edu
Summary: Problems with CVS.  What do NeXT and the developer community use?
Keywords: CVS