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 | Description |
---|---|
RefWriter(Collection<Ref> refs) |
|
RefWriter(Map<String,Ref> refs) |
|
RefWriter(RefList<Ref> refs) |
Modifier and Type | Method | 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 © 2018. All rights reserved.