Log

Author Commit Date CI Message
Carlos Martín Nieto c7c787ce 2011-06-24T18:19:00 Use gitno_buffer in the git transport This allows us to leave out the buffer handling logic. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto ea7a5452 2011-06-24T16:25:26 Add gitno_buffer as a recv wrapper 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 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 0a9a38e5 2011-06-06T19:21:05 local transport: keep better track of memory Store the ref information in a private struct so we can free it together with the rest. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 4e95ef02 2011-06-16T00:59:46 Implement and use gitno_send
Carlos Martín Nieto 1b4f8140 2011-06-16T00:39:35 Create netops and start moving git:// to it Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 7e305056 2011-06-06T18:44:19 local transport: sort the refs before resolving them By pre-sorting the references, they are already in the right order if we want to peel them. With this, we get output-parity with git.git's ls-remote. 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 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 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 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 78fae478 2011-06-06T14:19:47 pkt: make sure we really only read the length A pkt-line's length are described in its first four bytes in ASCII hex. Copy this substring to another string before feeding it to git__strtol32. Otherwise, it will read the whole hash. Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 1d27446c 2011-05-28T10:56:19 Move flush-pkt creation into its own function 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 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 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 c5b2622d 2011-06-23T16:32:06 Add git_refspec_transform test 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 fa9dcb7e 2011-06-22T14:17:29 Add refspec match test Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Carlos Martín Nieto 73fdf706 2011-06-21T10:55:16 Add refspec0 test 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 a030ae50 2011-06-20T20:21:20 Add a test for remote parsing 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>
Vicent Martí 0b10c9ea 2011-06-26T08:33:11 Merge pull request #276 from carlosmn/development Bring back GCC flags
Carlos Martín Nieto e233fa6f 2011-06-26T16:37:04 Bring back GCC flags Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
Vicent Marti ce90d81f 2011-06-24T15:30:10 revwalk: Do not set error string on revwalk over
Vicent Marti 8172dd43 2011-06-23T22:45:09 cmake: Do not pass `/Tc` to MSVC
Ankur Sethi 2c0ec236 2011-06-23T13:36:09 added defines for Haiku in types.h
Vicent Martí 45e82ba2 2011-06-23T04:38:38 Merge pull request #273 from GeneralMaximus/development added defines for Haiku in types.h
Vicent Marti 3101a3e5 2011-06-23T02:28:29 refs: Do not overflow when normalizing refnames
Vicent Martí 3bf3ad9f 2011-06-21T13:53:48 Merge pull request #269 from schu/infinite-append gitfo_read: fix read-loop
Vicent Martí b3f2d4cb 2011-06-21T07:24:57 Merge pull request #270 from carlosmn/valgrind Two memory access fixes
Carlos Martín Nieto 4cea2f03 2011-06-20T17:53:21 Stat files with full pathnames Call gitfo_lstat with the full pathname instead of the relative one, which fails in case the current working directory is different from the workdir. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto cdb6f9bf 2011-06-20T17:34:01 Allocate enough memory for the terminator in commit parsing Also allow space for the null-terminator when allocating the buffer in packfile_unpack_compressed. Up to now, the last newline had served as a terminator, but 858ef372 searches for a double-newline and exposes the problem. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
schu 28f7869d 2011-06-20T17:25:13 gitfo_read: fix read-loop Signed-off-by: schu <schu-github@schulog.org>
schu 24bd5e55 2011-06-20T10:40:21 Add test case checking GIT_FILEBUF_APPEND Signed-off-by: schu <schu-github@schulog.org>
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 Martí 8ee2bb54 2011-06-19T03:50:19 Merge pull request #268 from nulltoken/patch-3 Fix link to API documentation
nulltoken e49020e0 2011-06-18T09:07:51 Fix link to API documentation
Vicent Marti e35e9fb4 2011-06-18T13:23:19 mingw: Fix compilation
Vicent Marti 2a406ab5 2011-06-18T02:08:56 config: Fix sorting of repository config files
Vicent Marti 19cb6857 2011-06-18T01:50:48 config: Bring back `git_config_open_global` Scott commands, I obey.
Vicent Marti 920e000d 2011-06-18T01:17:58 config: Update examples
Vicent Marti dbe70bd5 2011-06-18T01:12:58 config: Fix compilation in MSVC
Vicent Marti 40070445 2011-06-18T00:54:24 config: Typorrrrl
Vicent Martí deee4766 2011-06-17T15:44:26 Merge pull request #267 from Jopie64/development Fix compilation error in MSVC when compiling for c++
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.
Johan 't Hart f0619886 2011-06-07T22:09:22 Fix compilation error in MSVC when compiling for c++
Carlos Martín Nieto f3dad3ac 2011-06-16T20:06:36 Add fall-back support to the configuration If a config has several files, we need to check all of them before we can say that a variable doesn't exist. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 3de5df7d 2011-06-16T19:56:48 Add a test for overriding config The repo's configuration should take precedence over the global one. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 9ba9e513 2011-06-16T19:54:37 Parse the repo's configuration when we load it It's not enough to load the config, we also need to explicitely parse it after we create it. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
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>
Carlos Martín Nieto b76934de 2011-06-16T16:55:11 Remove double-space Noticed by txdv Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Vicent Marti c716b187 2011-06-17T19:47:58 config: Fix unitialized variable warning
Vicent Marti f0890fcc 2011-06-17T19:40:51 cmake: Build shared library by default
Vicent Marti e01f7f64 2011-06-17T19:27:11 windows: Disable Runtime checks Runtime checks are asserting on the embedded ZLib code because of truncation (see zlib/trees.c:218). This is not good or pretty, but I'm wary about patching the ZLib code even more. There are two ways to fix this: - Patch the ZLib code, and start storing a diff/patchset on how does our version of ZLib differ from the original one, so we can be more or less on sync when new version of ZLib. - Go back to ZLib as an external dependency, which is np for *NIX users but annoying as dicks for Windows users. THINK HARD
Vicent Martí f252d479 2011-06-17T10:32:42 Merge pull request #264 from nulltoken/patch-2 Fix misleading comment in CMake build script
Vicent Martí 2414d000 2011-06-17T10:32:22 Merge pull request #266 from carlosmn/valgrind Plug memory leaks
Vicent Marti 02285482 2011-06-17T19:19:30 fileops: Cast the GetProcAddress value
Vicent Marti 9c11bd0a 2011-06-17T19:08:06 fileops: Fix 'GetFinalPathNameByHandleA' in old platforms
Carlos Martín Nieto 3d5a02b6 2011-06-16T20:30:40 Plug an index leak The test wasn't updated when repos lost ownership of indices Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 038d2fc3 2011-06-16T20:24:51 Plug leaks in the repo discovery tests Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto b2e361cc 2011-06-16T20:22:05 Plug two leaks in config writing Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
3d96996d 2011-06-16T08:10:25 Fix misleading comment in CMake build script
Vicent Martí cb75ffea 2011-06-16T08:01:47 Merge pull request #263 from carlosmn/refs-writing Simplify loose ref writing
Carlos Martín Nieto e7e0e20f 2011-06-16T16:39:20 Simplify loose ref writing There is no need to store the format outselves, as the library provides git_filebuf_printf which takes care of the formatting itself. Also get rid of an use of strcat + strcpy which is always a nice thing. 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 Martí 607d1643 2011-06-15T17:24:04 Merge pull request #248 from carlosmn/config Implement config writing
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.
Vicent Martí f2bb894e 2011-06-15T12:15:11 Merge pull request #251 from nulltoken/fix/msvc-warnings Fix compilation warnings in MSVC
Vicent Martí 1aa1b09e 2011-06-15T12:11:59 Merge pull request #260 from nulltoken/fix/git_index_add Fix git_index_add()
nulltoken 8e11e707 2011-06-15T16:06:20 git_index_add: enforce test coverage
nulltoken a64bf21b 2011-06-15T16:05:33 blob: Fix git_blob_create_fromfile()
nulltoken 63fadf99 2011-06-15T17:04:11 Add mode_t definition in MSVC compat layer
Vicent Martí 61438604 2011-06-15T10:39:20 Merge pull request #259 from schu/nitpicky-markdown README.md: do not break syntax highlighting
Scott Chacon 96da90ae 2011-06-15T09:38:55 update examples content to be compilable and up to date
schu 8087bb93 2011-06-15T14:08:43 README.md: do not break syntax highlighting Signed-off-by: schu <schu-github@schulog.org>
Scott Chacon 2e6d8ec4 2011-06-14T15:15:11 fix the example urls
Scott Chacon 388f37b3 2011-06-14T09:27:46 add examples for docs
Scott Chacon 742e3fc9 2011-06-14T08:17:53 replace stupid doxygen
Vicent Marti f64586fa 2011-06-14T20:00:06 Add CTest support for CI
Scott Chacon 737406b7 2011-06-14T09:31:19 fix gid_ misspelling
Em 90412507 2011-06-14T06:37:10 Port MSVC specific Waf compilation flags to CMake and remove dynamic dependence to msvcr100.dll on Windows The '/MT' and '/MTd' flags replace the dynamic link to 'msvcr100.dll' with a static link to 'libcmt.lib'. This has the nice effect to ease the deployment of libgit2 by removing the dependence on 'msvcr100.dll' which is not deployed by default on Windows.
Vicent Marti 7548b8af 2011-06-14T17:36:38 Update README.md
Vicent Marti 953e1f93 2011-06-13T22:33:32 build: Cleanup CMake