From 4fea450fd3edfba6bb9e2c3c0a9231c6d227a09c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 23 Feb 2012 19:49:46 -0500 Subject: [PATCH] Fixed nullpointer on pushing to an empty repository (issue 69) --- src/com/gitblit/utils/JGitUtils.java | 40 ++++++++++++++++++---------------------- 1 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index a9b99a9..5f193d0 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -423,11 +423,9 @@ * last modified date of the repository folder is returned. * * @param repository - * @param branch - * if unspecified, all branches are checked. * @return */ - public static Date getLastChange(Repository repository, String branch) { + public static Date getLastChange(Repository repository) { if (!hasCommits(repository)) { // null repository if (repository == null) { @@ -436,26 +434,21 @@ // fresh repository return new Date(repository.getDirectory().lastModified()); } - if (StringUtils.isEmpty(branch)) { - List<RefModel> branchModels = getLocalBranches(repository, true, -1); - if (branchModels.size() > 0) { - // find most recent branch update - Date lastChange = new Date(0); - for (RefModel branchModel : branchModels) { - if (branchModel.getDate().after(lastChange)) { - lastChange = branchModel.getDate(); - } - } - return lastChange; - } else { - // try to find head - branch = Constants.HEAD; - } - } - // lookup specified branch - RevCommit commit = getCommit(repository, branch); - return getCommitDate(commit); + List<RefModel> branchModels = getLocalBranches(repository, true, -1); + if (branchModels.size() > 0) { + // find most recent branch update + Date lastChange = new Date(0); + for (RefModel branchModel : branchModels) { + if (branchModel.getDate().after(lastChange)) { + lastChange = branchModel.getDate(); + } + } + return lastChange; + } + + // default to the repository folder modification date + return new Date(repository.getDirectory().lastModified()); } /** @@ -962,6 +955,9 @@ } else { branchObject = repository.resolve(objectId); } + if (branchObject == null) { + return list; + } RevWalk rw = new RevWalk(repository); rw.markStart(rw.parseCommit(branchObject)); -- Gitblit v1.9.1