From e41e8f8c3bc9f5edab1d271464364f95620ece8c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 19 Nov 2015 17:55:38 -0500
Subject: [PATCH] Create filestore directory on startup

---
 src/main/java/com/gitblit/utils/JGitUtils.java |   31 +++++++++++++++++--------------
 1 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/gitblit/utils/JGitUtils.java b/src/main/java/com/gitblit/utils/JGitUtils.java
index 69084ca..c3d0207 100644
--- a/src/main/java/com/gitblit/utils/JGitUtils.java
+++ b/src/main/java/com/gitblit/utils/JGitUtils.java
@@ -30,7 +30,6 @@
 import java.util.Map.Entry;
 import java.util.regex.Pattern;
 
-import com.google.common.base.Strings;
 import org.apache.commons.io.filefilter.TrueFileFilter;
 import org.eclipse.jgit.api.CloneCommand;
 import org.eclipse.jgit.api.FetchCommand;
@@ -91,6 +90,7 @@
 import com.gitblit.models.PathModel.PathChangeModel;
 import com.gitblit.models.RefModel;
 import com.gitblit.models.SubmoduleModel;
+import com.google.common.base.Strings;
 
 /**
  * Collection of static methods for retrieving information from a repository.
@@ -691,7 +691,10 @@
 		if (commit == null) {
 			return new Date(0);
 		}
-		return commit.getAuthorIdent().getWhen();
+		if (commit.getAuthorIdent() != null) {
+			return commit.getAuthorIdent().getWhen();
+		}
+		return getCommitDate(commit);
 	}
 
 	/**
@@ -774,7 +777,7 @@
 			}
 		} finally {
 			rw.dispose();
-			tw.release();
+			tw.close();
 		}
 		return content;
 	}
@@ -885,7 +888,7 @@
 		} catch (IOException e) {
 			error(e, repository, "{0} failed to get files for commit {1}", commit.getName());
 		} finally {
-			tw.release();
+			tw.close();
 		}
 		Collections.sort(list);
 		return list;
@@ -942,7 +945,7 @@
 		} catch (IOException e) {
 			error(e, repository, "{0} failed to get files for commit {1}", commit.getName());
 		} finally {
-			tw.release();
+			tw.close();
 		}
 		Collections.sort(list);
 		return list;
@@ -994,7 +997,7 @@
 							.getRawMode(0), tw.getObjectId(0).getName(), commit.getId().getName(),
 							ChangeType.ADD));
 				}
-				tw.release();
+				tw.close();
 			} else {
 				RevCommit parent = rw.parseCommit(commit.getParent(0).getId());
 				DiffStatFormatter df = new DiffStatFormatter(commit.getName());
@@ -1049,7 +1052,7 @@
 			RevCommit start = rw.parseCommit(startRange);
 			RevCommit end = rw.parseCommit(endRange);
 			list.addAll(getFilesInRange(repository, start, end));
-			rw.release();
+			rw.close();
 		} catch (Throwable t) {
 			error(t, repository, "{0} failed to determine files in range {1}..{2}!", startCommit, endCommit);
 		}
@@ -1147,7 +1150,7 @@
 		} catch (IOException e) {
 			error(e, repository, "{0} failed to get documents for commit {1}", commit.getName());
 		} finally {
-			tw.release();
+			tw.close();
 		}
 		Collections.sort(list);
 		return list;
@@ -2044,7 +2047,7 @@
 			error(t, repository, "{0} can't find {1} in commit {2}", path, commit.name());
 		} finally {
 			rw.dispose();
-			tw.release();
+			tw.close();
 		}
 		return commitId;
 	}
@@ -2218,10 +2221,10 @@
 						success = false;
 					}
 				} finally {
-					revWalk.release();
+					revWalk.close();
 				}
 			} finally {
-				odi.release();
+				odi.close();
 			}
 		} catch (Throwable t) {
 			error(t, repository, "Failed to create orphan branch {1} in repository {0}", branchName);
@@ -2412,7 +2415,7 @@
 			LOGGER.error("Failed to determine canMerge", e);
 		} finally {
 			if (revWalk != null) {
-				revWalk.release();
+				revWalk.close();
 			}
 		}
 		return MergeStatus.NOT_MERGEABLE;
@@ -2498,14 +2501,14 @@
 					// return the merge commit id
 					return new MergeResult(MergeStatus.MERGED, mergeCommitId.getName());
 				} finally {
-					odi.release();
+					odi.close();
 				}
 			}
 		} catch (IOException e) {
 			LOGGER.error("Failed to merge", e);
 		} finally {
 			if (revWalk != null) {
-				revWalk.release();
+				revWalk.close();
 			}
 		}
 		return new MergeResult(MergeStatus.FAILED, null);

--
Gitblit v1.9.1