Package org.eclipse.jgit.lfs
Class BuiltinLFS
java.lang.Object
org.eclipse.jgit.util.LfsFactory
org.eclipse.jgit.lfs.BuiltinLFS
Implementation of
LfsFactory, 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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionapplyCleanFilter(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.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.Retrieve anLfsFactory.LfsInstallCommandwhich can be used to enable LFS support (if available) either per repository or for the user.getPrePushHook(Repository repo, PrintStream outputStream) Retrieve a pre-push hook to be applied using the default error stream.getPrePushHook(Repository repo, PrintStream outputStream, PrintStream errorStream) Retrieve a pre-push hook to be applied.booleanbooleanisEnabled(Repository db) private booleanisEnabled(Repository db, Attribute attribute) static voidregister()Activates the built-in LFS support.Methods inherited from class org.eclipse.jgit.util.LfsFactory
getAttributesForPath, getAttributesForPath, getInstance, setInstance
-
Constructor Details
-
BuiltinLFS
private BuiltinLFS()
-
-
Method Details
-
register
public static void register()Activates the built-in LFS support. -
isAvailable
public boolean isAvailable()- Overrides:
isAvailablein classLfsFactory- Returns:
- whether LFS support is available
-
applySmudgeFilter
public ObjectLoader applySmudgeFilter(Repository db, ObjectLoader loader, Attribute attribute) throws IOException Description copied from class:LfsFactoryApply smudge filtering to a given loader, potentially redirecting it to a LFS blob which is downloaded on demand.- Overrides:
applySmudgeFilterin 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:LfsFactoryApply 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:
applyCleanFilterin 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
Description copied from class:LfsFactoryRetrieve a pre-push hook to be applied using the default error stream.- Overrides:
getPrePushHookin classLfsFactory- Parameters:
repo- theRepositorythe hook is applied to.- Returns:
- a
PrePushHookimplementation ornull
-
getPrePushHook
@Nullable public PrePushHook getPrePushHook(Repository repo, PrintStream outputStream, PrintStream errorStream) Description copied from class:LfsFactoryRetrieve a pre-push hook to be applied.- Overrides:
getPrePushHookin classLfsFactory- Parameters:
repo- theRepositorythe hook is applied to.- Returns:
- a
PrePushHookimplementation ornull
-
isEnabled
- Overrides:
isEnabledin classLfsFactory- Parameters:
db- the repository- Returns:
- whether LFS is requested for the given repo.
-
isEnabled
- Parameters:
db- the repositoryattribute- the attribute to check- Returns:
- whether LFS filter is enabled for the given .gitattribute attribute.
-
getInstallCommand
Description copied from class:LfsFactoryRetrieve anLfsFactory.LfsInstallCommandwhich can be used to enable LFS support (if available) either per repository or for the user.- Overrides:
getInstallCommandin classLfsFactory- Returns:
- a command to install LFS support.
-