", "", $prevIndexData); $prevIndexData = unserialize($prevIndexData); // Set timestamp back to epoch to force a re-index next time $prevIndexData['timestamps']['indexed'] = 0; file_put_contents(dirname(__FILE__)."/../data/index.php", ""); } } } // Run continuously while(true) { // Get git diff output as a string and MD5 it as a checksum $thisMD5 = shell_exec("cd .. && git diff | md5sum"); // If we have a previous checksum value and the current is different to it if (isset($prevMD5) && $thisMD5 !== $prevMD5) { echo "Changed ".date("Y-m-d g:i:s a (U)")."\n"; // Set timestamp of last index to 0 to force a re-index next time we index requireReIndexNextTime(); // Get a list of all that's changed, into an array (filtered to remove false entries) $gitData = shell_exec("cd .. && { git diff --name-only --staged ; git ls-files --other --modified --exclude-standard ;} | sort | uniq"); $diffLines = explode("\n", $gitData); $output = ["paths" => array_filter($diffLines)]; // Store the serialized array in PHP comment block for pick up file_put_contents(dirname(__FILE__)."/../data/git-diff.php", ""); } // Set prev MD5 to this one, ready for next time, sleep for 2 secs before loop starts again $prevMD5 = $thisMD5; sleep(2); } ?>