From: dave davidson Date: 2005-08-04T02:45:43+09:00 Subject: Comparing directory contents Hi all, I work in the SCM dept of a Windows software shop. A typical software build involves us getting the code from an engineer, compiling the binaries, gathering any support files, and then wrapping it in an installer (Installshield). We run the installer to make sure everything looks ok. As quick-and-dirty sanity check to make sure we got everything, we go into the install folder, do a 'dir /s', and pipe the output to a text file. If the file list in the current build matches the file list of the previous, we give it the ok. These lists are saved on disk, printed and filed with the build paperwork so we can refer to them again if necessary. This method works surprisingly well for catching files that were mistakenly excluded, but as you can imagine it gets very tedious and error-prone since we have to hand-check the output. Additionally, many times we are asked by the engineer to include additional support files, or remove existing ones. I'm thinking there must be a better way, or better yet, a Ruby Way :) I am relatively new to the language, so I don't really know which angle to attack it from. The basic gist would be to read in the previous file list output, strip any junk (extra spaces, line breaks, etc), and do the same for the current, so what's left is two lists of just pure filenames (don't care about timestamps or attributes right now). The script would process the lists and the result would be something like "Indentical" or "Extra files: [filenames]" or "Removed files: [filenames]". I'm wondering if something like this already exists. A search of rubyforge and RAA, however, did not turn up anything this specific, although I really wasn't sure what I should be looking for. If I could be pointed to a base library that would get me going, that would be great. Any insights on implementation would also be greatly apprecited. Thanks!