1. 04 Aug, 2016 1 commit
    • sysdir: use the standard `init` pattern · 031d34b7
      Don't try to determine when sysdirs are uninitialized.  Instead, simply
      initialize them all at `git_libgit2_init` time and never try to
      reinitialize, except when consumers explicitly call `git_sysdir_set`.
      
      Looking at the buffer length is especially problematic, since there may
      no appropriate path for that value.  (For example, the Windows-specific
      programdata directory has no value on non-Windows machines.)
      
      Previously we would continually trying to re-lookup these values,
      which could get racy if two different threads are each calling
      `git_sysdir_get` and trying to lookup / clear the value simultaneously.
      Edward Thomson committed
  2. 02 Aug, 2016 1 commit
  3. 24 Jul, 2016 13 commits
  4. 23 Jul, 2016 1 commit
  5. 15 Jul, 2016 1 commit
    • remote: Handle missing config values when deleting a remote · d81cb2e4
      Somehow I ended up with the following in my ~/.gitconfig:
      [branch "master"]
      remote = origin
      merge = master
      rebase = true
      
      I assume something went crazy while I was running the git.git tests
      some time ago, and that I never noticed until now.
      
      This is not a good configuration, but it shouldn't cause problems. But
      it does. Specifically, if you have this in your config, and you
      perform the following set of actions:
      
      create a remote
      fetch from that remote
      create a branch off of the remote master branch called "master"
      delete the branch
      delete the remote
      
      The remote delete fails with the message "Could not find key
      'branch.master.rebase' to delete". This is because it's iterating over
      the config entries (including the ones in the global config) and
      believes that there is a master branch which must therefore have these
      config keys.
      
      https://github.com/libgit2/libgit2/issues/3856
      David Turner committed
  6. 05 Jul, 2016 3 commits
  7. 01 Jul, 2016 2 commits
  8. 30 Jun, 2016 3 commits
  9. 29 Jun, 2016 6 commits
  10. 28 Jun, 2016 1 commit
  11. 26 Jun, 2016 7 commits
  12. 24 Jun, 2016 1 commit
    • find_repo: Clean up and simplify logic · 2b490284
      find_repo had a complex loop and heavily nested conditionals, making it
      difficult to follow.  Simplify this as much as possible:
      
      - Separate assignments from conditionals.
      - Check the complex loop condition in the only place it can change.
      - Break out of the loop on error, rather than going through the rest of
        the loop body first.
      - Handle error cases by immediately breaking, rather than nesting
        conditionals.
      - Free repo_link unconditionally on the way out of the function, rather
        than in multiple places.
      - Add more comments on the remaining complex steps.
      Josh Triplett committed