diff --git a/tests/evaluation-tests.pl b/tests/evaluation-tests.pl
index 71673f79..68bf8e40 100644
--- a/tests/evaluation-tests.pl
+++ b/tests/evaluation-tests.pl
@@ -7,7 +7,7 @@ use Setup;
 
 my $db = Hydra::Model::DB->new;
 
-use Test::Simple tests => 72;
+use Test::Simple tests => 76;
 
 hydra_setup($db);
 
@@ -75,6 +75,13 @@ my @scminputs = (
         uri => "$jobsBaseUri/git-repo",
         update => getcwd . "/jobs/git-update.sh"
     },
+    {
+        name => "git-rev",
+        nixexpr => "git-rev-input.nix",
+        type => "git",
+        uri => "$jobsBaseUri/git-repo 7f60df502b96fd54bbfa64dd94b56d936a407701",
+        update => getcwd . "/jobs/git-rev-update.sh"
+    },
     {
         name => "deepgit",
         nixexpr => "deepgit-input.nix",
diff --git a/tests/jobs/git-rev-input.nix b/tests/jobs/git-rev-input.nix
new file mode 100644
index 00000000..4fe49118
--- /dev/null
+++ b/tests/jobs/git-rev-input.nix
@@ -0,0 +1,10 @@
+with import ./config.nix;
+{ src }:
+{
+  copy =
+    mkDerivation {
+      name = "git-rev-input";
+      builder = ./scm-builder.sh;
+      inherit src;
+    };
+}
diff --git a/tests/jobs/git-rev-update.sh b/tests/jobs/git-rev-update.sh
new file mode 100755
index 00000000..6ed34b2b
--- /dev/null
+++ b/tests/jobs/git-rev-update.sh
@@ -0,0 +1,31 @@
+#! /bin/sh
+set -e
+
+repo=git-repo
+export HOME=$(pwd)
+STATE_FILE=$(pwd)/.git-rev-state
+if test -e $STATE_FILE; then
+    state=1
+    rm $STATE_FILE
+else
+    state=0
+    touch $STATE_FILE
+fi
+
+echo "STATE: $state"
+case $state in
+    (0) echo "::Create repo. -- continue -- updated::"
+    git init $repo
+    cd $repo
+    git config --global user.email "you@example.com"
+    git config --global user.name "Your Name"
+
+    touch foo
+    git add foo
+    GIT_AUTHOR_DATE="1970-01-01T00:00:00 +0000" GIT_COMMITTER_DATE="1970-01-01T00:00:00 +0000" git commit -m "Add foo"
+    git tag -a -m "First Tag." tag0
+    ;;
+    (*) echo "::End. -- stop -- nothing::"
+    rm -rf $repo
+    ;;
+esac