Hello, Can I ask a best-practices question? I feel that what I'm doing is not enough but I'm not sure what is the Right Thing. I know many folks on this list do development of various kinds.
I do a lot of web work. I have all my material, including dB table generation and stocking, in a versioning system (it happens to be svn). When I am good, I try to write unit tests, functional tests, and system tests. I develop on a setup that is a different computer from but much like the production system. The part that I don't get is how people bring the material out of the svn archive. That is, suppose I get a bug report and I want to get all the materials for version xxx onto my development machine (or to roll back my production machine to version yyy). Is there a standard way to do that, or at least a library of often-used and debugged routines? (I work in Python.) I can't just make a lot of soft links from the svn tree to where I want things to go for a number of reasons. For instance, one is that Apache's suEXEC refuses soft links. Another is that the soft link tree changes over time so I couldn't roll back to prior versions. Still another is that I need to massage some of the files (say, doing a sed to change the permissions's owner on some dB tables). I wrote a program that does the job for me but it is specialized to my projects, obviously. It has a lot of subroutines that copy to a directory all files whose names match a regular expression, for example, and then I call those subroutines lots of times on the exact structure of my tree. That seems suspiciously like I ought to be using a library, where someone has carefully tested the routines (what if one of the files is a soft link that points nowhere? that got me last week). Is there such a thing but I missed it? Alternatively, maybe I'm doing everything all wrong (it has happened before :-) ). I'd appreciate any tips. Thanks, Jim