Merge "Fix prune when bare git has detached head"
diff --git a/project.py b/project.py
index 5058088..d54e336 100644
--- a/project.py
+++ b/project.py
@@ -1583,8 +1583,6 @@
 
     if kill:
       old = self.bare_git.GetHead()
-      if old is None:
-        old = 'refs/heads/please_never_use_this_as_a_branch_name'
 
       try:
         self.bare_git.DetachHead(rev)
@@ -1596,7 +1594,10 @@
                        capture_stderr=True)
         b.Wait()
       finally:
-        self.bare_git.SetHead(old)
+        if ID_RE.match(old):
+          self.bare_git.DetachHead(old)
+        else:
+          self.bare_git.SetHead(old)
         left = self._allrefs
 
       for branch in kill: