diff --git 1038830-git_2.patch 1038830-git_2.patch
new file mode 100644
index 0000000..6a0fc84
--- /dev/null
+++ 1038830-git_2.patch
@@ -0,0 +1,107 @@
+Index: review/drupal/pifr_drupal.client.inc
+===================================================================
+RCS file: /cvs/drupal-contrib/contributions/modules/project_issue_file_review/review/drupal/pifr_drupal.client.inc,v
+retrieving revision 1.9
+diff -u -p -r1.9 pifr_drupal.client.inc
+--- review/drupal/pifr_drupal.client.inc        27 Jan 2010 02:11:33 -0000      1.9
++++ review/drupal/pifr_drupal.client.inc        4 Feb 2011 21:33:34 -0000
+@@ -16,7 +16,7 @@ class pifr_client_review_pifr_drupal ext
+   /**
+    * Default Drupal core repository URL.
+    */
+-  protected $core_url = ':pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal/drupal';
++  protected $core_url = 'git://git.drupal.org/project/drupal.git';
+ 
+   /**
+    * Location of default sites module directory.
+@@ -71,7 +71,7 @@ class pifr_client_review_pifr_drupal ext
+ 
+     // Add SimpleTest as dependencies, unless it has already been added.
+     if ($this->test['review']['argument']['core'] == 6) {
+-      $simpletest_url = ':pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib/contributions/modules/simpletest';
++      $simpletest_url = 'git://git.drupal.org/project/simpletest.git';
+       $found = FALSE;
+       foreach ($this->test['vcs']['dependencies'] as $key => $dependency) {
+         if ($dependency['repository']['url'] == $simpletest_url) {
+@@ -85,10 +85,10 @@ class pifr_client_review_pifr_drupal ext
+         // out from contrib.
+         $this->test['vcs']['dependencies'][] = array(
+           'repository' => array(
+-            'type' => 'cvs',
++            'type' => 'git',
+             'url' => $simpletest_url,
+           ),
+-          'vcs_identifier' => 'DRUPAL-6--2',
++          'vcs_identifier' => '6.x-2.x',
+         );
+       }
+     }
+Index: review/drupal/pifr_drupal.server.inc
+===================================================================
+RCS file: /cvs/drupal-contrib/contributions/modules/project_issue_file_review/review/drupal/pifr_drupal.server.inc,v
+retrieving revision 1.5
+diff -u -p -r1.5 pifr_drupal.server.inc
+--- review/drupal/pifr_drupal.server.inc        19 Dec 2009 00:00:22 -0000      1.5
++++ review/drupal/pifr_drupal.server.inc        4 Feb 2011 21:33:34 -0000
+@@ -44,10 +44,10 @@ abstract class pifr_server_review_pifr_d
+ 
+     $this->confirmation_default['vcs']['main'] = array(
+       'repository' => array(
+-        'type' => 'cvs',
+-        'url' => ':pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal/drupal',
++        'type' => 'git',
++        'url' => 'git://git.drupal.org/project/drupal.git',
+       ),
+-      'vcs_identifier' => 'HEAD',
++      'vcs_identifier' => '7.0',
+     );
+   }
+ }
+Index: client/review/vcs/git.inc
+===================================================================
+-- /dev/null   2011-02-04 13:06:54.467000002 -0600
++++ client/review/vcs/git.inc   2011-02-04 15:33:45.277000012 -0600
+@@ -0,0 +1,43 @@
++<?php
++// $Id: git.inc,v 1.5 2010/11/16 20:23:07 boombatower Exp $
++
++/**
++ * @file
++ * Git implementation of review interface.
++ *
++ * @author Jimmy Berry ("boombatower", http://drupal.org/user/214218)
++ */
++
++/**
++ * Git implementation of VCS interface.
++ */
++class PIFRClientReviewVCS_git implements PIFRClientReviewVCS {
++
++  public function checkout($directory, $url, $branch) {
++    $url = escapeshellarg($url);
++    $branch = escapeshellarg($branch);
++    $directory = escapeshellarg($directory ? $directory : '.');
++    return pifr_client_review::exec("git clone --depth 1 -b $branch $url $directory");
++  }
++  
++  public function apply($patch) {
++    return pifr_client_review::exec("patch -p0 -i $patch");
++  }
++
++  public function get_changed_files($patch) {
++    $contents = file_get_contents($patch);
++    preg_match_all('/^[\+-]{3}\s+(.*?)\s/m', $contents, $matches, PREG_SET_ORDER);
++
++    $files = array();
++    foreach ($matches as $match) {
++      if ($match[1] != '/dev/null') {
++        $files[] = $match[1];
++      }
++    }
++    return array_unique($files);
++  }
++
++  public function get_display($url, $branch) {
++    return $url . ' (' . $branch . ')';
++  }
++}
\ No newline at end of file
diff --git client/review/vcs/git.inc client/review/vcs/git.inc
new file mode 100644
index 0000000..155afcc
--- /dev/null
+++ client/review/vcs/git.inc
@@ -0,0 +1,44 @@
+<?php
+// $Id: git.inc,v 1.5 2010/11/16 20:23:07 boombatower Exp $
+
+/**
+ * @file
+ * Git implementation of review interface.
+ *
+ * @author Jimmy Berry ("boombatower", http://drupal.org/user/214218)
+ */
+
+/**
+ * Git implementation of VCS interface.
+ */
+class PIFRClientReviewVCS_git implements PIFRClientReviewVCS {
+
+  public function checkout($directory, $url, $branch) {
+    $url = escapeshellarg($url);
+    $branch = escapeshellarg($branch);
+    $directory = escapeshellarg($directory ? $directory : '.');
+    return pifr_client_review::exec("git clone --depth 1 -b $branch $url $directory");
+  }
+  
+  public function apply($patch) {
+    return pifr_client_review::exec("patch -p0 -i $patch");
+  }
+
+  public function get_changed_files($patch) {
+    $contents = file_get_contents($patch);
+    preg_match_all('/^[\+-]{3}\s+(.*?)\s/m', $contents, $matches, PREG_SET_ORDER);
+
+    $files = array();
+    foreach ($matches as $match) {
+      if ($match[1] != '/dev/null') {
+        $files[] = $match[1];
+      }
+    }
+    return array_unique($files);
+  }
+
+  public function get_display($url, $branch) {
+    return $url . ' (' . $branch . ')';
+  }
+}
+
diff --git review/drupal/pifr_drupal.client.inc review/drupal/pifr_drupal.client.inc
index 5a38e03..09aa984 100644
--- review/drupal/pifr_drupal.client.inc
+++ review/drupal/pifr_drupal.client.inc
@@ -16,7 +16,7 @@ class pifr_client_review_pifr_drupal extends pifr_client_review {
   /**
    * Default Drupal core repository URL.
    */
-  protected $core_url = ':pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal/drupal';
+  protected $core_url = 'git://git.drupal.org/project/drupal.git';
 
   /**
    * Location of default sites module directory.
@@ -71,7 +71,7 @@ class pifr_client_review_pifr_drupal extends pifr_client_review {
 
     // Add SimpleTest as dependencies, unless it has already been added.
     if ($this->test['review']['argument']['core'] == 6) {
-      $simpletest_url = ':pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib/contributions/modules/simpletest';
+      $simpletest_url = 'git://git.drupal.org/project/simpletest.git';
       $found = FALSE;
       foreach ($this->test['vcs']['dependencies'] as $key => $dependency) {
         if ($dependency['repository']['url'] == $simpletest_url) {
@@ -85,10 +85,10 @@ class pifr_client_review_pifr_drupal extends pifr_client_review {
         // out from contrib.
         $this->test['vcs']['dependencies'][] = array(
           'repository' => array(
-            'type' => 'cvs',
+            'type' => 'git',
             'url' => $simpletest_url,
           ),
-          'vcs_identifier' => 'DRUPAL-6--2',
+          'vcs_identifier' => '6.x-2.x',
         );
       }
     }
diff --git review/drupal/pifr_drupal.server.inc review/drupal/pifr_drupal.server.inc
index a694e52..ab49530 100644
--- review/drupal/pifr_drupal.server.inc
+++ review/drupal/pifr_drupal.server.inc
@@ -44,10 +44,10 @@ abstract class pifr_server_review_pifr_drupal extends pifr_server_review_pifr_as
 
     $this->confirmation_default['vcs']['main'] = array(
       'repository' => array(
-        'type' => 'cvs',
-        'url' => ':pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal/drupal',
+        'type' => 'git',
+        'url' => 'git://git.drupal.org/project/drupal.git',
       ),
-      'vcs_identifier' => 'HEAD',
+      'vcs_identifier' => '7.0',
     );
   }
 }
