| | |
| | | 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;
|
| | |
| | | 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);
|
| | |
| | | */
|
| | | @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
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | // 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)) {
|
| | |
| | | @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;
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | // 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));
|
| | |
| | | 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;
|
| | |
| | | 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;
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | protected void sendError(String msg, Object... objects) {
|
| | | public void sendError(String msg, Object... objects) {
|
| | | String text;
|
| | | if (ArrayUtils.isEmpty(objects)) {
|
| | | text = msg;
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | public IGitblit getGitblit() {
|
| | | return gitblit;
|
| | | }
|
| | |
|
| | | public RepositoryModel getRepositoryModel() {
|
| | | return repository;
|
| | | }
|
| | |
|
| | | public UserModel getUserModel() {
|
| | | return user;
|
| | | }
|
| | | }
|