Browse Source

AmazonS3: Buffer pushed pack content under $GIT_DIR

This applies the same filesystem permissions as the source objects.
Users may override in properties files using the tmpdir value.

Change-Id: I3ec332cf41f12eae246cfaee9fd792c52cb2908b
stable-3.4
Shawn Pearce 10 years ago
parent
commit
67b8bcc1c4
  1. 8
      org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java
  2. 6
      org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java

8
org.eclipse.jgit/src/org/eclipse/jgit/transport/AmazonS3.java

@ -182,6 +182,9 @@ public class AmazonS3 {
/** Encryption algorithm, may be a null instance that provides pass-through. */
private final WalkEncryption encryption;
/** Directory for locally buffered content. */
private final File tmpDir;
/**
* Create a new S3 client for the supplied user information.
* <p>
@ -251,6 +254,9 @@ public class AmazonS3 {
maxAttempts = Integer.parseInt(props.getProperty(
"httpclient.retry-max", "3")); //$NON-NLS-1$ //$NON-NLS-2$
proxySelector = ProxySelector.getDefault();
String tmp = props.getProperty("tmpdir"); //$NON-NLS-1$
tmpDir = tmp != null && tmp.length() > 0 ? new File(tmp) : null;
}
/**
@ -452,7 +458,7 @@ public class AmazonS3 {
final ProgressMonitor monitor, final String monitorTask)
throws IOException {
final MessageDigest md5 = newMD5();
final TemporaryBuffer buffer = new TemporaryBuffer.LocalFile() {
final TemporaryBuffer buffer = new TemporaryBuffer.LocalFile(tmpDir) {
@Override
public void close() throws IOException {
super.close();

6
org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportAmazonS3.java

@ -147,7 +147,11 @@ public class TransportAmazonS3 extends HttpTransport implements WalkTransport {
throws NotSupportedException {
super(local, uri);
s3 = new AmazonS3(loadProperties());
Properties props = loadProperties();
if (!props.contains("tmpdir") && local.getDirectory() != null) //$NON-NLS-1$
props.put("tmpdir", local.getDirectory().getPath()); //$NON-NLS-1$
s3 = new AmazonS3(props);
bucket = uri.getHost();
String p = uri.getPath();

Loading…
Cancel
Save