From 496c2d053914ce7fbad9e09ab2080fa8fbc8334d Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Wed, 8 Sep 2021 15:32:40 +0200
Subject: [PATCH] fix(git): add directories (#11643)

---
 lib/util/git/index.ts | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/lib/util/git/index.ts b/lib/util/git/index.ts
index 4bbe056ea7..7a674036c6 100644
--- a/lib/util/git/index.ts
+++ b/lib/util/git/index.ts
@@ -740,18 +740,20 @@ export async function commitFiles({
           logger.trace({ err, fileName }, 'Cannot delete file');
           ignoredFiles.push(fileName);
         }
-      } else if (await isDirectory(join(localDir, fileName))) {
-        logger.warn({ fileName }, 'Skipping directory commit');
-        ignoredFiles.push(fileName);
       } else {
-        let contents: Buffer;
-        // istanbul ignore else
-        if (typeof file.contents === 'string') {
-          contents = Buffer.from(file.contents);
+        if (await isDirectory(join(localDir, fileName))) {
+          // This is usually a git submodule update
+          logger.trace({ fileName }, 'Adding directory commit');
         } else {
-          contents = file.contents;
+          let contents: Buffer;
+          // istanbul ignore else
+          if (typeof file.contents === 'string') {
+            contents = Buffer.from(file.contents);
+          } else {
+            contents = file.contents;
+          }
+          await fs.outputFile(join(localDir, fileName), contents);
         }
-        await fs.outputFile(join(localDir, fileName), contents);
         try {
           await git.add(fileName);
           addedModifiedFiles.push(fileName);
-- 
GitLab