1. 04 May, 2015 7 commits
  2. 23 Apr, 2015 1 commit
  3. 21 Apr, 2015 2 commits
  4. 03 Mar, 2015 1 commit
    • config: borrow refcounted references · 9a97f49e
      This changes the get_entry() method to return a refcounted version of
      the config entry, which you have to free when you're done.
      
      This allows us to avoid freeing the memory in which the entry is stored
      on a refresh, which may happen at any time for a live config.
      
      For this reason, get_string() has been forbidden on live configs and a
      new function get_string_buf() has been added, which stores the string in
      a git_buf which the user then owns.
      
      The functions which parse the string value takea advantage of the
      borrowing to parse safely and then release the entry.
      Carlos Martín Nieto committed
  5. 23 Oct, 2014 1 commit
  6. 16 Jul, 2014 1 commit
  7. 18 Apr, 2014 2 commits
  8. 11 Dec, 2013 1 commit
    • Improve GIT_EUSER handling · 96869a4e
      This adds giterr_user_cancel to return GIT_EUSER and clear any
      error message that is sitting around.  As a result of using that
      in places, we need to be more thorough with capturing errors that
      happen inside a callback when used internally.  To help with that,
      this also adds giterr_capture and giterr_restore so that when we
      internally use a foreach-type function that clears errors and
      converts them to GIT_EUSER, it is easier to restore not just the
      return value, but the actual error message text.
      Russell Belfer committed
  9. 14 Nov, 2013 1 commit
  10. 07 Nov, 2013 2 commits
  11. 05 Nov, 2013 1 commit
  12. 08 Aug, 2013 1 commit
    • config: allow empty string as value · c57f6682
      `git_config_set_string(config, "config.section", "")` fails when
      escaping the value.
      
      The buffer in `escape_value` is allocated without NULL-termination. And
      in case of empty string 0 is passed for buffer size in `git_buf_grow`.
      
      `git_buf_detach` returns NULL when the allocated size is 0 and that
      leads to an error return in `GITERR_CHECK_ALLOC` called after
      `escape_value`
      
      The change in `config_file.c` was suggested by Russell Belfer <rb@github.com>
      Nikolai Vladimirov committed
  13. 09 Mar, 2013 1 commit
  14. 25 Jan, 2013 1 commit
  15. 27 Nov, 2012 1 commit
  16. 23 Oct, 2012 2 commits
  17. 13 Jun, 2012 2 commits
  18. 17 May, 2012 3 commits
  19. 09 Mar, 2012 1 commit
  20. 25 Jan, 2012 1 commit
  21. 26 Nov, 2011 1 commit
    • repository: Change ownership semantics · 9462c471
      The ownership semantics have been changed all over the library to be
      consistent. There are no more "borrowed" or duplicated references.
      
      Main changes:
      
      	- `git_repository_open2` and `3` have been dropped.
      
      	- Added setters and getters to hotswap all the repository owned
      	objects:
      
      		`git_repository_index`
      		`git_repository_set_index`
      		`git_repository_odb`
      		`git_repository_set_odb`
      		`git_repository_config`
      		`git_repository_set_config`
      		`git_repository_workdir`
      		`git_repository_set_workdir`
      
      	Now working directories/index files/ODBs and so on can be
      	hot-swapped after creating a repository and between operations.
      
      	- All these objects now have proper ownership semantics with
      	refcounting: they all require freeing after they are no longer
      	needed (the repository always keeps its internal reference).
      
      	- Repository open and initialization has been updated to keep in
      	mind the configuration files. Bare repositories are now always
      	detected, and a default config file is created on init.
      
      	- All the tests affected by these changes have been dropped from the
      	old test suite and ported to the new one.
      Vicent Marti committed