Class RefWriter

java.lang.Object
org.eclipse.jgit.lib.RefWriter

public abstract class RefWriter extends Object
Writes out refs to the 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.
  • Field Details

  • Constructor Details

    • RefWriter

      public RefWriter(Collection<Ref> refs)

      Constructor for RefWriter.

      Parameters:
      refs - the complete set of references. This should have been computed by applying updates to the advertised refs already discovered.
    • RefWriter

      public RefWriter(Map<String,Ref> refs)

      Constructor for RefWriter.

      Parameters:
      refs - the complete set of references. This should have been computed by applying updates to the advertised refs already discovered.
    • RefWriter

      public RefWriter(RefList<Ref> refs)

      Constructor for RefWriter.

      Parameters:
      refs - the complete set of references. This should have been computed by applying updates to the advertised refs already discovered.
  • Method Details

    • writeInfoRefs

      public void writeInfoRefs() throws IOException
      Rebuild the Constants.INFO_REFS.

      This method rebuilds the contents of the Constants.INFO_REFS file to match the passed list of references.

      Throws:
      IOException - writing is not supported, or attempting to write the file failed, possibly due to permissions or remote disk full, etc.
    • writePackedRefs

      public void writePackedRefs() throws IOException
      Rebuild the 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.

      Throws:
      IOException - writing is not supported, or attempting to write the file failed, possibly due to permissions or remote disk full, etc.
    • writeFile

      protected abstract void writeFile(String file, byte[] content) throws IOException
      Handles actual writing of ref files to the git repository, which may differ slightly depending on the destination and transport.
      Parameters:
      file - path to ref file.
      content - byte content of file to be written.
      Throws:
      IOException