fix 1872.

java.io.File#getParent returns path with "\" instead of "/".
so don't use this method.
This commit is contained in:
KOUNOIKE Yuusuke
2018-02-01 02:41:43 +09:00
parent 952c916e33
commit 17d682f83b

View File

@@ -145,12 +145,13 @@ trait ApiControllerBase extends ControllerBase {
*/
get("/api/v3/repos/:owner/:repo/contents/*")(referrersOnly { repository =>
def getFileInfo(git: Git, revision: String, pathStr: String): Option[FileInfo] = {
val path = new java.io.File(pathStr)
val dirName = path.getParent match {
case null => "."
case s => s
val (dirName, fileName) = pathStr.lastIndexOf('/') match {
case -1 =>
(".", pathStr)
case n =>
(pathStr.take(n), pathStr.drop(n + 1))
}
getFileList(git, revision, dirName).find(f => f.name.equals(path.getName))
getFileList(git, revision, dirName).find(f => f.name.equals(fileName))
}
val path = multiParams("splat").head match {