1. 23 Jul, 2011 3 commits
    • index: use git_futils_readbuffer_updated · 7db40d45
      This helps readability a bit as well.
      
      Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
      Carlos Martín Nieto committed
    • refs: don't stat so much · c4982328
      In reference_read we stat a file and then call futils which stats it
      again. Use git_futils_readbuffer_updated to avoid the extra stat
      call. This introduces another parameter which is used to tell the
      caller whether the file was read or not.
      
      Modify the callers to take advantage of this new feature. This change
      removes ~140 stat calls from the test suite.
      
      Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
      Carlos Martín Nieto committed
    • Add git_futils_readbuffer_updated · c3da9f06
      This extends the git_fuitls_readbuffer function to only read in if the
      file's modification date is later than the given one. Some code paths
      want to check a file's modification date in order to decide whether
      they should read it or not. If they do want to read it, another stat
      call is done by futils. This function combines these two operations so
      we avoid one stat call each time we read a new or updated file.
      
      The git_futils_readbuffer functions is now a wrapper around the new
      function.
      
      Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
      Carlos Martín Nieto committed
  2. 22 Jul, 2011 3 commits
  3. 20 Jul, 2011 1 commit
  4. 19 Jul, 2011 2 commits
    • index: fix memory leak · 26b1b157
      We need really free vectors on index freeing, not only clear.
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • refs: fix memory leak on rename · 5c6ae009
      Current implementation of git_reference_rename() removes 'ref' from
      loose cache, but not frees it. In result 'ref' is not reachable any more
      and we have got memory leak.
      
      Let's re-add 'ref' with corrected name to loose cache instead of
      'new_ref' and free 'new_ref' properly.
      
      'rollback' path seems leak too. git_reference_rename() need to be rewritten
      for proper resource management.
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
  5. 17 Jul, 2011 2 commits
  6. 14 Jul, 2011 5 commits
    • Merge pull request #326 from nulltoken/ntk/fix/extern-tag-lightweight · 33afca47
      tag: Make git_tag_create_lightweight() accessible to bindings
      Vicent Martí committed
    • libgit2 v0.14.0, "watermelon wheat" · 52e50c1a
      This a very packed minor release. The usual guilty parties have been
      working harder than usual during the holidays -- thanks to everyone
      involved!
      
      As always, the updated API docs can be found at:
      
      	http://libgit2.github.com/libgit2/
      
      NEW FEATURES:
      
      	- New OS abstraction layer. This should make all POSIX calls much
      	more reliable under Windows.
      
      	- Much faster writes of simple objects (commits, tags, trees) to the
      	ODB via in-memory buffering and direct writes, instead of streaming.
      
      	- Unified & simplified API for object creation. All the `create`
      	methods now take Objects instead of OIDs to ensure that corrupted
      	(dangling) objects cannot be created on the repository.
      
      	- Fully Git-compilant reference renaming (finally!), with
      	the already existing `git_reference_rename`.
      
      	- Deletion of config keys with `git_config_delete`
      
      	- Greatly improved index performance when adding new entries
      
      	- Reflog support with the `git_reflog` API
      
      	- Remotes support with the `git_remote` API
      
      	- First parts of the Networking API, including refspecs and
      	the transport abstraction layer. (Note that there are no actual
      	transports implemented yet)
      
      	- Status support with the `git_status_foreach` and `git_status_file`
      	functions.
      
      	- Tons of bugfixes, including the outstanding bug #127 (wrong sort
      	ordering when querying tree entries).
      
      KNOWN ISSUES:
      
      	- The reference renaming code leaks memory. This is being worked on
      	as part of a reference handling overhaul.
      
      	- The tree-from-index builder has abysmal performance because it
      	doesn't handle the Treecache extension yet. This is also being
      	worked on.
      
      FULL API CHANGELOG:
      
      	- removed, * modified, + added
      
      	- git_commit_create_o
      	- git_commit_create_ov
      	- git_reference_create_oid_f
      	- git_reference_create_symbolic_f
      	- git_reference_rename_f
      	- git_tag_create_f
      	- git_tag_create_fo
      	- git_tag_create_o
      
      	* git_commit_create
      	* git_commit_create_v
      	* git_config_foreach
      	* git_reference_create_oid
      	* git_reference_create_symbolic
      	* git_reference_rename
      	* git_tag_create
      	* git_tag_create_frombuffer
      
      	+ git_clearerror
      	+ git_config_delete
      	+ git_index_uniq
      	+ git_odb_hashfile
      	+ git_oid_fromstrn
      	+ git_reflog_entry_byindex
      	+ git_reflog_entry_committer
      	+ git_reflog_entry_msg
      	+ git_reflog_entry_oidnew
      	+ git_reflog_entry_oidold
      	+ git_reflog_entrycount
      	+ git_reflog_free
      	+ git_reflog_read
      	+ git_reflog_write
      	+ git_refspec_src_match
      	+ git_refspec_transform
      	+ git_remote_connect
      	+ git_remote_fetchspec
      	+ git_remote_free
      	+ git_remote_get
      	+ git_remote_ls
      	+ git_remote_name
      	+ git_remote_url
      	+ git_repository_head_detached
      	+ git_repository_head_orphan
      	+ git_status_file
      	+ git_status_foreach
      	+ git_tag_create_lightweight
      	+ git_tag_list_match
      	+ git_transport_new
      Vicent Marti committed
    • Merge pull request #325 from carlosmn/valgrind · 324f0eec
      More memory leaks
      Vicent Martí committed
    • Merge pull request #324 from carlosmn/development · 18bdba0e
      typo: one git_remote_fetchspec should be pushspec
      Vicent Martí committed
  7. 13 Jul, 2011 14 commits
  8. 12 Jul, 2011 10 commits