1. 26 Jul, 2011 1 commit
  2. 25 Jul, 2011 19 commits
    • filebuf: update git_filebuf.write signature to take non-const buffer · 05a62d1a
      z_stream.next_in is non-const. Although currently Zlib doesn't modify
      buffer content on deflate(), it might be change in the future. gzwrite()
      already modify it.
      
      To avoid this let's change signature of git_filebuf.write and rework
      git_filebuf_write() accordingly.
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • index: rework index entry initialization routine · 76159921
      index_init_entry() renamed to index_entry_init(). Now it allocates entry
      on its own.
      
      git_index_add() and git_index_append() reworked accordingly.
      
      This commit fixes warning:
      
      /home/kas/git/public/libgit2/src/index.c: In function ‘index_init_entry’:
      /home/kas/git/public/libgit2/src/index.c:452:14: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • index: rework index_insert() · f939d39b
      Now index_insert() takes copy of index entry, not coping it by itself.
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • index: introduce index_entry_free() · b2dd6815
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • index: extract index_entry_dup() from index_insert() · 51917d9c
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • index: fix cast warnings · 7d9cc9f8
      /home/kas/git/public/libgit2/src/index.c: In function ‘git_index_clear’:
      /home/kas/git/public/libgit2/src/index.c:228:8: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/index.c:235:8: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/index.c: In function ‘index_insert’:
      /home/kas/git/public/libgit2/src/index.c:392:7: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/index.c:399:7: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/index.c: In function ‘read_unmerged’:
      /home/kas/git/public/libgit2/src/index.c:681:35: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/index.c: In function ‘read_entry’:
      /home/kas/git/public/libgit2/src/index.c:716:33: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • tests: fix cast warnings · 84ef7f36
      /home/kas/git/public/libgit2/tests/t00-core.c: In function ‘test_cmp’:
      /home/kas/git/public/libgit2/tests/t00-core.c:78:10: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t00-core.c:78:22: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t07-hashtable.c: In function ‘hash_func’:
      /home/kas/git/public/libgit2/tests/t07-hashtable.c:42:7: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t08-tag.c: In function ‘_gittest__write0’:
      /home/kas/git/public/libgit2/tests/t08-tag.c:141:21: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t08-tag.c: In function ‘_gittest__write2’:
      /home/kas/git/public/libgit2/tests/t08-tag.c:192:21: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t08-tag.c: In function ‘_gittest__write3’:
      /home/kas/git/public/libgit2/tests/t08-tag.c:227:21: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t04-commit.c: In function ‘_gittest__write0’:
      /home/kas/git/public/libgit2/tests/t04-commit.c:650:21: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t04-commit.c:651:21: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t04-commit.c: In function ‘_gittest__root0’:
      /home/kas/git/public/libgit2/tests/t04-commit.c:723:21: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t04-commit.c:724:21: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/tests/t12-repo.c: In function ‘write_file’:
      /home/kas/git/public/libgit2/tests/t12-repo.c:360:24: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • refs: fix cast warning · b75bec94
      /home/kas/git/public/libgit2/src/refs.c: In function ‘normalize_name’:
      /home/kas/git/public/libgit2/src/refs.c:1681:12: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • tree: fix cast warnings · 0cbbdc26
      /home/kas/git/public/libgit2/src/tree.c: In function ‘entry_search_cmp’:
      /home/kas/git/public/libgit2/src/tree.c:47:36: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/tree.c: In function ‘git_treebuilder_remove’:
      /home/kas/git/public/libgit2/src/tree.c:443:31: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • posix: declare 'buf' argument of p_write() as const · 2ba222c5
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • odb_pack: fix cast warnings · 03cdbab4
      /home/kas/git/public/libgit2/src/odb_pack.c: In function ‘packfile_sort__cb’:
      /home/kas/git/public/libgit2/src/odb_pack.c:702:24: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:703:24: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c: In function ‘nth_packed_object_offset’:
      /home/kas/git/public/libgit2/src/odb_pack.c:944:10: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:944:10: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:944:10: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:948:9: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:948:9: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:948:9: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:952:22: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:952:22: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:952:22: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:953:8: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:953:8: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/odb_pack.c:953:8: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • sha1: fix cast warnings · 4414b355
      /home/kas/git/public/libgit2/src/sha1.c: In function ‘blk_SHA1_Block’:
      /home/kas/git/public/libgit2/src/sha1.c:128:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:128:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:128:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:129:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:129:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:129:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:130:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:130:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:130:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:131:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:131:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:131:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:132:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:132:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:132:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:133:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:133:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:133:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:134:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:134:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:134:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:135:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:135:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:135:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:136:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:136:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:136:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:137:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:137:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:137:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:138:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:138:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:138:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:139:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:139:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:139:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:140:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:140:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:140:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:141:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:141:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:141:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:142:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:142:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:142:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:143:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:143:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/sha1.c:143:2: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • revwalk: fix cast warning · 803ca5cb
      /home/kas/git/public/libgit2/src/revwalk.c: In function ‘object_table_hash’:
      /home/kas/git/public/libgit2/src/revwalk.c:120:7: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • transport_local: fix cast warnings · ba1de1af
      home/kas/git/public/libgit2/src/transport_local.c: In function ‘cmp_refs’:
      /home/kas/git/public/libgit2/src/transport_local.c:19:22: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/transport_local.c:20:22: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • reflog: fix cast warning · b42a7f01
      /home/kas/git/public/libgit2/src/reflog.c: In function ‘reflog_parse’:
      /home/kas/git/public/libgit2/src/reflog.c:148:17: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • commit: fix cast warnings · 14468c6b
      /home/kas/git/public/libgit2/src/commit.c: In function ‘commit_parse_buffer’:
      /home/kas/git/public/libgit2/src/commit.c:186:23: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      /home/kas/git/public/libgit2/src/commit.c:187:27: warning: cast discards ‘__attribute__((const))’ qualifier from pointer target type [-Wcast-qual]
      
      Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
      Kirill A. Shutemov committed
    • Merge pull request #336 from schu/cleanup · 269beb47
      repository.c: remove obsolete TODO marker
      Vicent Martí committed
    • Merge pull request #337 from belkiss/development · 738715eb
      Modify struct definition to enable forward declare with C++ compiler, thus avoid including C library's header in C++ header.
      Vicent Martí committed
    • Modify struct definition to enable forward declare with C++ compiler, · ac2351fd
      thus avoid including C library's header in C++ header.
      Lambert CLARA committed
  3. 24 Jul, 2011 1 commit
  4. 22 Jul, 2011 3 commits
  5. 20 Jul, 2011 1 commit
  6. 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
  7. 17 Jul, 2011 2 commits
  8. 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
  9. 13 Jul, 2011 6 commits
    • status: don't hide tree closing · 1a8167af
      It's not obvious that recurse_tree_entries or recurse_tree_entry
      should free a resource that wasn't allocated by them. Do this
      explicitely and plug a leak while we're at it.
      
      Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
      Carlos Martín Nieto committed
    • typo: one git_remote_fetchspec should be pushspec · 91d8a4c0
      Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
      Carlos Martín Nieto committed
    • Merge pull request #323 from nulltoken/ntk/fix/treebuilder-insert · 8dc91e31
      tree: fix insertion of entries with invalid filenames
      Vicent Martí committed
    • tree: More accurate matching on entries · e6629d83
      The old matcher was returning fake matches when given stupid entry
      names. E.g.
      
      	`git2` could be matched by `git2   /`, `git2/foobar`, git2/////`
      	and other stupid stuff
      Vicent Marti committed
    • tree: Fix wrong sort order when querying entries · 761aa2aa
      Fixes #127 (that was quite an outstanding issue).
      
      Rationale:
      
      The tree objects on Git are stored and read following a very specific
      sorting algorithm that places folders before files. That original sort
      was the sort we were storing on memory, but this sort was being queried
      with a binary search that used a simple `strcmp` for comparison, so
      there were many instances where the search was failing.
      
      Obviously, the most straightforward way to fix this is changing the
      binary search CB to use the same comparison method as the sorting CB.
      The problem with this is that the binary search callback compares a path
      and an entry, so there is no way to know if the given path is a folder
      or a standard file.
      
      How do we work around this? Instead of splitting the `entry_byname`
      method in two (one for searching directories and one for searching
      normal files), we just assume that the path we are searching for is of
      the same kind as the path it's being compared at the moment.
      
      	return git_futils_cmp_path(
      		ksearch->filename, ksearch->filename_len, entry->attr & 040000,
              entry->filename, entry->filename_len, entry->attr & 040000);
      
      Since there cannot be a folder and a regular file with the same name on
      the same tree, the most basic equality check will always fail
      for all comparsions, until our path is compared with the actual entry we
      are looking for; in this case, the matching will succeed with the file
      type of the entry -- whatever it was initially.
      
      I hope that makes sense.
      
      PS: While I was at it, I switched the cmp methods to use cached values
      for the length of each filename. That makes searches and sorts
      retardedly fast -- I was wondering the reason of the performance hiccups
      on massive trees; it's because of 2*strlen for each comparsion call.
      Vicent Marti committed