From ac616c07de95b8e91ec2a3ac321d1802856f55c6 Mon Sep 17 00:00:00 2001
From: Unknwon <u@gogs.io>
Date: Thu, 20 Aug 2015 15:57:51 +0800
Subject: fix #966

---
 modules/git/tree.go | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'modules')

diff --git a/modules/git/tree.go b/modules/git/tree.go
index be77bfce02..27539f06b2 100644
--- a/modules/git/tree.go
+++ b/modules/git/tree.go
@@ -71,6 +71,13 @@ func parseTreeData(tree *Tree, data []byte) ([]*TreeEntry, error) {
 
 		step = bytes.IndexByte(data[pos:], '\n')
 		entry.name = string(data[pos : pos+step])
+
+		// In case entry name is surrounded by double quotes(it happens only in git-shell).
+		if entry.name[0] == '"' {
+			entry.name = string(data[pos+1 : pos+step-1])
+			entry.name = strings.Replace(entry.name, `\"`, `"`, -1)
+		}
+
 		pos += step + 1
 		entries = append(entries, entry)
 	}
-- 
cgit v1.2.3