1. 08 8月, 2014 4 次提交
  2. 30 7月, 2014 2 次提交
    • T
      test-config: add tests for the config_set API · 4c715ebb
      Tanay Abhra 提交于
      Expose the `config_set` C API as a set of simple commands in order to
      facilitate testing. Add tests for the `config_set` API as well as for
      `git_config_get_*()` family for the usual config files.
      Signed-off-by: NMatthieu Moy <Matthieu.Moy@imag.fr>
      Signed-off-by: NTanay Abhra <tanayabh@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4c715ebb
    • T
      add `config_set` API for caching config-like files · 3c8687a7
      Tanay Abhra 提交于
      Currently `git_config()` uses a callback mechanism and file rereads for
      config values. Due to this approach, it is not uncommon for the config
      files to be parsed several times during the run of a git program, with
      different callbacks picking out different variables useful to themselves.
      
      Add a `config_set`, that can be used to construct an in-memory cache for
      config-like files that the caller specifies (i.e., files like `.gitmodules`,
      `~/.gitconfig` etc.). Add two external functions `git_configset_get_value`
      and `git_configset_get_value_multi` for querying from the config sets.
      `git_configset_get_value` follows `last one wins` semantic (i.e. if there
      are multiple matches for the queried key in the files of the configset the
      value returned will be the last entry in `value_list`).
      `git_configset_get_value_multi` returns a list of values sorted in order of
      increasing priority (i.e. last match will be at the end of the list). Add
      type specific query functions like `git_configset_get_bool` and similar.
      
      Add a default `config_set`, `the_config_set` to cache all key-value pairs
      read from usual config files (repo specific .git/config, user wide
      ~/.gitconfig, XDG config and the global /etc/gitconfig). `the_config_set`
      is populated using `git_config()`.
      
      Add two external functions `git_config_get_value` and
      `git_config_get_value_multi` for querying in a non-callback manner from
      `the_config_set`. Also, add type specific query functions that are
      implemented as a thin wrapper around the `config_set` API.
      Signed-off-by: NMatthieu Moy <Matthieu.Moy@imag.fr>
      Signed-off-by: NTanay Abhra <tanayabh@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      3c8687a7
  3. 24 7月, 2014 8 次提交
  4. 23 7月, 2014 23 次提交
  5. 22 7月, 2014 3 次提交