Package org.eclipse.jgit.lfs
Class BuiltinLFS
- java.lang.Object
-
- org.eclipse.jgit.util.LfsFactory
-
- org.eclipse.jgit.lfs.BuiltinLFS
-
public class BuiltinLFS extends LfsFactory
Implementation ofLfsFactory
, using built-in (optional) LFS support.- Since:
- 4.11
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jgit.util.LfsFactory
LfsFactory.LfsInputStream, LfsFactory.LfsInstallCommand
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description LfsFactory.LfsInputStream
applyCleanFilter(Repository db, InputStream input, long length, Attribute attribute)
Apply clean filtering to the given stream, writing the file content to the LFS storage if required and returning a stream to the LFS pointer instead.ObjectLoader
applySmudgeFilter(Repository db, ObjectLoader loader, Attribute attribute)
Apply smudge filtering to a given loader, potentially redirecting it to a LFS blob which is downloaded on demand.LfsFactory.LfsInstallCommand
getInstallCommand()
Retrieve anLfsFactory.LfsInstallCommand
which can be used to enable LFS support (if available) either per repository or for the user.PrePushHook
getPrePushHook(Repository repo, PrintStream outputStream)
Retrieve a pre-push hook to be applied using the default error stream.PrePushHook
getPrePushHook(Repository repo, PrintStream outputStream, PrintStream errorStream)
Retrieve a pre-push hook to be applied.boolean
isAvailable()
boolean
isEnabled(Repository db)
static void
register()
Activates the built-in LFS support.-
Methods inherited from class org.eclipse.jgit.util.LfsFactory
getAttributesForPath, getAttributesForPath, getInstance, setInstance
-
-
-
-
Method Detail
-
register
public static void register()
Activates the built-in LFS support.
-
isAvailable
public boolean isAvailable()
- Overrides:
isAvailable
in classLfsFactory
- Returns:
- whether LFS support is available
-
applySmudgeFilter
public ObjectLoader applySmudgeFilter(Repository db, ObjectLoader loader, Attribute attribute) throws IOException
Description copied from class:LfsFactory
Apply smudge filtering to a given loader, potentially redirecting it to a LFS blob which is downloaded on demand.- Overrides:
applySmudgeFilter
in classLfsFactory
- Parameters:
db
- the repositoryloader
- the loader for the blobattribute
- the attribute used to check for LFS enablement (i.e. "merge", "diff", "filter" from .gitattributes).- Returns:
- a loader for the actual data of a blob, or the original loader in case LFS is not applicable.
- Throws:
IOException
-
applyCleanFilter
public LfsFactory.LfsInputStream applyCleanFilter(Repository db, InputStream input, long length, Attribute attribute) throws IOException
Description copied from class:LfsFactory
Apply clean filtering to the given stream, writing the file content to the LFS storage if required and returning a stream to the LFS pointer instead.- Overrides:
applyCleanFilter
in classLfsFactory
- Parameters:
db
- the repositoryinput
- the original inputlength
- the expected input stream lengthattribute
- the attribute used to check for LFS enablement (i.e. "merge", "diff", "filter" from .gitattributes).- Returns:
- a stream to the content that should be written to the object store along with the expected length of the stream. the original stream is not applicable.
- Throws:
IOException
- in case of an error
-
getPrePushHook
@Nullable public PrePushHook getPrePushHook(Repository repo, PrintStream outputStream)
Description copied from class:LfsFactory
Retrieve a pre-push hook to be applied using the default error stream.- Overrides:
getPrePushHook
in classLfsFactory
- Parameters:
repo
- theRepository
the hook is applied to.- Returns:
- a
PrePushHook
implementation ornull
-
getPrePushHook
@Nullable public PrePushHook getPrePushHook(Repository repo, PrintStream outputStream, PrintStream errorStream)
Description copied from class:LfsFactory
Retrieve a pre-push hook to be applied.- Overrides:
getPrePushHook
in classLfsFactory
- Parameters:
repo
- theRepository
the hook is applied to.- Returns:
- a
PrePushHook
implementation ornull
-
isEnabled
public boolean isEnabled(Repository db)
- Overrides:
isEnabled
in classLfsFactory
- Parameters:
db
- the repository- Returns:
- whether LFS is requested for the given repo.
-
getInstallCommand
public LfsFactory.LfsInstallCommand getInstallCommand()
Description copied from class:LfsFactory
Retrieve anLfsFactory.LfsInstallCommand
which can be used to enable LFS support (if available) either per repository or for the user.- Overrides:
getInstallCommand
in classLfsFactory
- Returns:
- a command to install LFS support.
-
-