Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!think!samsung!cs.utexas.edu!tut.cis.ohio-state.edu!purdue!bu.edu!bu-cs!dartvax!eleazar.dartmouth.edu!ari From: ari@eleazar.dartmouth.edu (Ari Halberstadt) Newsgroups: comp.sys.mac.programmer Subject: Project management in THINK C (as in UNIX RCS or MPW Projector) Summary: Inquiry into ways to manage a medium sized program Message-ID: <19034@dartvax.Dartmouth.EDU> Date: 2 Feb 90 05:44:29 GMT Sender: news@dartvax.Dartmouth.EDU Organization: Dartmouth College, Hanover, NH Lines: 57 The problem: I have a program with around 14K lines split into a total of 77 files (.c and .h files). In addition, there are MS Word documentation files. My problem is that of tackling a program which is continuously evolving to meet the new specifications of my employer. Currently I simply discard previous versions of the program, since keeping track of the state of all the files becomes unmanageable with such a project. For the most part, I'm the only person currently working on the project, but would like the program to be understood by others (including people who will never get to speak with me in person). I'm using THINK C since it offers several important advantages over MPW. Specifically, it's an "easier" environment to use on a minute by minute basis (especially its debugger). Beyond its ease of use it offers several indispensable features such as referencing off of A4 for globals and special code segments for an XCMD (yes, my program is an XCMD, and don't laugh, it wasn't my idea...). Attempted sollution: I've tried implementing an automatic system using MPW's Projector. By writing a few scripts, I can have MPW check out all the files in the project at the start of a revision and then check in only those that I've modified (those not modified need not be checked in). However, this method suffers from several draw backs. First, MPW is a fairly large program, and running it along with THINK C and Hypercard tends to eliminate memory for other vital programs (including what I'm trying to develop). Second, there is no simple way to automate file retrieval (which is why I check out all the files at once). For instance, if I modify a header file in THINK C, THINK C needs to recompile a file, there is no way for it to automatically check out the file from Projector. Running 'make' in MPW is a problem, since I would essentially have to maintain an accurate duplicate of THINK C's project information and inter-file relationships, besides having to write quite a few scripts to manage everything (let alone remember to go into MPW each time...). Most other problems are related to integrating two fundamentally different programs on the Macintosh. There's also the problem of using MPW's projector with MS Word documents, since MPW docs state that MS Word deletes the 'ckid' resources. Finally, if I understand correctly, Projector isn't as smart as UNIX RCS: it keeps a complete copy of each version, rather than only the differences in the files (which means that disk space can disappear very rapidly). Final statement of request: Perhaps someone out there has attempted (and succeeded?) in solving the above stated problems. I'm sure others have come across it. Maybe the authors of THINK C have some suggestions (hey, you guys reading this?). There may also be some good project management software for the Mac. Anyways, any useful suggestions will be greatly appreciated! P.S. If there's enough interest (read: if people bug me enough) I'll summarize eventually. -- Ari Halberstadt '91 "May the force be with you" ari@eleazar.dartmouth.edu Disclaimer: "Live Free or Die"