From: Amitai Schlair Date: Mon, 28 Jan 2013 03:09:57 +0000 (-0500) Subject: Fix longstanding bug (chdir to nonexistent dirs). X-Git-Tag: 3.20130212~7^2~4 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/b30cacdf8da07f40af03f1b26021d8ec4d8b8b4c?hp=b30cacdf8da07f40af03f1b26021d8ec4d8b8b4c Fix longstanding bug (chdir to nonexistent dirs). In test, set up the post-commit hook for more realism (and bugs!). To make wrappers work in test, set PERL5LIB, and allow the wrappee's path to be overridden. Meta-test that post-commit is really hooked up by verifying that content is getting generated in destdir. About the longstanding bug, which as far as I know was harmless: CVS can't operate outside a srcdir, so we're always setting $CWD. "local $CWD" restores the previous value when we go out of scope. Usually that's correct. But if we're removing the last file from a directory, the post-commit hook will exec in a working directory that's about to not exist (CVS will prune it). The fix: chdir() manually in cvs_runcvs(), so we can selectively not chdir() back. ---