src/transports


Log

Author Commit Date CI Message
Carlos Martín Nieto 359dce72 2013-11-02T00:05:32 remote: make _ls return the list directly The callback-based method of listing remote references dates back to the beginning of the network code's lifetime, when we didn't know any better. We need to keep the list around for update_tips() after disconnect() so let's make use of this to simply give the user a pointer to the array so they can write straightforward code instead of having to go through a callback.
Carlos Martín Nieto af613ecd 2013-10-28T23:30:45 remote: store dwimed refspecs separately This allows us to add e.g. "HEAD" as a refspec when none are given without overwriting the user's data.
Carlos Martín Nieto a7382aa2 2013-10-26T16:52:54 remote: give up after 256 failures to find a common object This avoids sending our whole history bit by bit to the remote in cases where there is no common history, just to give up in the end. The number comes from the canonical implementation.
Vicent Martí ac5e507c 2013-11-01T09:31:52 Merge pull request #1918 from libgit2/cmn/indexer-naming indexer: remove the stream infix
Ben Straub 048f837b 2013-10-31T13:30:22 Prevent another segfault from bad URL
Ben Straub 29b77446 2013-10-30T15:38:52 Initialize variables
Carlos Martín Nieto 2f8c481c 2013-10-08T16:22:21 protocol: basic support for multi_ack_detailed This tells the server that we speak it, but we don't make use of its extra information to determine if there's a better place to stop negotiating. In a somewhat-related change, reorder the capabilities so we ask for them in the same order as git does. Also take this opportunity to factor out a fairly-indented portion of the negotiation logic.
Carlos Martín Nieto a6154f21 2013-10-30T15:00:05 indexer: remove the stream infix It was there to keep it apart from the one which read in from a file on disk. This other indexer does not exist anymore, so there is no need for anything other than git_indexer to refer to it. While here, rename _add() function to _append() and _finalize() to _commit(). The former change is cosmetic, while the latter avoids talking about "finalizing", which OO languages use to mean something completely different.
Vicent Martí 5c50f22a 2013-10-28T09:25:44 Merge pull request #1891 from libgit2/cmn/fix-thin-packs Add support for thin packs
Vicent Martí 5565f3cd 2013-10-28T07:04:58 Merge pull request #1904 from libgit2/cmn/ssh-naming Rename the ssh credentials
Edward Thomson df9fc82e 2013-10-25T13:33:42 Use two calls to set two headers
Carlos Martín Nieto 5cb13670 2013-10-23T15:45:29 transport: let the progress output return an error There are any number of issues that can come up in the progress callback, and we should let the user cancel at that point as well.
Carlos Martín Nieto 70a8c78f 2013-10-23T12:08:54 Rename the ssh credentials The names from libssh2 are somewhat obtuse for us. We can simplify the usual key/passphrase credential's name, as well as make clearer what the custom signature function is.
Edward Thomson 2648dc1a 2013-10-21T11:03:31 Allowed credential types should be a bitfield
Ben Straub 3dc3c723 2013-10-08T15:52:37 Combine WinHTTP API calls
Ben Straub a58eecd4 2013-10-08T13:40:52 WinHTTP: set Accept header for POSTs
Carlos Martín Nieto b4342b11 2013-10-04T10:27:45 net: advertise our support for fixing thin packs
Jameson Miller 7baa7631 2013-10-02T15:39:18 Style tweaks and changes for code review feedback
Jameson Miller 5b188225 2013-10-02T13:45:32 Support cancellation in push operation This commit adds cancellation for the push operation. This work consists of: 1) Support cancellation during push operation - During object counting phase - During network transfer phase - Propagate GIT_EUSER error code out to caller 2) Improve cancellation support during fetch - Handle cancellation request during network transfer phase - Clear error string when cancelled during indexing 3) Fix error handling in git_smart__download_pack Cancellation during push is still only handled in the pack building and network transfer stages of push (and not during packbuilding).
Carlos Martín Nieto e3c131c5 2013-09-16T05:02:25 remote: move the credentials callback to the struct Move this one as well, letting us have a single way of setting the callbacks for the remote, and removing fields from the clone options.
Vicent Martí fba14763 2013-09-30T15:03:35 Merge pull request #1879 from libgit2/redir-refactor Redir refactor
Jameson Miller b176eded 2013-09-19T14:52:57 Initial Implementation of progress reports during push This adds the basics of progress reporting during push. While progress for all aspects of a push operation are not reported with this change, it lays the foundation to add these later. Push progress reporting can be improved in the future - and consumers of the API should just get more accurate information at that point. The main areas where this is lacking are: 1) packbuilding progress: does not report progress during deltafication, as this involves coordinating progress from multiple threads. 2) network progress: reports progress as objects and bytes are going to be written to the subtransport (instead of as client gets confirmation that they have been received by the server) and leaves out some of the bytes that are transfered as part of the push protocol. Basically, this reports the pack bytes that are written to the subtransport. It does not report the bytes sent on the wire that are received by the server. This should be a good estimate of progress (and an improvement over no progress).
Ben Straub 256961e4 2013-09-26T16:36:05 WHOOPS
Ben Straub 1b02baf4 2013-09-26T16:25:05 Adjust to new utility signature
Ben Straub ea59f659 2013-09-26T16:20:30 Deploy gitno_connection_data into transport (winhttp) ...and have that call manage replaced memory in the output structure.
Ben Straub 83fbd368 2013-09-26T15:58:41 Deploy gitno_connection_data into transport
Ben Straub f30d91ce 2013-09-26T11:03:27 Refactor URL handling to use library call
Ben Straub 8988688c 2013-09-25T20:41:56 Migrate redirect URL handling to common utility
Ben Straub ac316e74 2013-09-25T14:25:38 Why are we disabling redirects?
Ben Straub 4a88eb20 2013-09-25T12:13:09 Win32: handle http->https redirects
Russell Belfer 46fbc88e 2013-09-24T14:50:06 Prevent HTTPS to HTTP redirect
Russell Belfer eb0ff130 2013-09-24T14:07:08 Disconnect path string to preserve after redirect The subtransport path was relying on pointing to data owned by the remote which meant that after a redirect, the updated path was getting lost for future requests. This updates the http transport to strdup the path and maintain its own lifetime. This also pulls responsibility for parsing the URL back into the http transport and isolates the functions that parse and free that connection data so that they can be reused between the initial parsing and the redirect parsing.
Ben Straub 210d5325 2013-09-23T12:09:23 Allow redirects to use same host
Vicent Martí 92d19d16 2013-09-21T09:34:03 Merge pull request #1840 from linquize/warning Fix warning
Linquize 66566516 2013-09-08T17:15:42 Fix warning
Etienne Samson eec4dcc3 2013-08-09T13:14:19 Whitespace.
Etienne Samson b622aabe 2013-08-09T13:14:06 Add a wrapper to provide the libssh2 error message
Isaac Kearse b345026b 2013-09-10T05:16:52 Test for repo before removing leading colon
Isaac Kearse fbabe855 2013-09-08T14:11:08 Trim leading colon from ssh repository path
Ben Straub f42d546c 2013-09-04T13:07:42 Provide better errors for push on non-bare local remotes
Edward Thomson 1ff3a094 2013-08-27T19:41:44 Improve win32 version check, no ipv6 tests on XP
Vicent Martí 520287f6 2013-08-19T02:17:00 Merge pull request #1785 from libgit2/cmn/odb-hash-frontend odb: move hashing to the frontend for streaming
Carlos Martín Nieto 376e6c9f 2013-08-15T13:48:35 odb: wrap the stream reading and writing functions This is in preparation for moving the hashing to the frontend, which requires us to handle the incoming data before passing it to the backend's stream.
Russell Belfer c87bf86c 2013-08-14T10:58:02 Commit 7affc2f7 removed var initialization That commit accidentally removed the initialization of the "start" variable giving undefined results for the host extraction from the url input.
Vicent Martí 40948998 2013-08-13T11:36:24 Merge pull request #1767 from libgit2/win32-bigger-utf8-buffer Bigger buffer for utf-8 parsing in win32
Russell Belfer d4cff0cb 2013-08-13T09:40:32 Rename git__win32_path fns to git_win32_path
Vicent Marti abf37327 2013-08-13T09:15:39 windows: Path conversion with better semantics
Carlos Martín Nieto 7affc2f7 2013-08-11T23:30:47 Include username in each credential type Key-based authentication also needs an username, so include it in each one. Also stop assuming a default username of "git" in the ssh transport which has no business making such a decision.
Ben Straub aaefbdee 2013-08-08T08:48:57 Discriminate path-specific and general UTF-X conversions
Ben Straub 2c0128ee 2013-08-07T19:29:33 Rename git_win_str_utf* to git_win32_path_utf*
Ben Straub 9c38f7a6 2013-08-07T13:22:41 Add typedefs for win32 utf-8 and utf-16 buffers ...and normalize the signatures of the two conversion functions.
Ben Straub d8563619 2013-08-05T11:41:39 Split UTF-16 and UTF-8 buffer sizes for win32 Also fixed up call-sites to use the correct buffer sizes, especially when converting to utf-8.
Russell Belfer 33c8c6f0 2013-07-10T10:48:32 trivial whitespace fixup
Russell Belfer c2de6b1a 2013-07-10T10:21:24 Bring SSH error reporting up to base standards The SSH error checking and reporting could still be further improved by using the libssh2 native methods to get error info, but at least this ensures that all error codes are checked and translated into libgit2 error messages.
Russell Belfer 68bc49a1 2013-07-10T09:20:46 Merge branch 'ssh-cred-fix' of tiennou/libgit2 Conflicts: src/transports/ssh.c
Etienne Samson 08bf80fa 2013-07-10T10:29:32 Tab indent.
Etienne Samson 367c1903 2013-07-10T10:29:09 Add some missing error messages.
Russell Belfer a4456929 2013-07-09T16:16:24 Make credential clearing consistent This makes all of the credential objects use the same pattern to clear the contents and call git__memzero when done. Much of this information is probably not sensitive, but it also seems better to just clear consistently.
Russell Belfer 03d9b930 2013-07-09T14:45:58 Indent with tabs
Russell Belfer 5813bc21 2013-07-09T12:01:16 Lots of SSH credential stuff can be left on Much of the SSH credential creation API can be left enabled even on platforms with no SSH support. We really just have to give an error when you attempt to open the SSH connection.
Russell Belfer a3c062db 2013-07-09T09:58:33 Make SSH APIs present even without SSH support The SSH APIs will just return an error code and state that the library was built without SSH support if they are called in that case.
Etienne Samson f6bd0863 2013-07-03T22:02:44 Fix a probable leak.
Etienne Samson 219f318c 2013-07-03T22:02:29 Fix a crash if git_remote_set_cred_acquire_cb wasn't called before connecting. Fixes #1700.
Arthur Schreiber 9728cfde 2013-06-25T11:17:55 Make sure we don't leak memory again.
Arthur Schreiber edbaa63a 2013-06-25T09:04:04 Unbreak git_remote_ls on a local transport after disconnecting.
Arthur Schreiber 8c510b83 2013-06-24T21:02:42 Fix a leak in the local transport code.
yorah 0525fb7e 2013-06-17T14:31:14 cred: deploy git__memzero to clear memory holding a password
Russell Belfer 37f66e82 2013-06-12T15:21:21 Fix Windows warnings This fixes problems with missing function prototypes and 64-bit data issues on Windows.
Vicent Martí e3107e0e 2013-05-16T11:35:02 Merge pull request #1558 from bmorganpa/ssh_transport SSH Transport
Linquize 7026ad89 2013-05-16T21:08:55 calloc() to initialize memory
nulltoken 1fed6b07 2013-05-13T21:57:37 Fix trailing whitespaces
Brad Morgan 84ac625d 2013-05-15T12:51:40 Added GITERR_CHECK_ALLOC
Brad Morgan ccaee222 2013-05-15T12:46:33 Added GITERR_CHECK_ALLOC
Brad Morgan e057e411 2013-05-15T12:44:51 Reworked git_cred_ssh_keyfile_passphrase_new method
Brad Morgan b54ed3ef 2013-05-15T12:41:16 Added error check
Brad Morgan 22011b33 2013-05-15T12:38:40 Cleanup
Linquize 0cb16fe9 2013-05-15T20:26:55 Unify whitespaces to tabs
Linquize e583334c 2013-05-10T21:42:22 Fix broken build when MSVC SDL checks is enabled
Carlos Martín Nieto 2b562c3a 2013-05-04T16:32:58 refs: remove the OID/SYMBOLIC filtering Nobody should ever be using anything other than ALL at this level, so remove the option altogether. As part of this, git_reference_foreach_glob is now implemented in the frontend using an iterator. Backends will later regain the ability of doing the glob filtering in the backend.
Brad Morgan ce6d50b9 2013-05-09T17:37:42 Changed to use libssh2_channel_exec
Brad Morgan 05f58131 2013-05-09T17:36:27 Renaming
Brad Morgan 00e43380 2013-05-07T14:30:35 Merge remote-tracking branch 'origin/development' into ssh_transport
Brad Morgan 574b86b7 2013-05-07T13:53:23 Fixed compilation issues when libssh2 is missing
Brad Morgan c36565c0 2013-05-07T13:43:10 Added SSH public key authentication
Brad Morgan 7621519f 2013-05-05T14:46:28 Cleanup
Brad Morgan 67a7136c 2013-05-05T14:24:47 Renaming
Brad Morgan 3eed595e 2013-05-05T14:24:05 Refactoring
Brad Morgan d9766959 2013-05-05T14:05:03 Cleanup
Brad Morgan c0cef9e0 2013-05-05T13:58:18 Added username and password auth for ssh
Brad Morgan 7261d983 2013-05-05T13:36:11 Added support for ssh:// urls
Brad Morgan 120b0122 2013-05-05T09:03:49 Refactoring
Brad Morgan 22595b84 2013-05-05T08:43:58 Added ssh stream cleanup
Brad Morgan 58ba0a4e 2013-05-05T08:34:56 Cleanup
Brad Morgan f7158cd7 2013-05-03T16:31:16 Push working over ssh
Brad Morgan d04c3840 2013-05-03T14:53:23 Adding ssh transport logic
Brad Morgan 8ae55d94 2013-05-03T10:53:59 Renaming
Brad Morgan 297758dc 2013-05-03T10:37:33 Added ssh transport file
Edward Thomson d8041638 2013-05-02T17:22:13 fix some leaks
Russell Belfer b7f167da 2013-04-29T13:52:12 Make git_oid_cmp public and add git_oid__cmp
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.