[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

Re: [MacPerl] Perl 5.1.5r4 bug



"Mark F. Murphy" <markm@powerperl.com> writes:
>At 11:39 PM +0100 11/12/97, Matthias Ulrich Neeracher wrote:
>>"Brian L. Matthews" <blm@halcyon.com> writes:
>>>A minor problem with perl5.1.5r4. In lib:IO:File.pm, on line 159 we find:
>>>
>>>eval ($^O eq 'MacOS') ? <<'END_MAC' : <<'END_NOMAC';
>>
>>Argh! I had fixed that one already, but only in the lib folder, and promptly
>>overwrote it again on the next install.
>
>Sounds like you're in bad need of some version control software.

As second guessing my software development process seems to have become popular
lately (and not entirely undeservedly so, given my recent release track
record), I'll probably have to comment a bit on what setup I am using:

 - The MacPerl source code is maintained with a homegrown port of CVS, with the
   repository on an UNIX server accessed over a PPP link. This has the
   additional advantage that should my apartment ever burn down, you don't have
   to dig for backup media among my charred remains but simply can start from
   the CVS repository.

   My CVS port has the one disadvantage of trashing the resource fork of every
   file it handles, so the XCMD woes were *caused* by version control.

   I also run weekly incremental backups of my data.

 - Releases are created by calls to ExtUtils::Manifest, which copies the
   selected files to a separate directory. The problem here are that
   sometimes I miss files that should have been included (with 3500 files
   in a perl build directory, this is never going to become a trivial problem).

 - Then, I build the installer with Installer VISE, which works fine, except
   that in the first 515 build, it omitted the fixed XCMD libraries, as they
   had older timestamps than the broken libraries in 514.

 - Extensions are build in their own folders and then install their .pm files
   into the "lib" folder. Because bugs are usually reported on the copy of the
   file in the "lib" folder, I occasionally fix the wrong copy of the file,
   which is what happened. The remedy is probably to lock files copied from
   extension folders into the lib folder.

So overall, while my version control process obviously is not perfect, I
believe that it's reasonable for a hobbyist system, and that the remaining
weaknesses are mainly due to inadequate testing (I'll accept applications from
people who want to set up a formal testing program :-) and not so much to
deficiencies in the development phase.

Matthias

-----
Matthias Neeracher   <neeri@iis.ee.ethz.ch>   http://www.iis.ee.ethz.ch/~neeri
  "Between the end-user requirements and the target environment, the s/w 
   design engineer has perfect freedom to determine the system: he could
   specify gerbils with abacuses if they're willing to live inside the 
   box without chewing on the power leads." -- Ned Ulbricht



***** Want to unsubscribe from this list?
***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch