1. 29 Mar, 2014 1 commit
  2. 28 Mar, 2014 3 commits
  3. 27 Mar, 2014 5 commits
  4. 26 Mar, 2014 10 commits
  5. 25 Mar, 2014 4 commits
    • Fix submodule leaks and invalid references · 591e8295
      This cleans up some places I missed that could hold onto submodule
      references and cleans up the way in which the repository cache is
      both reloaded and released so that existing submodule references
      aren't destroyed inappropriately.
      Russell Belfer committed
    • Update behavior for untracked sub-repos · d3bc95fd
      When a directory containing a .git directory (or even just a plain
      gitlink) was found, libgit2 was going out of its way to treat it
      specially.  This seemed like it was necessary because the diff
      code was not originally emulating Git's behavior for untracked
      directories correctly (i.e. scanning for ignored vs untracked items
      inside).  Now that libgit2 diff mimics Git's untracked directory
      behavior, the special handling for contained Git repos is actually
      incorrect and this commit rips it out.
      Russell Belfer committed
    • Merge pull request #2181 from anuraggup/hide_cb · 451aaf86
      Callback function to hide commit and its parents in revision walker
      Edward Thomson committed
    • Make submodules externally refcounted · a15c7802
      `git_submodule` objects were already refcounted internally in case
      the submodule name was different from the path at which it was
      stored.  This makes that refcounting externally used as well, so
      `git_submodule_lookup` and `git_submodule_add_setup` return an
      object that requires a `git_submodule_free` when done.
      Russell Belfer committed
  6. 24 Mar, 2014 13 commits
  7. 21 Mar, 2014 2 commits
  8. 20 Mar, 2014 2 commits
    • Merge pull request #2195 from libgit2/cmn/revwalk-no-hide · 36a80fda
      revwalk: don't try to find merge bases when there can be none
      Vicent Marti committed
    • revwalk: don't try to find merge bases when there can be none · 704b55cc
      As a way to speed up the cases where we need to hide some commits, we
      find out what the merge bases are so we know to stop marking commits as
      uninteresting and avoid walking down a potentially very large amount of
      commits which we will never see. There are however two oversights in
      current code.
      
      The merge-base finding algorithm fails to recognize that if it is only
      given one commit, there can be no merge base. It instead walks down the
      whole ancestor chain needlessly. Make it return an empty list
      immediately in this situation.
      
      The revwalk does not know whether the user has asked to hide any commits
      at all. In situation where the user pushes multiple commits but doesn't
      hide any, the above fix wouldn't do the trick. Keep track of whether the
      user wants to hide any commits and only run the merge-base finding
      algorithm when it's needed.
      Carlos Martín Nieto committed