Hybris95
2014-04-25 4cbddead33232b82a6d35ebfa333e46c74c9bcf8
src/main/java/com/gitblit/git/GitblitReceivePack.java
@@ -47,6 +47,7 @@
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.client.Translation;
import com.gitblit.extensions.ReceiveHook;
import com.gitblit.manager.IGitblit;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
@@ -118,6 +119,17 @@
      setAllowDeletes(user.canDeleteRef(repository));
      setAllowNonFastForwards(user.canRewindRef(repository));
      int maxObjectSz = settings.getInteger(Keys.git.maxObjectSizeLimit, -1);
      if (maxObjectSz >= 0) {
         setMaxObjectSizeLimit(maxObjectSz);
      }
      int maxPackSz = settings.getInteger(Keys.git.maxPackSizeLimit, -1);
      if (maxPackSz >= 0) {
         setMaxPackSizeLimit(maxPackSz);
      }
      setCheckReceivedObjects(settings.getBoolean(Keys.git.checkReceivedObjects, true));
      setCheckReferencedObjectsAreReachable(settings.getBoolean(Keys.git.checkReferencedObjectsAreReachable, true));
      // setup pre and post receive hook
      setPreReceiveHook(this);
      setPostReceiveHook(this);
@@ -156,6 +168,14 @@
    */
   @Override
   public void onPreReceive(ReceivePack rp, Collection<ReceiveCommand> commands) {
      if (commands.size() == 0) {
         // no receive commands to process
         // this can happen if receive pack subclasses intercept and filter
         // the commands
         LOGGER.debug("skipping pre-receive processing, no refs created, updated, or removed");
         return;
      }
      if (repository.isMirror) {
         // repository is a mirror
@@ -276,6 +296,15 @@
         }
      }
      // call pre-receive plugins
      for (ReceiveHook hook : gitblit.getExtensions(ReceiveHook.class)) {
         try {
            hook.onPreReceive(this, commands);
         } catch (Exception e) {
            LOGGER.error("Failed to execute extension", e);
         }
      }
      Set<String> scripts = new LinkedHashSet<String>();
      scripts.addAll(gitblit.getPreReceiveScriptsInherited(repository));
      if (!ArrayUtils.isEmpty(repository.preReceiveScripts)) {
@@ -298,7 +327,7 @@
   @Override
   public void onPostReceive(ReceivePack rp, Collection<ReceiveCommand> commands) {
      if (commands.size() == 0) {
         LOGGER.debug("skipping post-receive hooks, no refs created, updated, or removed");
         LOGGER.debug("skipping post-receive processing, no refs created, updated, or removed");
         return;
      }
@@ -379,6 +408,15 @@
         }
      }
      // call post-receive plugins
      for (ReceiveHook hook : gitblit.getExtensions(ReceiveHook.class)) {
         try {
            hook.onPostReceive(this, commands);
         } catch (Exception e) {
            LOGGER.error("Failed to execute extension", e);
         }
      }
      // run Groovy hook scripts
      Set<String> scripts = new LinkedHashSet<String>();
      scripts.addAll(gitblit.getPostReceiveScriptsInherited(repository));
@@ -434,7 +472,7 @@
      this.gitblitUrl = url;
   }
   protected void sendRejection(final ReceiveCommand cmd, final String why, Object... objects) {
   public void sendRejection(final ReceiveCommand cmd, final String why, Object... objects) {
      String text;
      if (ArrayUtils.isEmpty(objects)) {
         text = why;
@@ -445,15 +483,15 @@
      LOGGER.error(text + " (" + user.username + ")");
   }
   protected void sendHeader(String msg, Object... objects) {
   public void sendHeader(String msg, Object... objects) {
      sendInfo("--> ", msg, objects);
   }
   protected void sendInfo(String msg, Object... objects) {
   public void sendInfo(String msg, Object... objects) {
      sendInfo("    ", msg, objects);
   }
   protected void sendInfo(String prefix, String msg, Object... objects) {
   private void sendInfo(String prefix, String msg, Object... objects) {
      String text;
      if (ArrayUtils.isEmpty(objects)) {
         text = msg;
@@ -467,7 +505,7 @@
      }
   }
   protected void sendError(String msg, Object... objects) {
   public void sendError(String msg, Object... objects) {
      String text;
      if (ArrayUtils.isEmpty(objects)) {
         text = msg;
@@ -532,4 +570,16 @@
         }
      }
   }
   public IGitblit getGitblit() {
      return gitblit;
   }
   public RepositoryModel getRepositoryModel() {
      return repository;
   }
   public UserModel getUserModel() {
      return user;
   }
}