MTrack/SCM/Git/WorkingCopy.php
[web.mtrack] / MTrack / SCM / Git / WorkingCopy.php
index 6b8368a..b2d671b 100644 (file)
@@ -17,7 +17,8 @@
  */
 require_once 'MTrack/SCM/WorkingCopy.php';
 
-class MTrack_SCM_Git_WorkingCopy extends MTrackSCMWorkingCopy
+class MTrack_SCM_Git_WorkingCopy extends MTrack_SCM_WorkingCopy
 {
     private $repo;
     public $push = false; /// 
@@ -54,24 +55,35 @@ class MTrack_SCM_Git_WorkingCopy extends MTrackSCMWorkingCopy
     {
          $this->git('rm', '-f', $path);
     }
+    /**
+     * @param {StdClass} $CS
+     *   ->when (optional)
+     *   ->reason (optional)???
+     *   ->name (required)
+     *   ->email (required)
+     */
   
-    function commit(MTrackChangeset $CS)
+    function commit( $CS)
     {
+         
         if ($CS->when) {
-          $d = strtotime($CS->when);
-          putenv("GIT_AUTHOR_DATE=$d -0000");
+            $d = strtotime($CS->when);
+            putenv("GIT_AUTHOR_DATE=$d -0000");
         } else {
-          putenv("GIT_AUTHOR_DATE=");
+            putenv("GIT_AUTHOR_DATE=");
         }
+        
         $reason = trim($CS->reason);
         if (!strlen($reason)) {
-          $reason = 'Changed';
+            $reason = 'Changed';
         }
-        putenv("GIT_AUTHOR_NAME=$CS->who");
-        putenv("GIT_AUTHOR_EMAIL=$CS->who");
-        stream_get_contents($this->git('commit', '-a',
-          '-m', $reason
-          )
+        print_R($CS);exit;
+        echo implode(" ", array('commit', '-a', '-m', $reason ,
+                       '--author="' . $CS->name . ' <'. $CS->email . '>"' ));exit;
+         exit;
+        return stream_get_contents(
+            $this->git('commit', '-a', '-m', $reason ,
+                       '--author="' . $CS->name . ' <'. $CS->email . '>"' )
         );
     }
   
@@ -82,7 +94,7 @@ class MTrack_SCM_Git_WorkingCopy extends MTrackSCMWorkingCopy
         foreach ($args as $arg) {
           $a[] = $arg;
         }
-        print_r($a);
+         print_r($a);
         return MTrackSCM::run('git', 'read', $a);
     }
 }