include


Log

Author Commit Date CI Message
schu 27df4275 2011-06-28T14:13:12 reflog: add API to read or write a reference log So far libgit2 didn't support reference logs (reflog). Add a new git_reflog_* API for basic reading and writing of reflogs: * git_reflog_read * git_reflog_write * git_reflog_free Signed-off-by: schu <schu-github@schulog.org>
nulltoken 2b5af615 2011-07-07T13:47:45 tag: add pattern based retrieval of list of tag names
Kirill A. Shutemov 245adf4f 2011-07-02T01:08:42 index: introduce git_index_uniq() function It removes all entries with equal path except last added. On large indexes git_index_append() + git_index_uniq() before writing is *much* faster, than git_index_add(). Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Vicent Martí f12aa9dc 2011-07-05T04:31:37 Merge pull request #300 from carlosmn/gsoc2011/master A bit of networking
Carlos Martín Nieto 2601fcfc 2011-06-28T15:21:44 Add tests for deleting a config var Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Kirill A. Shutemov 932d1baf 2011-06-30T19:52:34 cleanup: remove trailing spaces Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Vicent Marti e0fc39da 2011-06-29T15:11:34 config: Fix unmatched parameters in docs
nulltoken 408d733b 2011-06-30T06:56:58 repository: Make head_detached() and head_orphan() convenience methods accessible to bindings
Vicent Marti cfef5fb7 2011-06-29T15:09:21 config: `foreach` now returns variable values too
Vicent Marti 7376ad99 2011-06-29T11:01:35 refs: Remove duplicate rename method `git_reference_rename` now takes a `force` flag
Vicent Marti ab7941b5 2011-06-28T21:04:59 test: Properly show error messages
Vicent Marti c682886e 2011-06-28T21:09:22 repo: Rename HEAD-related methods
Vicent Martí ccd59372 2011-06-28T10:44:19 Merge pull request #279 from carlosmn/detached-orphan Add detached and orphan convenience functions
Vicent Marti d5afc039 2011-06-28T19:15:48 Remove redundant methods from the API A bunch of redundant methods have been removed from the external API. - All the reference/tag creation methods with `_f` are gone. The force flag is now passed as an argument to the normal create methods. - All the different commit creation methods are gone; commit creation now always requires a `git_commit` pointer for parents and a `git_tree` pointer for tree, to ensure that corrupted commits cannot be generated. - All the different tag creation methods are gone; tag creation now always requires a `git_object` pointer to ensure that tags are not created to inexisting objects.
Carlos Martín Nieto 35502d2e 2011-06-28T13:55:00 Add git_repository_is_detached, git_repository_is_orphan Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 0ac2726f 2011-06-27T20:23:47 Slim down git_transport Remove the unused repo and private pointers and make the direction a flag, as it can only have two states. Change the connect signature to use an int instead of git_net_direction and remove that enum. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 9ba49bb5 2011-06-23T03:04:23 Add git_remote_connect and git_remote_ls These allow you to implement git-ls-remote when given a reference name and a repository. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto ce90a407 2011-06-22T15:34:37 Remove the repo param from git_transport_new Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 4e913309 2011-06-17T16:38:21 Move transports to an inheritance model Rather than an 'private' pointer, make the private structures inherit from the generic git_transport struct. This way, we only have to worry about one memory allocation instead of two. The structures are so simple that this may even make the code use less memory overall. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto fd679021 2011-06-16T02:17:49 Move git_pkt_{gen_proto,send_request} to transport_git.c This is where they really belong. Remvoe the prefix and make them static. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto cbf742ac 2011-06-26T19:40:02 Use (s)size_t Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto c4d0fa85 2011-06-16T01:54:19 Implement and use git_pkt_send_request This makes it easier to send a requqest for an URL. It assumes there is a socket where the string should go out to. Make git_pkt_gen_proto accept a command parameter, which defaults to git-upload-pack Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 7632e249 2011-06-13T23:01:12 Correctly handle network input Add a parameter to git_pkt_parse_line to tell it how much data you have in your buffer. If the buffer is too short, it returns an error saying so. Adapt the git transport to use this and fix the offset calculation. Add the GIT_ESHORTBUFFER error code.
Carlos Martín Nieto be9fe679 2011-06-08T23:38:22 Implement and use git_pkt_free A git_pkt object can be one of several structs. Add this function for convenience and clarity. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto ecb6ca0e 2011-06-08T13:09:47 Implement the git TCP transport up to ls-remote Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto d6258deb 2011-06-25T15:10:09 Implement ls-remote on local drive Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 6a9597c5 2011-06-08T19:11:38 Add function to generate a request Add git_pkt_gen_proto to crete a request from an url. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 8b9e8de5 2011-06-08T10:51:32 pkt-line: read capabilities Try to read the server capabilities and add them to the git_pkt_ref struct. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto b31803f3 2011-05-28T11:59:10 pkt-line: parse other-ref lines Add support for parsing other-ref lines. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto f7fc68df 2011-05-27T12:50:07 Lay the foundations for pkt-line parsing This are the types I intend to use for pkt-line parsing and (later) creation. git_pkt serves as a base pointer type and once you know what type it is you can use the real one (command, tip list, etc.) Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 8f866dae 2011-05-16T22:07:08 Lay down the fundations for the network code Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 92cb6aa9 2011-06-23T15:41:29 Add git_refspec_transform Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 63f91e1c 2011-06-22T16:52:30 Add git.git's fnmatch, which is really GNU's and the git__fnmatch wrapper If the strings match, git__fnmatch returns GIT_SUCCESS and GIT_ENOMATCH on failure to match. MSVC fixes: Added a test for _MSC_VER and (in that case) defined HAVE_STRING_H to 1 so it doesn't try to include <strings.h> which doesn't exist in the MSVC world. Moved the function declarations to use the modern inline ones so MSVC doesn't have a fit. Added casts everywhere so MSVC doesn't crap its pants. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto f8f3feb0 2011-06-21T02:13:51 Add a to-do list for remotes Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 2dc31040 2011-06-20T18:58:57 Abstract the refspec query and parse Move them to their own functions to avoid duplication and to make it easier to ignore missing configuration. Not finding 'fetch' is considered fatal, though this might not be correct behaviour (push-only remotes?) Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 9c82357b 2011-06-17T18:13:14 Add a remotes API Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Ankur Sethi 2c0ec236 2011-06-23T13:36:09 added defines for Haiku in types.h
Vicent Marti 37172582 2011-06-18T21:14:55 libgit2 v0.13.0 "Watermelon Wheat" On this rascalicious minor release of libgit2: - We've dropped support for Waf. All the build process is now managed through CMake for all platforms. - We've removed the custom backends from the repository. You can now find a collection of Custom backends on their own repo, under the libgit2 org. Including MySQL and Memcache backends, courtesy of the beardful Brian Lopez. - We are rocking a new documentation system, Docurium, courtesy of the insightful Scott Chacon. Check out the details for each single method in our external API and the way they've evolved through the history of the library: http://libgit2.github.com/libgit2/ This will certainly come in handy if you are developing bindings for the library. - You can now check the linked version of the library from your application or bindings, using `git_libgit2_version`. - We have a gazillion new features, courtesy of our invaluable collaborators, including: * Support for Config files! * Support for prefix-only reads on the ODB * Repository discovery * Support for the Unmerged Entries index extension * Better Windows support * 30.000 bug fixes (actual number may be lower) Thanks as always to everyone who makes this project possible. Here's the full list of all external API changes: - git_index_open_bare - git_index_open_inrepo - git_odb_backend_sqlite - git_oid_mkraw - git_oid_mkstr - git_reference_listcb - git_repository_workdir = git_index_get = git_repository_path = git_tree_entry_byindex + git_blob_lookup_prefix + git_commit_lookup_prefix + git_config_add_file + git_config_add_file_ondisk + git_config_file__ondisk + git_config_find_global + git_config_foreach + git_config_free + git_config_get_bool + git_config_get_int + git_config_get_long + git_config_get_string + git_config_new + git_config_open_global + git_config_open_ondisk + git_config_set_bool + git_config_set_int + git_config_set_long + git_config_set_string + git_index_entry_stage + git_index_entrycount_unmerged + git_index_get_unmerged_byindex + git_index_get_unmerged_bypath + git_index_open + git_object_lookup_prefix + git_odb_read_prefix + git_oid_fromraw + git_oid_fromstr + git_oid_ncmp + git_reference_foreach + git_repository_config + git_repository_discover + git_repository_is_bare + git_tag_lookup_prefix + git_tree_entry_type + git_tree_lookup_prefix
Vicent Marti 984ed6b6 2011-06-19T12:48:16 odb: Add GIT_EPASSTHROUGH Allows a custom user backend to passthrough one of the callbacks. Used for e.g. caching backends.
Vicent Marti bfd5e3e2 2011-06-18T15:07:41 config: Fix API docs
Vicent Marti 19cb6857 2011-06-18T01:50:48 config: Bring back `git_config_open_global` Scott commands, I obey.
Vicent Marti 07ff8817 2011-06-18T00:39:39 config: Cleanup external API Do not mess with environment variables anymore. The new external API has more helper methods, and everything is explicit.
Carlos Martín Nieto b22d1479 2011-06-16T17:46:06 Add git_repository_config API This function puts the global and repository configurations in one git_config object and gives it to the user. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Vicent Marti d144c569 2011-06-16T03:02:46 Update documentation Fix all the missmatched arguments in the docs
Vicent Marti f1d01851 2011-06-16T02:48:48 oid: Uniformize ncmp methods Drop redundant methods. The ncmp method is now public
Vicent Marti fa48608e 2011-06-16T02:36:21 oid: Rename methods Yeah. Finally. Fuck the old names, this ain't POSIX and they don't make any sense at all.
Vicent Marti 43521d06 2011-06-16T02:27:43 refs: Rename git_referece_listcb to _foreach Same name as `git_config_foreach`
Vicent Marti 536955f9 2011-06-16T02:21:33 Add method to get the compiled version of the lib
Vicent Martí ef9a6f4c 2011-06-15T13:47:41 Merge pull request #261 from Romain-Geissler/discovery-path-v2 Fix: GIT_PATH_PATH_SEPARATOR is now a semi-colon under Windows.
Romain Geissler 0657e46d 2011-06-15T12:36:08 Fix: GIT_PATH_PATH_SEPARATOR is now a semi-colon under Windows. GIT_PATH_LIST_SEPARATOR and GIT_PATH_MAX are made public so that it's can be used by a client.
Scott Chacon 737406b7 2011-06-14T09:31:19 fix gid_ misspelling
Vicent Marti b0233216 2011-06-12T11:40:14 Remove custom backends All the custom backend code will be moved to a separate project, together with the new MySQL backend.
Vicent Martí e3f56a2b 2011-06-08T08:11:26 Merge pull request #216 from glesserd/development git_tag_create{,_o,_frombuffer} correction and improvement
Carlos Martín Nieto a2a305fc 2011-06-07T15:39:40 config: explain the cfg and file relationship better It's not clear how git_config and git_config_file relate to one another. Be more explicit about their relationship in the function documentation. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto ce78f39e 2011-06-07T14:18:22 config: update the git_config_add_file documentation Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Jakob Pfender ee4912bf 2011-06-07T11:15:23 Revert "common: Include stat.h in include/git2/common.h instead of src/common.h" This reverts commit df1c98ab6d6171ed63729195bd190b54b67fe530. As 8a27b6b reverts the exposition of struct stat to the external API, we do not need - indeed, do not want - struct stat to be in the outer include layer.
Jakob Pfender b74c867a 2011-06-07T11:11:09 blob: Stat path inside git_blob_create_fromfile 00582bc introduced a change that required the caller of git_blob_create_fromfile() to pass a struct stat with the stat information for the file. Several developers pointed out that this would make life hard for the bindings developers as struct stat isn't widely supported by other languages. Make git_blob_create_fromfile() stat the path itself, eliminating the need for the file to be stat'ed by the caller. This makes index_init_entry() more costly as the file will be stat'ed twice but makes life easier for everyone else.
Jakob Pfender cbf4f9f4 2011-05-25T16:31:14 common: Include stat.h in include/git2/common.h instead of src/common.h 00582bcb introduced a change to git_blob_create_fromfile() that required the caller to pass a stat struct. This means that we need to include stat.h higher in the hierarchy of includes.
Jakob Pfender 4d7905c5 2011-05-25T16:04:29 blob: Require stat information for git_blob_create_fromfile() In order to be able to write symlinks with git_blob_create_fromfile(), we need to check whether the file to be written is a symbolic link or not. Since the calling function of git_blob_create_fromfile() is likely to have stated the file before calling, we make it pass the stat. The reason for this is that writing symbolic link blobs is significantly different from writing ordinary files - we do not want to open the link destination but instead want to write the link itself, regardless of whether it exists or not. Previously, index_init_entry() used to error out if the file to be added was a symlink that pointed to a nonexistent file. Fix this behaviour to add the file regardless of whether it exists. This mimics git.git's behaviour.
Vicent Marti 340fc0d4 2011-06-07T03:39:19 threads: Cleanup TLS declarations This time for good.
Vicent Marti 9d77d83a 2011-06-07T03:38:09 Revert "threads: Fix TLS declarations" This commit uploaded an old broken test. Oops!
Vicent Martí 1097dacd 2011-06-06T18:33:38 Merge pull request #240 from Romain-Geissler/tree-object-type Tree: Added a function that returns the type of a tree entry.
Vicent Martí 9b1692eb 2011-06-06T18:31:21 Merge pull request #239 from pegonma/oid_prefix Search objects of different types given OID prefix
Vicent Martí 1b0d92b1 2011-06-06T18:28:11 Merge pull request #238 from pegonma/git_oid_ncmp Better name for git_oid_match
Vicent Martí 00c31dd2 2011-06-06T18:26:50 Merge pull request #234 from Romain-Geissler/entry-count-API-uniformisation [Tree | Index] API uniformisation
Vicent Marti 64fe8c62 2011-06-07T03:22:32 threads: Fix TLS declarations Cleanup the thread-utils file. Do not define TLS if libgit2 is not threadsafe.
Romain Geissler ff9a4c13 2011-06-06T17:14:30 Tree: Added a function that returns the type of a tree entry.
Marc Pegon c09093cc 2011-06-06T10:55:36 Renamed git_oid_match to git_oid_ncmp. As suggested by carlosmn, git_oid_ncmp would probably be a better name than git_oid_match, for it does the same as git_oid_cmp but only up to a certain amount of hex digits.
Marc Pegon 790c6c95 2011-06-06T11:55:48 Added methods to search objects of different types given an OID prefix.
Romain Geissler f11e0797 2011-06-05T21:19:03 Index: API uniformisation: Use unsigned int for all index number. Feature Added: Search an unmerged entry by path (git_index_get_unmerged renamed to git_index_get_unmerged_bypath) or by index (git_index_get_unmerged_byindex).
Romain Geissler e5c80097 2011-06-05T21:18:05 Tree: API uniformasation: Use unsigned int for all index number.
Vicent Marti 602ee38b 2011-06-04T20:44:14 repository: Export all internal paths
David Glesser f4c925c5 2011-06-04T16:09:19 Change a dirty indentation
Vicent Martí 793545ef 2011-06-03T17:41:53 Merge pull request #227 from Romain-Geissler/discovery-path-v2 Discovery path v2
Romain Geissler fd0574e5 2011-06-04T01:01:20 Repository: Added the git_repository_discover function that finds by itself the git directory that manage a given directory path.
Vicent Marti 3a42e0a3 2011-06-03T21:38:55 index: Add `git_index_entry_stage` method As suggested by Romain-Geissler
Vicent Marti d0323a5f 2011-06-01T21:25:56 short-oid: Cleanup
Marc Pegon da03c9f3 2011-05-29T11:45:34 Changed return value of git_oid_match to be consistent with the other compare methods (0 means oids match). Added method to compare prefixes of hex formatted oids.
Marc Pegon ac2b94ad 2011-05-28T21:24:25 Added a GIT_OID_MINPREFIXLEN constant to define the minimum length allowed for oid prefixes (set to 4, like in git). Consequently updated some object lookup methods and their documentation.
Marc Pegon dd453c4d 2011-05-27T22:46:41 Added git.git sha1 lookup method to replace simple binary search in pack backend. Implemented find_unique_short_oid for pack backend, based on git sha1 lookup method; finding an object given its full oid is just a particular case of searching the unique object matching an oid prefix (short oid). Added git_odb_read_unique_short_oid, which iterates over all the backends to find and read the unique object matching the given oid prefix. Added a git_object_lookup_short_oid method to find the unique object in the repository matching a given oid prefix : it generalizes git_object_lookup which now does nothing but calls git_object_lookup_short_oid.
Marc Pegon 53c0bd81 2011-05-27T22:37:10 Added error for ambiguous oid prefixes. Added methods to compare the first nth hexadecimal characters (i.e. packets of 4 bits) of OIDs.
Marc Pegon ecd6fdf1 2011-05-27T18:49:09 Added a read_unique_short_oid method to backends, to make it possible to find objects from sha1 prefixes in the future. Default implementations throw GIT_ENOTIMPLEMENTED for strict prefixes (i.e. length < GIT_OID_HEXSZ).
Vicent Martí 50b7334e 2011-06-01T09:58:21 Merge pull request #206 from nulltoken/topic/is-bare Add git_repository_is_bare() accessor
Vicent Marti f7e59c4d 2011-06-01T18:34:21 index: Change the memory management for repo indexes The `git_repository_index` call now returns a brand new index that must be manually free'd.
Vicent Marti ef5ffed3 2011-06-01T18:23:36 object: Update documentation
David Glesser 23123151 2011-05-30T09:03:55 Set the oid when a tag already exists. When a tag already exists, it can be useful to directly have the oid of the existed tag, just after trying to add it.
nulltoken fa9bcd81 2011-05-24T21:48:07 Add git_repository_is_bare() accessor
Vicent Marti b0b527e0 2011-05-20T03:20:12 config: Cleanup & renaming of the external API "git_config_backend" have been renamed to "git_config_file", which implements a generic interface to access a configuration file -- be it either on disk, from a DB or whatever mumbojumbo. I think this makes more sense.
Vicent Martí 274f2c21 2011-05-19T14:18:57 Merge pull request #193 from carlosmn/config A couple of config improvements
Vicent Marti f4e2aca2 2011-05-19T20:38:17 index: Fix issues in the unmerged entries API
Jakob Pfender 050e8877 2011-05-17T15:31:05 Merge branch 'development' into unmerged
Carlos Martín Nieto f44cbec4 2011-05-17T14:59:23 Add documentation for git_config_add_backend
Carlos Martín Nieto 32234541 2011-05-17T14:18:42 Implement git_config_open_global Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Vicent Marti 128d3731 2011-05-17T15:05:41 config_file: Fix compilation
Carlos Martín Nieto 94711cad 2011-05-17T12:12:59 Merge upstream/development
Vicent Marti f87d9beb 2011-05-15T23:46:39 Change error codes from DEFINEs to an enum
Vicent Marti f31bd03f 2011-05-13T04:15:46 Include "common.h" in "errors.h"
Vicent Marti 40774549 2011-05-11T00:42:43 libgit2 v0.12.0 "absolutely no reason" Hey, welcome to yet another minor libgit2 release. Sorry for the delay from the last one. As you'll see the changelog is quite extensive -- hopefully from now on we'll stick to more frequent minor releases. Together with the usual bugfixes, here's a list of the new key features: * Distfiles This version comes with proper distfiles as requested in #131. These are available in the Downloads section of the GitHub project. * Error handling A new error handling API has been implemented that allows the library to return detailed error messages together with the generic error codes. We hope this will be a great when wrapping and integrating the library New external method to get the last detailed error message: + git_lasterror(void) The old `git_strerror` still exists, but will be deprecated in the future as soon as every method in the library returns a valid error message. The task of writing error messages for every method is quite daunting. We appreciate pull requests with more error messages. Check the new error handling documentation in the following commit: https://github.com/libgit2/libgit2/commit/fa59f18d0ddbbb98d45e33934fb0efc3e2bf1557 * Redis backend We now have a Redis backend courtesy of Dmitry Kovega. Just like the SQLite backend, this allows the library to store Git objects in a Redis key-value store. The backend requires the `hiredis` library. Use `--with-redis` when building libgit2 to enable building the backend if `hiredis` is available. * Commits New methods to access tree and parent data as a raw OID value instead of forcing a repository lookup + git_commit_tree_oid(git_commit *commit) + git_commit_parent_oid(git_commit *commit, unsigned int n) * Index The `git_index_add` method has been split into 4 different calls which allow for appending and replacing in-memory entries and on-disk files to the index. + git_index_add(git_index *index, const char *path, int stage) + git_index_add2(git_index *index, const git_index_entry *source_entry) + git_index_append(git_index *index, const char *path, int stage) + git_index_append2(git_index *index, const git_index_entry *source_entry) Index entries can now also be efficiently removed from the index: + git_index_remove(git_index *index, int position) * References Methods to force the creation and renaming of references, even if those already exist on the repository. + git_reference_create_symbolic_f(git_reference **ref_out, git_repository *repo, const char *name, const char *target) + git_reference_create_oid_f(git_reference **ref_out, git_repository *repo, const char *name, const git_oid *id) + git_reference_rename_f(git_reference *ref, const char *new_name) * Repository New auxiliary methods with repository information + git_repository_is_empty(git_repository *repo) + git_repository_path(git_repository *repo) + git_repository_workdir(git_repository *repo) * Signatures New method to create a signature with the current date/time + git_signature_now(const char *name, const char *email) * Tags Several wrappers to automate tag creation. + git_tag_create_frombuffer(git_oid *oid, git_repository *repo, const char *buffer) + git_tag_create_f(git_oid *oid, git_repository *repo, const char *tag_name, const git_oid *target, git_otype target_type, const git_signature *tagger, const char *message); + git_tag_create_fo(git_oid *oid, git_repository *repo, const char *tag_name, const git_object *target, const git_signature *tagger, const char *message) New functionality to delete and list tags in a repository without having to resort to the `references` API. + git_tag_delete(git_repository *repo, const char *tag_name) + git_tag_list(git_strarray *tag_names, git_repository *repo) * Trees All instances of `git_tree_entry` are now returned and handled as constant, to remind the user that these opaque types are not supposed to be manually free'd. The `git_tree_entry_2object` method now takes a `git_repository` argument which defines in which repository the resolved object should be looked up. (It is expected to be the same repository that contains the parent `git_tree` for the entry). + git_tree_entry_2object(git_object **object_out, git_repository *repo, const git_tree_entry *entry) New opaque type `git_treebuilder` with functionality to create and write trees on memory + git_treebuilder_create(git_treebuilder **builder_p, const git_tree *source) + git_treebuilder_clear(git_treebuilder *bld) + git_treebuilder_free(git_treebuilder *bld) + git_treebuilder_get(git_treebuilder *bld, const char *filename) + git_treebuilder_insert(git_tree_entry **entry_out, git_treebuilder *bld, const char *filename, const git_oid *id, unsigned int attributes) + git_treebuilder_remove(git_treebuilder *bld, const char *filename) + git_treebuilder_filter(git_treebuilder *bld, int (*filter)(const git_tree_entry *, void *), void *payload) + git_treebuilder_write(git_oid *oid, git_repository *repo, git_treebuilder *bld) New method to write an index file as a tree to the ODB. + git_tree_create_fromindex(git_oid *oid, git_index *index) Thanks to the usual guility parties that make this this happen, to all the new contributors who are starting to submit pull requests, and to the bindings developers who have to keep up with our shit. Feedback and questions welcome on libgit2@librelist.org Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 6810bf28 2011-05-11T00:40:07 Move all error-related defines to `git2/errors.h`
Vicent Marti f4a936b5 2011-05-11T00:35:05 Bring back `git_strerror` We cannot totally deprecate this until the new error handling mechanisms are all in place.