3 abstract class MTrack_SCM_WorkingCopy {
6 /** returns the root dir of the working copy */
11 /** add a file to the working copy */
12 abstract function addFile($path);
13 /** removes a file from the working copy */
14 abstract function delFile($path);
15 /** commit changes that are pending in the working copy */
16 abstract function commit($CS);
17 /** get an MTrackSCMFile representation of a file */
18 abstract function getFile($path);
20 /** enumerates files in a path in the working copy */
21 function enumFiles($path)
23 return scandir($this->dir . DIRECTORY_SEPARATOR . $path);
26 /** determines if a file exists in the working copy */
27 function file_exists($path)
29 return file_exists($this->dir . DIRECTORY_SEPARATOR . $path);
34 if (strlen($this->dir) > 1) {
35 $this->rmdir($this->dir);
37 //System::rm('-r', $this->dir);
41 function rmdir($dir) {
42 require_once 'System.php';
43 $rm = System::which('rm');
44 $cmd = "$rm -rf " . escapeshellarg($dir);
50 function generateTempDir()
53 /*$tn = '/var/lib/php5/mtrackworkingdirlEwD96a';
54 if (file_exists($tn)) {
58 if (file_exists($tn)) {
63 $tn = tempnam(ini_get('session.save_path'),'mtrackworkingdir');