From 2e3eb131d0f5ef828833a4a682173950ea2b6eae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jakub=20Sko=C5=99epa?= <jakub@skorepa.info>
Date: Sun, 17 Apr 2016 16:17:54 +0200
Subject: [PATCH] Take author from oldest commit not merge

---
 sitegin/gitInfo.js | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/sitegin/gitInfo.js b/sitegin/gitInfo.js
index 05f47d36..f189e6b5 100644
--- a/sitegin/gitInfo.js
+++ b/sitegin/gitInfo.js
@@ -115,28 +115,21 @@ var getFilesHistory = function(repo, startCommitMessage) {
   })
   .then(function(log) {
     if(startCommitMessage === undefined) return log;
-    var newLog = {};
-    function filterCommits(commits) {
-      var r = [];
+    function mergeCommit(commits) {
+      var r;
       commits.reverse();
-      var matched = false;
       commits.forEach(function(commit) {
-        if(!matched)
+        if(r === undefined)
         startCommitMessage.forEach(function(matcher) {
-          if(commit.message.indexOf(matcher) > -1) matched = true;
+          if(commit.message.indexOf(matcher) > -1) r = commit;
         })
-        if(matched) {
-          r.push(commit);
-        }
       })
-      r.reverse();
-      if(r.length < 1) return undefined;
       return r;
     }
     for(var file in log) {
-      newLog[file] = filterCommits(log[file]);
+      log[file].mergeCommit = mergeCommit(log[file]);
     }
-    return newLog;
+    return log;
   });
 }
 
@@ -161,12 +154,17 @@ module.exports = function(obj) {
           });
           var newestCommit = commits[0];
           var oldestCommit = commits[commits.length-1];
+          var mergeCommit = commits.mergeCommit;
 
           if(article.metadata.date === undefined)
             article.metadata.date = {};
 
-          if(article.metadata.date.creation === undefined)
-            article.metadata.date.creation = oldestCommit.date;
+          if(article.metadata.date.creation === undefined) {
+            if(mergeCommit === undefined)
+              article.metadata.date.creation = moment();
+            else
+              article.metadata.date.creation = mergeCommit.date;
+          }
 
           article.metadata.date.modification = newestCommit.date;
           article.metadata.date.modified = (newestCommit !== oldestCommit);
-- 
GitLab