From f1d2ada42c5e3640656d805155e1bcadb95fd126 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 21 Mar 2012 21:02:46 -0400 Subject: [PATCH] Externalized the Lucene ignore extensions --- src/com/gitblit/utils/JGitUtils.java | 61 ++++++++++++++++++------------ 1 files changed, 37 insertions(+), 24 deletions(-) diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index a9b99a9..99b2f73 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()); } /** @@ -728,6 +721,10 @@ list.add(new PathChangeModel(diff.getOldPath(), diff.getOldPath(), 0, diff .getNewMode().getBits(), commit.getId().getName(), diff .getChangeType())); + } else if (diff.getChangeType().equals(ChangeType.RENAME)) { + list.add(new PathChangeModel(diff.getOldPath(), diff.getNewPath(), 0, diff + .getNewMode().getBits(), commit.getId().getName(), diff + .getChangeType())); } else { list.add(new PathChangeModel(diff.getNewPath(), diff.getNewPath(), 0, diff .getNewMode().getBits(), commit.getId().getName(), diff @@ -961,6 +958,9 @@ branchObject = getDefaultBranch(repository); } else { branchObject = repository.resolve(objectId); + } + if (branchObject == null) { + return list; } RevWalk rw = new RevWalk(repository); @@ -1457,10 +1457,23 @@ List<RefModel> noteBranches = getNoteBranches(repository, true, -1); for (RefModel notesRef : noteBranches) { RevTree notesTree = JGitUtils.getCommit(repository, notesRef.getName()).getTree(); + // flat notes list + String notePath = commit.getName(); + String text = getStringContent(repository, notesTree, notePath); + if (!StringUtils.isEmpty(text)) { + List<RevCommit> history = getRevLog(repository, notesRef.getName(), notePath, 0, -1); + RefModel noteRef = new RefModel(notesRef.displayName, null, history.get(history + .size() - 1)); + GitNote gitNote = new GitNote(noteRef, text); + list.add(gitNote); + continue; + } + + // folder structure StringBuilder sb = new StringBuilder(commit.getName()); sb.insert(2, '/'); - String notePath = sb.toString(); - String text = getStringContent(repository, notesTree, notePath); + notePath = sb.toString(); + text = getStringContent(repository, notesTree, notePath); if (!StringUtils.isEmpty(text)) { List<RevCommit> history = getRevLog(repository, notesRef.getName(), notePath, 0, -1); RefModel noteRef = new RefModel(notesRef.displayName, null, history.get(history -- Gitblit v1.9.1