From bbf29b636a214f6c84e63754e5fed98b1fa21966 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Mon, 27 Jun 2016 13:21:03 -0500
Subject: [PATCH] Fix incompatibility between repo subdirs and preview mode

---
 course/content.py | 3 +++
 course/utils.py   | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/course/content.py b/course/content.py
index 931d4568..fbf2c25d 100644
--- a/course/content.py
+++ b/course/content.py
@@ -1252,6 +1252,9 @@ def get_course_commit_sha(course, participation):
         preview_sha = participation.preview_git_commit_sha
 
         repo = get_course_repo(course)
+        if isinstance(repo, SubdirRepoWrapper):
+            repo = repo.repo
+
         try:
             repo[preview_sha.encode()]
         except KeyError:
diff --git a/course/utils.py b/course/utils.py
index 9b3cbf1c..06a8aced 100644
--- a/course/utils.py
+++ b/course/utils.py
@@ -421,6 +421,11 @@ class CoursePageContext(object):
             preview_sha = self.participation.preview_git_commit_sha.encode()
 
             repo = get_course_repo(self.course)
+
+            from course.content import SubdirRepoWrapper
+            if isinstance(repo, SubdirRepoWrapper):
+                repo = repo.repo
+
             try:
                 repo[preview_sha]
             except KeyError:
-- 
GitLab