Class LfsConfig

java.lang.Object
org.eclipse.jgit.lfs.internal.LfsConfig

public class LfsConfig extends Object
Encapsulate access to the .lfsconfig. According to the document https://github.com/git-lfs/git-lfs/blob/main/docs/man/git-lfs-config.5.ronn the order to find the .lfsconfig file is:
   1. in the root of the working tree
   2. in the index
   3. in the HEAD, for bare repositories this is the only place
      that is searched
 
Values from the .lfsconfig are used only if not specified in another git config file to allow local override without modifiction of a committed file.
  • Field Details

  • Constructor Details

    • LfsConfig

      public LfsConfig(Repository db) throws IOException
      Create a new instance of the LfsConfig.
      Parameters:
      db - the associated repo
      Throws:
      IOException
  • Method Details

    • load

      private Config load() throws IOException
      Read the .lfsconfig file from the repository
      Returns:
      The loaded lfs config or null if it does not exist
      Throws:
      IOException
    • loadFromWorkingTree

      @Nullable private Config loadFromWorkingTree() throws IOException
      Try to read the lfs config from a file called .lfsconfig at the top level of the working tree.
      Returns:
      the config, or null
      Throws:
      IOException
    • loadFromIndex

      @Nullable private Config loadFromIndex() throws IOException
      Try to read the lfs config from an entry called .lfsconfig contained in the index.
      Returns:
      the config, or null if the entry does not exist
      Throws:
      IOException
    • loadFromHead

      @Nullable private Config loadFromHead() throws IOException
      Try to read the lfs config from an entry called .lfsconfig contained in the head revision.
      Returns:
      the config, or null if the file does not exist
      Throws:
      IOException
    • emptyConfig

      private Config emptyConfig()
      Create an empty config as fallback to avoid null pointer checks.
      Returns:
      an empty config
    • getString

      public String getString(String section, String subsection, String name)
      Get string value or null if not found. First tries to find the value in the git config files. If not found tries to find data in .lfsconfig.
      Parameters:
      section - the section
      subsection - the subsection for the value
      name - the key name
      Returns:
      a String value from the config, null if not found