1. 15 Feb, 2015 1 commit
  2. 07 Jan, 2015 1 commit
  3. 06 Jan, 2015 1 commit
  4. 22 Dec, 2014 2 commits
  5. 08 Nov, 2014 1 commit
  6. 03 Sep, 2014 1 commit
  7. 08 May, 2014 1 commit
    • Be more careful with user-supplied buffers · 1e4976cb
      This adds in missing calls to `git_buf_sanitize` and fixes a
      number of places where `git_buf` APIs could inadvertently write
      NUL terminator bytes into invalid buffers.  This also changes the
      behavior of `git_buf_sanitize` to NUL terminate a buffer if it can
      and of `git_buf_shorten` to do nothing if it can.
      
      Adds tests of filtering code with zeroed (i.e. unsanitized) buffer
      which was previously triggering a segfault.
      Russell Belfer committed
  8. 17 Apr, 2014 2 commits
  9. 03 Apr, 2014 3 commits
  10. 01 Apr, 2014 9 commits
    • Fix submodule accounting for name and path changes · 4ece3e22
      Wrote tests that try adding, removing, and updating the name of
      submodules which showed a number of problems with how we account
      for changes when incrementally updating the submodule info.  Most
      of these issues didn't exist before because reloading would always
      blow away the old submodule data.
      Russell Belfer committed
    • Minor submodule cache locking improvements · aa78c9ba
      This improvement the management of the lock around submodule cache
      updates slightly, using the lock to make sure that foreach can
      safely make a snapshot of all existing submodules and making sure
      that git_submodule_add_setup also grabs a lock before inserting
      the new submodule.  Cache initialization / refresh should already
      have been holding the lock correctly as it adds submodules.
      Russell Belfer committed
    • Reinstate efficient submodule reloading · eeeb9654
      This makes it so that git_submodule_reload_all will actually only
      reload changed items unless the `force` flag is used.
      Russell Belfer committed
    • Use enums instead of bools for submodule options · a4ccd2b0
      When forcing cache flushes or reload, etc., it is easier to keep
      track of intent using enums instead of plain bools.  Also, this
      fixes a bug where the cache was not being properly refreshes by
      a git_submodule_reload_all.
      Russell Belfer committed
    • Make submodule refresh a bit smarter · db0e7878
      This makes submodule cache refresh actually look at the timestamps
      from the data sources for submodules and reload as needed if they
      have changed since the last refresh.
      Russell Belfer committed
    • Make a real submodule cache object · 69b6ffc4
      This takes the old submodule cache which was just a git_strmap
      and makes a real git_submodule_cache object that can contain other
      things like a lock and timestamp-ish data to control refreshing of
      submodule info.
      Russell Belfer committed
    • Submodule sync refactoring · e402d2f1
      Turns out there was already a helper to do what I wanted to do,
      so I just made it so that I could use it for sync and switched to
      that instead.
      Russell Belfer committed
    • Fix git_submodule_sync and add new config helper · 8286300a
      This fixes `git_submodule_sync` to correctly update the remote URL
      of the default branch of the submodule along with the URL in the
      parent repository config (i.e. match core Git's behavior).
      
      Also move some useful helper logic from the submodule code into
      a shared config API `git_config__update_entry` that can either set
      or delete an entry with constraints like not overwriting or not
      creating a new entry.  I used that helper to update a couple other
      places in the code.
      Russell Belfer committed
    • Add efficient git_buf join3 API · 18234b14
      There are a few places where we need to join three strings to
      assemble a path.  This adds a simple join3 function to avoid the
      comparatively expensive join_n (which calls strlen on each string
      twice).
      Russell Belfer committed
  11. 31 Mar, 2014 1 commit
  12. 27 Mar, 2014 2 commits
  13. 26 Mar, 2014 2 commits
  14. 25 Mar, 2014 2 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
    • 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
  15. 10 Mar, 2014 2 commits
  16. 30 Jan, 2014 1 commit
  17. 25 Jan, 2014 1 commit
  18. 02 Jan, 2014 2 commits
  19. 30 Dec, 2013 2 commits
  20. 12 Dec, 2013 1 commit
  21. 11 Dec, 2013 2 commits