The JGit implementation of protocol V2 does not invoke the
advertiseRefsHook on fetch and ls-refs, which results in all
refs being sent.
This reverts commit 437d7ef616.
Change-Id: Ia9f0c6140649db2c638ab0483fd14aad99152ff9
76 lines
2.3 KiB
Java
76 lines
2.3 KiB
Java
// Copyright (C) 2010 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package com.google.gerrit.server.git;
|
|
|
|
import com.google.gerrit.server.config.ConfigUtil;
|
|
import com.google.gerrit.server.config.GerritServerConfig;
|
|
import com.google.inject.Inject;
|
|
import com.google.inject.Singleton;
|
|
import java.util.concurrent.TimeUnit;
|
|
import org.eclipse.jgit.lib.Config;
|
|
import org.eclipse.jgit.storage.pack.PackConfig;
|
|
|
|
@Singleton
|
|
public class TransferConfig {
|
|
private final int timeout;
|
|
private final PackConfig packConfig;
|
|
private final long maxObjectSizeLimit;
|
|
private final String maxObjectSizeLimitFormatted;
|
|
private final boolean inheritProjectMaxObjectSizeLimit;
|
|
|
|
@Inject
|
|
TransferConfig(@GerritServerConfig Config cfg) {
|
|
timeout =
|
|
(int)
|
|
ConfigUtil.getTimeUnit(
|
|
cfg,
|
|
"transfer",
|
|
null,
|
|
"timeout", //
|
|
0,
|
|
TimeUnit.SECONDS);
|
|
maxObjectSizeLimit = cfg.getLong("receive", "maxObjectSizeLimit", 0);
|
|
maxObjectSizeLimitFormatted = cfg.getString("receive", null, "maxObjectSizeLimit");
|
|
inheritProjectMaxObjectSizeLimit =
|
|
cfg.getBoolean("receive", "inheritProjectMaxObjectSizeLimit", false);
|
|
|
|
packConfig = new PackConfig();
|
|
packConfig.setDeltaCompress(false);
|
|
packConfig.setThreads(1);
|
|
packConfig.fromConfig(cfg);
|
|
}
|
|
|
|
/** @return configured timeout, in seconds. 0 if the timeout is infinite. */
|
|
public int getTimeout() {
|
|
return timeout;
|
|
}
|
|
|
|
public PackConfig getPackConfig() {
|
|
return packConfig;
|
|
}
|
|
|
|
public long getMaxObjectSizeLimit() {
|
|
return maxObjectSizeLimit;
|
|
}
|
|
|
|
public String getFormattedMaxObjectSizeLimit() {
|
|
return maxObjectSizeLimitFormatted;
|
|
}
|
|
|
|
public boolean inheritProjectMaxObjectSizeLimit() {
|
|
return inheritProjectMaxObjectSizeLimit;
|
|
}
|
|
}
|