James Moger
2012-03-21 f1d2ada42c5e3640656d805155e1bcadb95fd126
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