src


Log

Author Commit Date CI Message
Justin Spahr-Summers c3320aca 2012-12-09T02:22:50 git__mwindow_mutex needs to be initialized even with pthreads This could also use PTHREAD_MUTEX_INITIALIZER, but a dynamic initializer seems like a more portable concept, and we won't need another #define on top of git_mutex_init()
Vicent Martí 0249a503 2012-12-07T09:40:21 Merge pull request #1091 from carlosmn/stream-object Indexer speedup with large objects
Carlos Martín Nieto f1c75b94 2012-12-07T15:16:41 tree: relax the filemode parser There are many different broken filemodes in the wild so we need to protect against them and give something useful up the chain. Don't fail when reading a tree from the ODB but normalize the mode as best we can. As 664 is no longer a mode that we consider to be valid and gets normalized to 644, we can stop accepting it in the treebuilder. The library won't expose it to the user, so any invalid modes are a bug.
Russell Belfer 32770c52 2012-12-05T13:56:32 Fix diff header comments and missing const Based on the recent work to wrap diff in objective-git, this includes a fix for a missing const and a number of clarifications of the documentation.
Vicent Marti bf192cdb 2012-12-05T20:56:27 versions: MSVC build fixes
Vicent Marti 43efaabd 2012-12-05T20:54:03 common: Silly vmg.
Vicent Marti 8ff66112 2012-12-05T20:50:19 common: Silly MSVC
Vicent Martí e05ca13f 2012-12-05T11:47:19 Merge pull request #1115 from ben/struct-versions Version info for public structs
Edward Thomson 05fc823f 2012-12-04T16:59:34 indentation fix
Edward Thomson aab8f5af 2012-12-04T16:40:09 hey don't stomp on my memory!
Edward Thomson b2414661 2012-11-28T22:43:55 status should ignore conflicts entries in the index
Ben Straub ee1c33b1 2012-12-03T12:45:15 Don't unconstify when casting
Ben Straub de70aea6 2012-12-03T12:41:50 Remove GIT_SIGNATURE_VERSION and friends
Vicent Martí 3368c520 2012-12-03T07:38:58 Merge pull request #1112 from barrbrain/odb-pack-read-header odb-pack: resurrect pack_backend__read_header
Vicent Marti 7ea3a79f 2012-12-03T16:04:39 Vade retro satana
David Michael Barr bfb8bcc1 2012-12-03T10:36:32 odb-pack: resurrect pack_backend__read_header
David Michael Barr 44f9f547 2012-11-30T13:33:30 pack: add git_packfile_resolve_header To paraphrase @peff: You can get both size and type from a packed object reasonably cheaply. If you have: * An object that is not a delta; both type and size are available in the packfile header. * An object that is a delta. The packfile type will be OBJ_*_DELTA, and you have to resolve back to the base to find the real type. That means potentially a lot of packfile index lookups, but each one is relatively cheap. For the size, you inflate the first few bytes of the delta, whose header will tell you the resulting size of applying the delta to the base. For simplicity, we just decompress the whole delta for now.
nulltoken cc146626 2012-11-19T19:00:46 revparse: Deploy EINVALIDSPEC usage
nulltoken bc05f30c 2012-11-19T18:49:25 object: refine git_object_peel() error report
nulltoken 18d6f120 2012-11-12T15:55:38 tag: Deploy EINVALIDSPEC usage
nulltoken 80212ecb 2012-11-12T16:49:29 reflog: Deploy EINVALIDSPEC usage
nulltoken 80d9d1df 2012-11-12T15:42:15 refs: Deploy EINVALIDSPEC usage
nulltoken 83458bb7 2012-11-12T14:06:13 refs: Fix error clearing
nulltoken 032ba9e4 2012-11-12T12:32:31 remote: deploy EINVALIDSPEC usage
Ben Straub 0ab3a2ab 2012-11-30T20:34:50 Deploy GIT_INIT_STRUCTURE
David Michael Barr d1b6ea8a 2012-12-01T14:50:20 delta-apply: add git__delta_read_header
Ben Straub c7231c45 2012-11-30T16:31:42 Deploy GITERR_CHECK_VERSION
Ben Straub 4ec197f3 2012-11-30T12:52:42 Deploy GIT_SIGNATURE_INIT
Ben Straub 10711769 2012-11-29T20:47:37 Deploy versioned git_transport structure
Ben Straub 79cfa20d 2012-11-29T20:12:59 Deploy GIT_STATUS_OPTIONS_INIT
Ben Straub b4d13652 2012-11-29T20:06:23 Deploy GIT_REPOSITORY_INIT_OPTIONS_INIT
Ben Straub 9267ff58 2012-11-29T20:01:24 Deploy GIT_REMOTE_CALLBACKS_INIT
Ben Straub 55f6f21b 2012-11-29T19:59:18 Deploy versioned git_odb_backend structure
Ben Straub ca901e7b 2012-11-29T15:16:19 Deploy GIT_DIFF_FIND_OPTIONS_INIT
Ben Straub 2f8d30be 2012-11-29T15:05:04 Deploy GIT_DIFF_OPTIONS_INIT
Ben Straub 69177621 2012-11-29T14:07:50 Deploy git_config_backend version
Ben Straub b81aa2f1 2012-11-29T14:06:40 Deploy GIT_CHECKOUT_OPTS_INIT
Carlos Martín Nieto 3908c254 2012-11-30T17:25:50 indexer: correctly deal with objects larger than the window size A mmap-window is not guaranteed to give you the whole object, but the indexer currently assumes so. Loop asking for more data until we've successfully CRC'd all of the packed data.
Carlos Martín Nieto 5a3ad89d 2012-11-20T07:03:56 indexer: make use of streaming also for deltas Up to now, deltas needed to be enterily in the packfile, and we tried to decompress then in their entirety over and over again. Adjust the logic so we read them as they come, just as we do for full objects. This also allows us to simplify the logic and have less nested code. The delta resolving phase still needs to decompress the whole object into memory, as there is not yet any streaming delta-apply support, but it helps in speeding up the downloading process and reduces the amount of memory allocations we need to do.
Carlos Martín Nieto f56f8585 2012-11-19T22:23:16 indexer: use the packfile streaming API The new API allows us to read the object bit by bit from the packfile, instead of needing it all at once in the packfile. This also allows us to hash the object as it comes in from the network instead of having to try to read it all and failing repeatedly for larger objects. This is only the first step, but it already shows huge improvements when dealing with objects over a few megabytes in size. It reduces the memory needs in some cases, but delta objects still need to be completely in memory and the old inefficent method is still used for that.
Carlos Martín Nieto 46635339 2012-11-19T22:22:33 pack: introduce a streaming API for raw objects This allows us to take objects from the packfile as a stream instead of having to keep it all in memory.
Carlos Martín Nieto da820437 2012-11-30T15:26:45 graph: plug leak
Carlos Martín Nieto 9ff07c24 2012-11-30T15:17:05 buf test: make sure we always set the bom variable
Russell Belfer f684970a 2012-11-29T22:53:34 Merge pull request #1108 from libgit2/ahead-behind-count Add API to calculate ahead/behind count
Scott J. Goldman bdf3e6df 2012-11-29T17:34:41 Fix error condition typo
Russell Belfer d5e44d84 2012-11-29T17:02:27 Fix function name and add real error check `revwalk.h:commit_lookup()` -> `git_revwalk__commit_lookup()` and make `git_commit_list_parse()` do real error checking that the item in the list is an actual commit object. Also fixed an apparent typo in a test name.
Vicent Martí f1e5c506 2012-11-29T12:18:05 Merge pull request #1110 from libgit2/features/push_rebased Push! By schu, phkelley, and congyiwu
Philip Kelley 4a6621fd 2012-11-29T08:35:21 Leverage the min macro from util.h
Philip Kelley 6762fe08 2012-11-29T08:29:26 Remove casts of return values of type void *
Philip Kelley ac22d08f 2012-11-29T08:22:15 Remove git_object_oid2type
Vicent Martí e2934db2 2012-11-29T02:05:46 Merge pull request #1090 from arrbee/ignore-invalid-by-default Ignore invalid entries by default
Vicent Martí ee06fec5 2012-11-29T01:29:50 Merge pull request #1083 from nulltoken/fix/tracking Fix git_branch_tracking() for branches with empty merge and/or remote config entries
Scott J. Goldman b994bfe3 2012-11-28T18:48:22 graph.c: prune includes
Scott J. Goldman 0984c876 2012-11-28T18:27:43 Rename git_count_ahead_behind -> git_graph_ahead_behind Moved it into graph.{c,h} which i created for the new "graph" functions namespace. Also adjusted the function prototype to use `size_t` and `const git_oid *`.
Scott J. Goldman c6d03c95 2012-11-28T18:07:08 fix coding style: while( -> while (
Scott J. Goldman bff53e54 2012-11-27T16:36:50 Add initial implementation of ahead-behind count
nulltoken 37849a8e 2012-11-17T22:09:55 tracking: fix retrieval of the tracking ref of branch with empty merge and/or remote entry
Russell Belfer 7bf87ab6 2012-11-28T09:58:48 Consolidate text buffer functions There are many scattered functions that look into the contents of buffers to do various text manipulations (such as escaping or unescaping data, calculating text stats, guessing if content is binary, etc). This groups all those functions together into a new file and converts the code to use that. This has two enhancements to existing functionality. The old text stats function is significantly rewritten and the BOM detection code was extended (although largely we can't deal with anything other than a UTF8 BOM).
Philip Kelley 613d5eb9 2012-11-28T11:42:37 Push! By schu, phkelley, and congyiwu, et al
Sascha Cunz 7cdad6c7 2012-11-28T12:43:12 Fix uninitialized variable clang-SVN HEAD kindly provided my the info, that sm_repo maybe uninitialized when we want to free it (If the expression in line 358 or 359/360 evaluate to true, we jump to "cleanup", where we'd use sm_repo uninitialized).
Vicent Marti ae201891 2012-11-28T11:47:38 object: Raise proper code on invalid object type
Vicent Marti 9507a434 2012-11-28T10:47:10 odb: Add `git_odb_add_disk_alternate` Loads a disk alternate by path to the ODB. Mimics the `GIT_ALTERNATE_OBJECT_DIRECTORIES` shell var.
Russell Belfer c3fb7d04 2012-11-27T15:00:49 Make git_odb_foreach_cb take const param This makes the first OID param of the ODB callback a const pointer and also propogates that change all the way to the backends.
Russell Belfer 2bd5998c 2012-11-27T14:47:39 Remove git_note_data structure
Ben Straub f4a62c30 2012-11-27T14:13:03 Typedef enums.
Ben Straub 1d8ec670 2012-11-27T14:06:56 API updates for stash.h
Ben Straub c9fc4a6f 2012-11-27T13:44:49 API updates for repository.h
Ben Straub df705148 2012-11-27T13:15:43 API updates for remote.h Includes typedef for git_direction, and renames for GIT_DIR_[FETCH|PUSH] to GIT_DIRECTION_(\1).
Ben Straub 2e76b5fc 2012-11-27T09:49:16 API updates for odb.h
Ben Straub de5596bf 2012-11-26T20:09:38 API updates for notes.h/c.
Ben Straub 4ff192d3 2012-11-26T19:47:47 Move merge functions to merge.c In so doing, promote commit_list to git_commit_list, with its own internal API header.
Ben Straub 839c5f57 2012-11-26T12:04:07 API updates for indexer.h
Russell Belfer a8122b5d 2012-11-21T15:39:03 Fix warnings on Win64 build
Russell Belfer 4604a654 2012-11-21T11:57:06 update internal index API to avoid cast
Russell Belfer d574de0e 2012-11-21T11:53:54 API updates for status.h
Russell Belfer 16248ee2 2012-11-21T11:03:07 Fix up some missing consts in tree & index This fixes some missed places where we can apply const-ness to various public APIs. There are still some index and tree APIs that cannot take const pointers because we sort our `git_vectors` lazily and so we can't reliably bsearch the index and tree content without applying a `git_vector_sort()` first. This also fixes some missed places where size_t can be used and where const can be applied to a couple internal functions.
Russell Belfer 793c4385 2012-11-20T16:36:06 Update diff callback param order This makes the diff functions that take callbacks both take the payload parameter after the callback function pointers and pass the payload as the last argument to the callback function instead of the first. This should make them consistent with other callbacks across the API.
Ben Straub 54b2a37a 2012-11-20T16:02:25 Clean up config.h
Russell Belfer eecc8050 2012-11-20T14:03:05 Update callback fn ptr for git_reference_foreach As part of API review, use a typedef for the callback fn ptr.
Russell Belfer e120123e 2012-11-20T14:01:46 API review / update for tree.h
Russell Belfer 824cb2d5 2012-11-20T12:13:52 Updates to reset.h
Ben Straub f45d51ff 2012-11-20T19:57:46 API updates for index.h
Russell Belfer d9023dbe 2012-11-20T17:06:54 API updates for tag.h
Russell Belfer 9cd42358 2012-11-20T16:57:16 API updates for submodule.h
Vicent Marti cfbe4be3 2012-11-17T19:54:47 More external API cleanup Conflicts: src/branch.c tests-clar/refs/branches/create.c
Ben Straub 2508cc66 2012-11-18T21:38:08 Rename ref and reflog apis for consistency
Fraser Tweedale 9e9aee67 2012-11-26T23:29:34 fix build on FreeBSD 3f9eb1e introduced support for SSL certificates issued for IP addresses, making use of in_addr and in_addr6 structs. On FreeBSD these are defined in (a file included in) <netinet/in.h>, so include that file on FreeBSD and get the build working again.
Vicent Martí 8404f2d6 2012-11-26T03:56:25 Merge pull request #1101 from csware/prevent_die pack.c: Set p->mwf.fd to -1 on error
delanne f2696fa4 2012-11-26T12:12:41 Fix invalid read reported by valgrind
Sven Strickroth fcb48e06 2012-11-24T15:48:17 Set p->mwf.fd to -1 on error If p->mwf.fd is e.g. -2 then it is closed in packfile_free and an exception might be thrown. Signed-off-by: Sven Strickroth <email@cs-ware.de>
Vicent Martí c4d8df27 2012-11-23T15:19:47 Merge pull request #1097 from nulltoken/topic/head_tree_error Make `git_repository_head_tree()` return error codes
Martin Woodward 826bc4a8 2012-11-23T13:31:22 Remove use of English expletives Remove words such as fuck, crap, shit etc. Remove other potentially offensive words from comments. Tidy up other geopolicital terms in comments.
nulltoken 5cec896a 2012-11-22T18:51:06 repo: Make git_repository_head_tree() return error codes
Russell Belfer 54be4d57 2012-11-20T15:02:06 Merge pull request #1092 from arrbee/legal-to-not-have-gitconfig It is okay to not have a .gitconfig file
Russell Belfer 38f7d026 2012-11-20T14:50:36 Need to clear ignored error from config load
Russell Belfer cc6b4162 2012-11-20T10:24:18 It is okay to not have a .gitconfig file Opening a repo is generating an error if you don't have a .gitconfig file in your home directory, but that should be legal.
Eduardo Bart cf0dadcf 2012-11-20T01:19:31 Minor optimization in win32 do_lstat
Eduardo Bart 2d96fce2 2012-11-19T23:12:20 update win32 lstat comment
Russell Belfer d46b0a04 2012-11-19T16:34:44 Improve iterator ignoring .git file The workdir iterator has always tried to ignore .git files, but it turns out there were some bugs. This makes it more robust at ignoring .git files. This also makes iterators always check ".git" case insensitively regardless of the properties of the system. This will make libgit2 skip ".GIT" and the like. This is different from core git, but on systems with case insensitive but case preserving file systems, allowing ".GIT" to be added is problematic.
Russell Belfer 02df42dd 2012-11-19T16:33:30 Set up default internal ignores This adds "." ".." and ".git" to the internal ignores list by default - asking about paths with these files will always say that they are ignored.