James Moger
2013-11-20 bdfdc9c65c5eb2786b7dd8e33ba8a12a3bafe86d
src/main/java/com/gitblit/GCExecutor.java
@@ -31,6 +31,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.gitblit.manager.IRepositoryManager;
import com.gitblit.models.RepositoryModel;
import com.gitblit.utils.FileUtils;
@@ -53,14 +54,20 @@
   private final IStoredSettings settings;
   private final IRepositoryManager repositoryManager;
   private AtomicBoolean running = new AtomicBoolean(false);
   private AtomicBoolean forceClose = new AtomicBoolean(false);
   private final Map<String, GCStatus> gcCache = new ConcurrentHashMap<String, GCStatus>();
   public GCExecutor(IStoredSettings settings) {
   public GCExecutor(
         IStoredSettings settings,
         IRepositoryManager repositoryManager) {
      this.settings = settings;
      this.repositoryManager = repositoryManager;
   }
   /**
@@ -131,7 +138,7 @@
      running.set(true);
      Date now = new Date();
      for (String repositoryName : GitBlit.self().getRepositoryList()) {
      for (String repositoryName : repositoryManager.getRepositoryList()) {
         if (forceClose.get()) {
            break;
         }
@@ -143,8 +150,8 @@
         RepositoryModel model = null;
         Repository repository = null;
         try {
            model = GitBlit.self().getRepositoryModel(repositoryName);
            repository = GitBlit.self().getRepository(repositoryName);
            model = repositoryManager.getRepositoryModel(repositoryName);
            repository = repositoryManager.getRepository(repositoryName);
            if (repository == null) {
               logger.warn(MessageFormat.format("GCExecutor is missing repository {0}?!?", repositoryName));
               continue;
@@ -204,7 +211,7 @@
               if (garbageCollected) {
                  // update the last GC date
                  model.lastGC = new Date();
                  GitBlit.self().updateConfiguration(repository, model);
                  repositoryManager.updateConfiguration(repository, model);
               }
               repository.close();