Skip to content
  • Brandon Williams's avatar
    config: read config from a repository object · 3b256228
    Brandon Williams authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    Teach the config machinery to read config information from a repository
    object.  This involves storing a 'struct config_set' inside the
    repository object and adding a number of functions (repo_config*) to be
    able to query a repository's config.
    
    The current config API enables lazy-loading of the config.  This means
    that when 'git_config_get_int()' is called, if the_config_set hasn't
    been populated yet, then it will be populated and properly initialized by
    reading the necessary config files (system wide .gitconfig, user's home
    .gitconfig, and the repository's config).  To maintain this paradigm,
    the new API to read from a repository object's config will also perform
    this lazy-initialization.
    
    Since both APIs (git_config_get* and repo_config_get*) have the same
    semantics we can migrate the default config to be stored within
    'the_repository' and just have the 'git_config_get*' family of functions
    redirect to the 'repo_config_get*' functions.
    
    Signed-off-by: default avatarBrandon Williams <bmwill@google.com>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    3b256228