public abstract class RefWriter extends Object
Constants.INFO_REFS
and
Constants.PACKED_REFS
files.
This class is abstract as the writing of the files must be handled by the
caller. This is because it is used by transport classes as well.Constructor and Description |
---|
RefWriter(Collection<Ref> refs) |
RefWriter(Map<String,Ref> refs) |
RefWriter(RefList<Ref> refs) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
writeFile(String file,
byte[] content)
Handles actual writing of ref files to the git repository, which may
differ slightly depending on the destination and transport.
|
void |
writeInfoRefs()
Rebuild the
Constants.INFO_REFS . |
void |
writePackedRefs()
Rebuild the
Constants.PACKED_REFS file. |
public RefWriter(Collection<Ref> refs)
refs
- the complete set of references. This should have been computed
by applying updates to the advertised refs already discovered.public RefWriter(Map<String,Ref> refs)
refs
- the complete set of references. This should have been computed
by applying updates to the advertised refs already discovered.public void writeInfoRefs() throws IOException
Constants.INFO_REFS
.
This method rebuilds the contents of the Constants.INFO_REFS
file
to match the passed list of references.
IOException
- writing is not supported, or attempting to write the file
failed, possibly due to permissions or remote disk full, etc.public void writePackedRefs() throws IOException
Constants.PACKED_REFS
file.
This method rebuilds the contents of the Constants.PACKED_REFS
file to match the passed list of references, including only those refs
that have a storage type of Ref.Storage.PACKED
.
IOException
- writing is not supported, or attempting to write the file
failed, possibly due to permissions or remote disk full, etc.protected abstract void writeFile(String file, byte[] content) throws IOException
file
- path to ref file.content
- byte content of file to be written.IOException
Copyright © 2015 Eclipse JGit Project. All rights reserved.