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.IOExceptionCopyright © 2014. All rights reserved.