Move AtomicObjectOutputStream to lfs/internal
The class AtomicObjectOutputStream should be available to all lfs related classes, not only to the server side. Move the class from org.eclipse.jgit.lfs.server.fs to org.eclipse.jgit.lfs.internal to achieve that. Change-Id: I028e1c9ec7c21f316340b21d558b9a6b77e2060d
This commit is contained in:
parent
bcb5a431a5
commit
e4e39a6d05
|
@ -28,6 +28,7 @@ Import-Package: com.google.gson;version="[2.2.4,3.0.0)",
|
||||||
org.eclipse.jgit.internal;version="[4.6.0,4.7.0)",
|
org.eclipse.jgit.internal;version="[4.6.0,4.7.0)",
|
||||||
org.eclipse.jgit.internal.storage.file;version="[4.6.0,4.7.0)",
|
org.eclipse.jgit.internal.storage.file;version="[4.6.0,4.7.0)",
|
||||||
org.eclipse.jgit.lfs.errors;version="[4.6.0,4.7.0)",
|
org.eclipse.jgit.lfs.errors;version="[4.6.0,4.7.0)",
|
||||||
|
org.eclipse.jgit.lfs.internal;version="[4.6.0,4.7.0)",
|
||||||
org.eclipse.jgit.lfs.lib;version="[4.6.0,4.7.0)",
|
org.eclipse.jgit.lfs.lib;version="[4.6.0,4.7.0)",
|
||||||
org.eclipse.jgit.nls;version="[4.6.0,4.7.0)",
|
org.eclipse.jgit.nls;version="[4.6.0,4.7.0)",
|
||||||
org.eclipse.jgit.transport.http;version="[4.6.0,4.7.0)",
|
org.eclipse.jgit.transport.http;version="[4.6.0,4.7.0)",
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
corruptLongObject=The content hash ''{0}'' of the long object ''{1}'' doesn''t match its id, the corrupt object will be deleted.
|
|
||||||
failedToCalcSignature=Failed to calculate a request signature: {0}
|
failedToCalcSignature=Failed to calculate a request signature: {0}
|
||||||
invalidPathInfo=Invalid pathInfo ''{0}'' does not match ''/'{'SHA-256'}'''
|
invalidPathInfo=Invalid pathInfo ''{0}'' does not match ''/'{'SHA-256'}'''
|
||||||
objectNotFound=Object ''{0}'' not found
|
objectNotFound=Object ''{0}'' not found
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
|
||||||
import org.eclipse.jgit.annotations.Nullable;
|
import org.eclipse.jgit.annotations.Nullable;
|
||||||
|
import org.eclipse.jgit.lfs.internal.AtomicObjectOutputStream;
|
||||||
import org.eclipse.jgit.lfs.lib.AnyLongObjectId;
|
import org.eclipse.jgit.lfs.lib.AnyLongObjectId;
|
||||||
import org.eclipse.jgit.lfs.lib.Constants;
|
import org.eclipse.jgit.lfs.lib.Constants;
|
||||||
import org.eclipse.jgit.lfs.server.LargeFileRepository;
|
import org.eclipse.jgit.lfs.server.LargeFileRepository;
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
|
|
||||||
import org.apache.http.HttpStatus;
|
import org.apache.http.HttpStatus;
|
||||||
import org.eclipse.jgit.lfs.errors.CorruptLongObjectException;
|
import org.eclipse.jgit.lfs.errors.CorruptLongObjectException;
|
||||||
|
import org.eclipse.jgit.lfs.internal.AtomicObjectOutputStream;
|
||||||
import org.eclipse.jgit.lfs.lib.AnyLongObjectId;
|
import org.eclipse.jgit.lfs.lib.AnyLongObjectId;
|
||||||
import org.eclipse.jgit.lfs.lib.Constants;
|
import org.eclipse.jgit.lfs.lib.Constants;
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,6 @@ public static LfsServerText get() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// @formatter:off
|
// @formatter:off
|
||||||
/***/ public String corruptLongObject;
|
|
||||||
/***/ public String failedToCalcSignature;
|
/***/ public String failedToCalcSignature;
|
||||||
/***/ public String invalidPathInfo;
|
/***/ public String invalidPathInfo;
|
||||||
/***/ public String objectNotFound;
|
/***/ public String objectNotFound;
|
||||||
|
|
|
@ -7,7 +7,7 @@ Bundle-Localization: plugin
|
||||||
Bundle-Vendor: %provider_name
|
Bundle-Vendor: %provider_name
|
||||||
Export-Package: org.eclipse.jgit.lfs;version="4.6.0",
|
Export-Package: org.eclipse.jgit.lfs;version="4.6.0",
|
||||||
org.eclipse.jgit.lfs.errors;version="4.6.0",
|
org.eclipse.jgit.lfs.errors;version="4.6.0",
|
||||||
org.eclipse.jgit.lfs.internal;version="4.6.0";x-friends:="org.eclipse.jgit.lfs.test",
|
org.eclipse.jgit.lfs.internal;version="4.6.0";x-friends:="org.eclipse.jgit.lfs.test,org.eclipse.jgit.lfs.server.fs,org.eclipse.jgit.lfs.server",
|
||||||
org.eclipse.jgit.lfs.lib;version="4.6.0"
|
org.eclipse.jgit.lfs.lib;version="4.6.0"
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
|
||||||
Import-Package: org.eclipse.jgit.annotations;version="[4.6.0,4.7.0)";resolution:=optional,
|
Import-Package: org.eclipse.jgit.annotations;version="[4.6.0,4.7.0)";resolution:=optional,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
corruptLongObject=The content hash ''{0}'' of the long object ''{1}'' doesn''t match its id, the corrupt object will be deleted.
|
||||||
incorrectLONG_OBJECT_ID_LENGTH=Incorrect LONG_OBJECT_ID_LENGTH.
|
incorrectLONG_OBJECT_ID_LENGTH=Incorrect LONG_OBJECT_ID_LENGTH.
|
||||||
inconsistentMediafileLength=mediafile {0} has unexpected length; expected {1} but found {2}.
|
inconsistentMediafileLength=mediafile {0} has unexpected length; expected {1} but found {2}.
|
||||||
invalidLongId=Invalid id: {0}
|
invalidLongId=Invalid id: {0}
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package org.eclipse.jgit.lfs.server.fs;
|
package org.eclipse.jgit.lfs.internal;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
@ -53,14 +53,13 @@
|
||||||
import org.eclipse.jgit.lfs.lib.AnyLongObjectId;
|
import org.eclipse.jgit.lfs.lib.AnyLongObjectId;
|
||||||
import org.eclipse.jgit.lfs.lib.Constants;
|
import org.eclipse.jgit.lfs.lib.Constants;
|
||||||
import org.eclipse.jgit.lfs.lib.LongObjectId;
|
import org.eclipse.jgit.lfs.lib.LongObjectId;
|
||||||
import org.eclipse.jgit.lfs.server.internal.LfsServerText;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Output stream writing content to a {@link LockFile} which is committed on
|
* Output stream writing content to a {@link LockFile} which is committed on
|
||||||
* close(). The stream checks if the hash of the stream content matches the
|
* close(). The stream checks if the hash of the stream content matches the
|
||||||
* id.
|
* id.
|
||||||
*/
|
*/
|
||||||
class AtomicObjectOutputStream extends OutputStream {
|
public class AtomicObjectOutputStream extends OutputStream {
|
||||||
|
|
||||||
private LockFile locked;
|
private LockFile locked;
|
||||||
|
|
||||||
|
@ -70,7 +69,12 @@ class AtomicObjectOutputStream extends OutputStream {
|
||||||
|
|
||||||
private AnyLongObjectId id;
|
private AnyLongObjectId id;
|
||||||
|
|
||||||
AtomicObjectOutputStream(Path path, AnyLongObjectId id)
|
/**
|
||||||
|
* @param path
|
||||||
|
* @param id
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
public AtomicObjectOutputStream(Path path, AnyLongObjectId id)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
locked = new LockFile(path.toFile());
|
locked = new LockFile(path.toFile());
|
||||||
locked.lock();
|
locked.lock();
|
||||||
|
@ -109,12 +113,15 @@ private void verifyHash() {
|
||||||
if (!contentHash.equals(id)) {
|
if (!contentHash.equals(id)) {
|
||||||
abort();
|
abort();
|
||||||
throw new CorruptLongObjectException(id, contentHash,
|
throw new CorruptLongObjectException(id, contentHash,
|
||||||
MessageFormat.format(LfsServerText.get().corruptLongObject,
|
MessageFormat.format(LfsText.get().corruptLongObject,
|
||||||
contentHash, id));
|
contentHash, id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void abort() {
|
/**
|
||||||
|
* Aborts the stream. Temporary file will be deleted
|
||||||
|
*/
|
||||||
|
public void abort() {
|
||||||
locked.unlock();
|
locked.unlock();
|
||||||
aborted = true;
|
aborted = true;
|
||||||
}
|
}
|
|
@ -58,6 +58,7 @@ public static LfsText get() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// @formatter:off
|
// @formatter:off
|
||||||
|
/***/ public String corruptLongObject;
|
||||||
/***/ public String inconsistentMediafileLength;
|
/***/ public String inconsistentMediafileLength;
|
||||||
/***/ public String incorrectLONG_OBJECT_ID_LENGTH;
|
/***/ public String incorrectLONG_OBJECT_ID_LENGTH;
|
||||||
/***/ public String invalidLongId;
|
/***/ public String invalidLongId;
|
||||||
|
|
|
@ -69,7 +69,7 @@ Export-Package: org.eclipse.jgit.annotations;version="4.6.0",
|
||||||
org.eclipse.jgit.junit,
|
org.eclipse.jgit.junit,
|
||||||
org.eclipse.jgit.junit.http,
|
org.eclipse.jgit.junit.http,
|
||||||
org.eclipse.jgit.http.server,
|
org.eclipse.jgit.http.server,
|
||||||
org.eclipse.jgit.lfs.server,
|
org.eclipse.jgit.lfs,
|
||||||
org.eclipse.jgit.pgm,
|
org.eclipse.jgit.pgm,
|
||||||
org.eclipse.jgit.pgm.test",
|
org.eclipse.jgit.pgm.test",
|
||||||
org.eclipse.jgit.internal.storage.pack;version="4.6.0";x-friends:="org.eclipse.jgit.junit,org.eclipse.jgit.test,org.eclipse.jgit.pgm",
|
org.eclipse.jgit.internal.storage.pack;version="4.6.0";x-friends:="org.eclipse.jgit.junit,org.eclipse.jgit.test,org.eclipse.jgit.pgm",
|
||||||
|
|
Loading…
Reference in New Issue