From 92108431f0c3df3e99b5aa7f462006ec3fa7777e Mon Sep 17 00:00:00 2001
From: Erez Rokah <erezrokah@users.noreply.github.com>
Date: Wed, 15 Jan 2020 18:23:42 +0200
Subject: [PATCH] fix: don't fail on malformed pointer files (#3095)

---
 .../netlify-cms-backend-git-gateway/src/implementation.ts    | 5 ++++-
 .../src/netlify-lfs-client.ts                                | 2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/packages/netlify-cms-backend-git-gateway/src/implementation.ts b/packages/netlify-cms-backend-git-gateway/src/implementation.ts
index 0ff1573a..472f33b2 100644
--- a/packages/netlify-cms-backend-git-gateway/src/implementation.ts
+++ b/packages/netlify-cms-backend-git-gateway/src/implementation.ts
@@ -389,8 +389,11 @@ export default class GitGateway implements Implementation {
 
     return filesPromise
       .then(items =>
-        items.map(({ file: { id }, data }) => {
+        items.map(({ file: { id, path }, data }) => {
           const parsedPointerFile = parsePointerFile(data);
+          if (!parsedPointerFile.sha) {
+            console.warn(`Failed parsing pointer file ${path}`);
+          }
           return [
             {
               pointerId: id,
diff --git a/packages/netlify-cms-backend-git-gateway/src/netlify-lfs-client.ts b/packages/netlify-cms-backend-git-gateway/src/netlify-lfs-client.ts
index 551f0ae7..673af462 100644
--- a/packages/netlify-cms-backend-git-gateway/src/netlify-lfs-client.ts
+++ b/packages/netlify-cms-backend-git-gateway/src/netlify-lfs-client.ts
@@ -16,7 +16,7 @@ export const parsePointerFile: (data: string) => PointerFile = flow([
   fromPairs,
   ({ size, oid, ...rest }) => ({
     size: parseInt(size),
-    sha: oid.split(':')[1],
+    sha: oid?.split(':')[1],
     ...rest,
   }),
 ]);