src/transports


Log

Author Commit Date CI Message
Carlos Martín Nieto 51e4da6d 2013-04-29T01:49:40 push: don't send a packfile when only issuing delete commands For update and create commands where all the objects are known to exist in the remote, we must send an empty packfile. However, if all we issue are delete commands, no packfile must be sent. Take this into consideration for push.
Russell Belfer 83cc70d9 2013-04-19T12:48:33 Move odb_backend implementors stuff into git2/sys This moves some of the odb_backend stuff that is related to the internals of an odb_backend implementation into include/git2/sys. Some of the stuff related to streaming I left in include/git2 because it seemed like it would be reasonably needed by a normal user who wanted to stream objects into and out of the ODB. Also, I added APIs for traversing the list of backends so that some of the tests would not need to access ODB internals.
Carlos Martín Nieto 67ba7d20 2013-04-15T22:53:57 Allow git_remote_ls after disconnecting from the remote Keep the data around until free, as expected by our own fetch example
Ben Straub 2ebc3c66 2013-04-15T11:57:24 Redeploy git_revparse_single.
Ben Straub 1aa21fe3 2013-04-09T05:03:51 Deprecate git_revparse_single and _rangelike
Philip Kelley 5c5eeba6 2013-03-31T22:22:33 Add git_has_win32_version helper
Philip Kelley 0227fa2a 2013-03-30T21:36:04 Avoid pre-Win7 WinHTTP self-redirect quirk
Philip Kelley 35e0f3c6 2013-03-25T17:59:30 Refine the redirect check condition
Philip Kelley 2c7f7a66 2013-03-25T17:35:36 http: Support 302 Found (arrbee did most of the work)
Arkadiy Shapkin 10c06114 2013-03-17T04:46:46 Several warnings detected by static code analyzer fixed Implicit type conversion argument of function to size_t type Suspicious sequence of types castings: size_t -> int -> size_t Consider reviewing the expression of the 'A = B == C' kind. The expression is calculated as following: 'A = (B == C)' Unsigned type is never < 0
Russell Belfer 55e0f53d 2013-03-14T15:09:29 Fix various build warnings This fixes various build warnings on Mac and Windows (64-bit).
Philip Kelley f5898324 2013-03-12T15:31:14 Style: Reverse lhs and rhs of == comparisons
Philip Kelley b8c32580 2013-03-12T15:19:32 Advertise and support side-band-64k when calling receive-pack
abepern 20858f6e 2013-02-19T06:22:58 Implemented push on the local transport
Russell Belfer 56543a60 2013-02-15T16:02:45 Clear up warnings from cppcheck The cppcheck static analyzer generates warnings for a bunch of places in the libgit2 code base. All the ones fixed in this commit are actually false positives, but I've reorganized the code to hopefully make it easier for static analysis tools to correctly understand the structure. I wouldn't do this if I felt like it was making the code harder to read or worse for humans, but in this case, these fixes don't seem too bad and will hopefully make it easier for better analysis tools to get at any real issues.
Ben Straub a9e1339c 2013-02-14T08:12:05 Fix a leak when canceling a network operation
Russell Belfer 9c258af0 2013-02-12T10:13:56 Merge pull request #1316 from ben/clone-cancel Allow network operations to cancel
Philip Kelley a150cc87 2013-02-10T18:16:10 Fix a bug introduced in df93a681 'Merge the push...'
Michael Schubert a9d081e5 2013-02-10T19:36:39 Fix -Wmaybe-uninitialized warning
Philip Kelley df93a681 2013-02-08T15:00:08 Merge the push report into the refs to avoid a 3rd network call
Ben Straub ea57f66b 2013-02-06T11:02:29 Expect standard error code from internal calls
Ben Straub def60ea4 2013-02-05T13:14:48 Allow all non-zero returns to cancel transfers
Ben Straub fe95ac1b 2013-02-05T10:59:58 Allow progress callback to cancel fetch This works by having the indexer watch the return code of the callback, so will only take effect on object boundaries.
Ben Straub 630146bd 2013-02-04T13:52:18 Address feedback
Ben Straub 8c36a3cd 2013-01-31T15:24:59 Remove double-free segfaults
Ben Straub 016179d6 2013-01-31T14:54:58 WinHttp: use cred in url if provided
Ben Straub 54ffc1f7 2013-01-31T14:41:01 HTTP: use creds in url if available
Ben Straub cf7038a6 2013-01-31T14:04:21 Enhance url parsing to include passwords
Ben Straub 7602cb7c 2013-01-31T10:44:57 Add user-from-url param to auth callback
Ben Straub 2234b2b0 2013-01-30T19:03:58 Stash username from url (but don't use it yet)
Frank Li 88183c19 2013-01-27T13:36:37 Fix fail clone local repository because can't found object avoid use object which is already free Signed-off-by: Frank Li <lznuaa@gmail.com>
Philip Kelley 47fc2642 2013-01-22T09:25:15 Fix gen_pktline format specifier for Win32
Philip Kelley 77844988 2013-01-18T14:51:46 Fix really bad error handling in git_smart__negotiate_fetch
nulltoken 090d5e1f 2013-01-11T14:40:09 Fix MSVC compilation warnings
Ben Straub 520dcc1c 2013-01-08T19:55:59 Move credential helpers to their own (optional) header
Ben Straub ffb02b16 2013-01-08T12:58:20 Expose stock user/pass credential utility
Edward Thomson 359fc2d2 2013-01-08T17:07:25 update copyrights
Maxwell Swadling 79ff264e 2013-01-05T11:34:19 Fixed size_t format string warning
Congyi Wu d73d52df 2013-01-03T13:26:11 Fix bug in gen_pktline() for deletes of missing remote refs * gen_pktline() in smart_protocol.c was skipping refspecs that deleted refs that were not advertised by the server. The new behavior is to send a delete command with an old-id of zero, which matches the behavior of the official git client. * Update test_network_push__delete() in reaction to above fix. * Obviate messy logic that handles missing push_spec rrefs by canonicalizing push_spec. After calculate_work(), loid, roid, and rref, are filled in with exactly what is sent to the server
Congyi Wu 4128f5aa 2013-01-03T13:26:11 Fix bug in gen_pktline() for deletes of missing remote refs * gen_pktline() in smart_protocol.c was skipping refspecs that deleted refs that were not advertised by the server. The new behavior is to send a delete command with an old-id of zero, which matches the behavior of the official git client. * Update test_network_push__delete() in reaction to above fix. * Obviate messy logic that handles missing push_spec rrefs by canonicalizing push_spec. After calculate_work(), loid, roid, and rref, are filled in with exactly what is sent to the server
Ben Straub 2a2d1ab0 2012-12-15T14:30:20 Cloning empty repos: only allow missing target for HEAD
Ben Straub b524fe1a 2012-12-14T08:35:59 Local Only ignore ENOTFOUNDs when adding corrupted refs
Ben Straub 850b1edf 2012-12-13T12:55:28 Allow clone to handle empty repos
Ben Straub 4cbe9a1b 2012-12-10T11:48:20 Add git_cred_acquire_cb payload to winhttp transport
Ben Straub 59bccf33 2012-12-10T11:11:01 Add a payload param to git_cred_acquire_cb Fixes #1128.
Ben Straub 10711769 2012-11-29T20:47:37 Deploy versioned git_transport structure
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 613d5eb9 2012-11-28T11:42:37 Push! By schu, phkelley, and congyiwu, et al
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).
Russell Belfer a8122b5d 2012-11-21T15:39:03 Fix warnings on Win64 build
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
Carlos Martín Nieto 7e9f5e65 2012-11-13T20:06:15 Slightly different valgrind fix Allocate with calloc rather than conditionally memsetting a specific part of the struct later on.
Carlos Martín Nieto 6132a54e 2012-11-13T16:13:10 Fix a few valgrind errors
Vicent Marti f6c18dda 2012-11-13T14:17:41 http: Unrustle
Vicent Martí aa1c3b58 2012-11-13T14:13:47 Merge pull request #1016 from arrbee/fix-checkout-dir-removal Update checkout with new strategies & behavior
Ben Straub e45423dd 2012-11-13T05:45:08 Merge pull request #1065 from nulltoken/fix/memory-leak Fix memory leaks
Michael Schubert d51e54f1 2012-11-13T14:28:44 Remove unused variables
nulltoken 3dee3655 2012-11-13T07:04:30 local: fix memory leak
Vicent Marti 19c044a1 2012-11-12T14:23:17 Merge remote-tracking branch 'ben/local-transport' into development
Ben Straub 14157652 2012-11-12T07:57:03 Remove unnecessary progress logic The indexer handles this better than the fetch logic does.
Ben Straub 0f5520f7 2012-11-12T07:55:09 Fix error check
Russell Belfer 757b4065 2012-11-09T14:01:44 Fix warnings and valgrind issues This fixes some various warnings that showed up in Travis and a couple uses of uninitialized memory and one memory leak.
Philip Kelley 2f683f00 2012-11-09T15:39:25 Fix uninitialized memory in winhttp subtransport on 64-bit
Ben Straub 90207709 2012-11-08T21:29:17 Avoid copying duplicate commits
Ben Straub 505da062 2012-11-06T10:26:06 Implement local transport's fetch
Philip Kelley 9d641283 2012-11-08T08:06:23 Merge pull request #1048 from pwkelley/basic_auth Basic authentication for http and winhttp
Philip Kelley 11fa8472 2012-11-06T11:27:23 Don't store no_check_cert; fetch it on demand
Philip Kelley 2f7538ec 2012-11-06T09:36:04 Fix connection leak in http subtransport
Philip Kelley 091361f5 2012-11-06T08:52:03 Basic authentication for http and winhttp
Edward Thomson 09cc0b92 2012-11-05T11:33:10 create callback to handle packs from fetch, move the indexer to odb_pack
Philip Kelley 438906e1 2012-11-02T14:34:06 Fix bytes_received in fetch tests - we weren't calling the callback
Philip Kelley ff830366 2012-11-01T12:07:42 Http: Set an error for invalid content-type
Philip Kelley 0ccfc63b 2012-11-01T10:29:30 Improve consistency of WinHTTP request headers
Philip Kelley 41fb1ca0 2012-10-29T13:41:14 Reorganize transport architecture (squashed 3)
Ben Straub a0ce87c5 2012-10-26T13:43:13 Add network transfer callbacks on Windows
Ben Straub 7bcd9e23 2012-10-19T19:23:32 gitno_buffer: callback on each packet The fetch code takes advantage of this to implement a progress callback every 100kb of transfer.
nulltoken 68206c54 2012-10-13T21:00:45 test: fix some memory leaks
Carlos Martín Nieto aeba5e17 2012-10-10T23:55:03 http: don't discard the HEAD ref The fix for fetching from empty repositories (22935b06d protocol: don't store flushes; 2012-10-07) forgot to take into account the deletion of the flush pkt in the HTTP transport. As a result, the HEAD ref advertisement where we detect the remote's capabilities was deleted instead. Fix this.
nulltoken 9ac8b113 2012-09-20T14:06:49 Fix MSVC amd64 compilation warnings
Carlos Martín Nieto 3ce22c74 2012-08-26T19:22:34 http: use WinHTTP on Windows Wondows has its own HTTP library. Use that one when possible instead of our own. As we don't depend on them anymore, remove the http-parser library from the Windows build, as well as the search for OpenSSL.
Carlos Martín Nieto 687ec68b 2012-09-14T00:51:29 http: use the new unicode functions The winhttp branch was based on a version before these existed, so the build broke on Windows.
Carlos Martín Nieto cc1d85d1 2012-08-25T23:32:19 http: increase buffer side to deal with side-band-64k This poor transport was forgotten in the recent sideband support.
Carlos Martín Nieto e03e71da 2012-05-14T17:54:25 network: add sideband support This lets us notify the user of what the remote end is doing while we wait for it to start sending us the packfile.
Russell Belfer e9ca852e 2012-08-23T09:20:17 Fix warnings and merge issues on Win64
Russell Belfer 5dca2010 2012-08-03T17:08:01 Update iterators for consistency across library This updates all the `foreach()` type functions across the library that take callbacks from the user to have a consistent behavior. The rules are: * A callback terminates the loop by returning any non-zero value * Once the callback returns non-zero, it will not be called again (i.e. the loop stops all iteration regardless of state) * If the callback returns non-zero, the parent fn returns GIT_EUSER * Although the parent returns GIT_EUSER, no error will be set in the library and `giterr_last()` will return NULL if called. This commit makes those changes across the library and adds tests for most of the iteration APIs to make sure that they follow the above rules.
Carlos Martín Nieto 0048372a 2012-07-27T01:09:06 transport: rename encrypt to use_ssl SSL isn't the only way that a transport can be encrypted. The new name will make it easier to merge the SSH support.
Carlos Martín Nieto ad4b5beb 2012-07-25T10:40:59 transport: store the refs in a common area Instad of each transport having its own function and logic to get to its refs, store them directly in transport. Leverage the new gitno_buffer to make the parsing and storing of the refs use common code and get rid of the git_protocol struct.
Carlos Martín Nieto b49c8f71 2012-07-24T19:03:22 remote: use the same code to control git and http This allows us to add capabilitites to both at the same time, keeps them in sync and removes a lot of code. gitno_buffer now uses a callback to fill its buffer, allowing us to use the same interface for git and http (which uses callbacks).
Carlos Martín Nieto 114dc6e1 2012-07-24T17:10:57 network: implement multi_ack for the git transport
Carlos Martín Nieto 64d01de8 2012-07-24T14:23:16 remote: start moving the protocol to a common area For the transition, http is going to keep its own logic until the git/common code catches up with the implied multi_ack that http has. This also has the side-effect of making the code cleaner and more correct regardingt he protocol.
Carlos Martín Nieto 37159957 2012-06-28T09:33:08 indexer: don't use '/objects/pack/' unconditionally Not everyone who indexes a packfile wants to put it in the standard git repository location.
Michael Schubert fdc5c38e 2012-06-05T23:03:06 transports: fix buglet
Vicent Martí 966fbdcb 2012-06-05T13:53:33 Merge pull request #697 from carlosmn/ssl Add HTTPS support
Arthur Schreiber e9551e86 2012-06-02T16:52:22 Fix git_close/http_close/local_close to set the transport's connected attribute to 0.
Carlos Martín Nieto 250b95b2 2012-05-26T21:17:08 ssl: allow skipping the server certificate check Sometimes it's useful not to perform the check. Allow it to be configurable.
Carlos Martín Nieto 89460f3f 2012-05-03T14:07:55 ssl: teardown the connection on close This should help us free some resources, though the libraries do keep some buffers allocated regardless.
Carlos Martín Nieto a6f24a5b 2012-05-01T01:50:26 https: make it work with OpenSSL as well Add specific functions that use OpenSSL instead of GnuTLS
Carlos Martín Nieto 66024c7c 2012-05-01T00:05:25 http: add https support when GnuTLS is available If it's not available, an error saying so will be returned when trying to use a https:// URL. This also unifies a lot of the network code to use git_transport in many places instead of an socket descriptor.