Package org.eclipse.jgit.lfs
Class SmudgeFilter
java.lang.Object
org.eclipse.jgit.attributes.FilterCommand
org.eclipse.jgit.lfs.SmudgeFilter
Built-in LFS smudge filter
When content is read from git's object-database and written to the filesystem
and this filter is configured for that content, then this filter will replace
the content of LFS pointer files with the original content. This happens e.g.
when a checkout needs to update a working tree file which is under LFS
control.
- Since:
- 4.6
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final FilterCommandFactory
The factory is responsible for creating instances ofSmudgeFilter
private static final int
Max number of bytes to copy in a singlerun()
call.Fields inherited from class org.eclipse.jgit.attributes.FilterCommand
in, out
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
SmudgeFilter
(InputStream in, OutputStream out, Repository db) SmudgeFilter
(Repository db, InputStream in, OutputStream out) Constructor for SmudgeFilter. -
Method Summary
Modifier and TypeMethodDescriptionstatic Collection
<Path> downloadLfsResource
(Lfs lfs, Repository db, LfsPointer... res) Download content which is hosted on a LFS server(package private) static void
register()
Register this filter in JGitint
run()
Execute the command.
-
Field Details
-
MAX_COPY_BYTES
private static final int MAX_COPY_BYTESMax number of bytes to copy in a singlerun()
call.- See Also:
-
FACTORY
The factory is responsible for creating instances ofSmudgeFilter
-
-
Constructor Details
-
SmudgeFilter
Constructor for SmudgeFilter.- Parameters:
db
- aRepository
object.in
- aInputStream
object. The stream is closed in any case.out
- aOutputStream
object.- Throws:
IOException
- in case of an error
-
SmudgeFilter
- Throws:
IOException
-
-
Method Details
-
register
static void register()Register this filter in JGit -
downloadLfsResource
public static Collection<Path> downloadLfsResource(Lfs lfs, Repository db, LfsPointer... res) throws IOException Download content which is hosted on a LFS server- Parameters:
lfs
- localLfs
storage.db
- the repository to work withres
- the objects to download- Returns:
- the paths of all mediafiles which have been downloaded
- Throws:
IOException
- Since:
- 4.11
-
run
Execute the command. The command is supposed to read data fromFilterCommand.in
and to write the result toFilterCommand.out
. It returns the number of bytes it read fromFilterCommand.in
. It should be called in a loop until it returns -1 signaling that theInputStream
is completely processed.On successful completion (return -1) or on Exception, the streams
FilterCommand.in
andFilterCommand.out
are closed by the implementation.- Specified by:
run
in classFilterCommand
- Returns:
- the number of bytes read from the
InputStream
or -1. -1 means that theInputStream
is completely processed. - Throws:
IOException
- whenIOException
occurred while reading fromFilterCommand.in
or writing toFilterCommand.out
-