src/remote.c


Log

Author Commit Date CI Message
Carlos Martín Nieto 9c5d4b2e 2013-04-30T12:05:16 remote: fix a leak when dwim'ing refspecs
Carlos Martín Nieto 1ffd0806 2013-04-30T11:18:16 remote: add resfpec list accessors Bring back a way of acessing the git_refspec* from a remote. Closes #1514
Carlos Martín Nieto d8488457 2013-04-28T16:26:55 remote: dwim the refspecs according to the remote's advertised refs As git allows you to store shorthand refspecs in the configuration, we need to do this ourselves.
Carlos Martín Nieto 1be680c4 2013-04-20T19:13:47 refspec: unify the string and parsed data It used to be separate as an attempt to make the querying easier, but it didn't work out that way, so put all the data together. Add git_refspec_string() as well to get the original string, which is now stored alongside the independent parts.
Carlos Martín Nieto bc6374ea 2013-04-20T18:49:11 remote: allow querying for refspecs Introduce git_remote_{fetch,push}_refspecs() to get a list of refspecs from the remote and rename the refspec-adding functions to a less silly name. Use this instead of the vector index hacks in the tests.
Carlos Martín Nieto 4330ab26 2013-04-20T04:43:28 remote: handle multiple refspecs A remote can have a multitude of refspecs. Up to now our git_remote's have supported a single one for each fetch and push out of simplicity to get something working. Let the remotes and internal code know about multiple remotes and get the tests passing with them. Instead of setting a refspec, the external users can clear all and add refspecs. This should be enough for most uses, though we're still missing a querying function.
Carlos Martín Nieto 404eadb0 2013-04-16T00:11:59 remote: don't try to update FETCH_HEAD if no extra heads exist Don't try to update anything if there are no heads to update. This saves us from trying to look into a fetch refspec when there is none. A better fix for compatibility with git when using remotes without refspecs is still needed, but this stops us from segfaulting.
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
Carlos Martín Nieto a258d8e3 2013-03-30T03:39:19 branch: rename 'tracking' to 'upstream' The term 'tracking' is overloaded. Help distinguish what we mean by using 'upstream' for this part of the library.
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
Edward Thomson d00d5464 2013-03-01T15:37:33 immutable references and a pluggable ref database
nulltoken 2bca5b67 2013-02-07T23:44:18 remote: Introduce git_remote_is_valid_name() Fix libgit2/libgit2sharp#318
Philip Kelley 11d9f6b3 2013-01-27T14:17:07 Vector improvements and their fallout
nulltoken c5193e3c 2013-01-25T12:00:27 clone: Prevent segfault upon faulted remote creation
Ben Straub 3874f2d5 2013-01-11T20:23:46 Kill vestigal dangling-remote code Fixes #1232
Edward Thomson 359fc2d2 2013-01-08T17:07:25 update copyrights
Ben Straub c07b52df 2013-01-02T12:48:17 Remove `inmem` flag, use NULL name instead
Ben Straub 0642c143 2013-01-02T12:44:47 Move `url` to last place in parameter list
Ben Straub 592f466c 2012-12-27T11:11:53 Fix GCC static/non-static compile error
nulltoken f19304d2 2012-12-24T15:59:01 remote: Prevent create() from blindly overwriting
nulltoken 7d4b65f6 2012-12-17T12:27:32 Fix indentations
Ben Straub 79000951 2012-12-21T08:05:59 In-memory remotes don't have names
Ben Straub 874dcb25 2012-12-20T11:49:05 Remote: deprecate dangling, prevent saving in-memory
Ben Straub 29f27599 2012-12-20T10:51:09 Rename remote creation APIs git_remote_add -> git_remote_create git_remote_new -> git_remote_create_inmemory
Ben Straub 7c353afd 2012-12-13T08:47:29 Define constant for default fetch spec
Ben Straub 44f36f6e 2012-12-12T19:48:44 Convert clone to use dangling remotes
Ben Straub b914e17d 2012-12-12T12:23:24 API to set a dangling remote's repository
Ben Straub a71c27cc 2012-12-12T12:15:25 Allow creation of dangling remotes
Ben Straub 59bccf33 2012-12-10T11:11:01 Add a payload param to git_cred_acquire_cb Fixes #1128.
Vicent Martí e05ca13f 2012-12-05T11:47:19 Merge pull request #1115 from ben/struct-versions Version info for public structs
nulltoken 032ba9e4 2012-11-12T12:32:31 remote: deploy EINVALIDSPEC usage
Ben Straub c7231c45 2012-11-30T16:31:42 Deploy GITERR_CHECK_VERSION
Ben Straub 10711769 2012-11-29T20:47:37 Deploy versioned git_transport structure
Ben Straub 9267ff58 2012-11-29T20:01:24 Deploy GIT_REMOTE_CALLBACKS_INIT
Philip Kelley 613d5eb9 2012-11-28T11:42:37 Push! By schu, phkelley, and congyiwu, et al
Ben Straub f4a62c30 2012-11-27T14:13:03 Typedef enums.
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 54b2a37a 2012-11-20T16:02:25 Clean up config.h
Ben Straub 2508cc66 2012-11-18T21:38:08 Rename ref and reflog apis for consistency
Carlos Martín Nieto 0da81d2b 2012-11-13T14:43:23 config: return an emtpy string when there is no value Returning NULL for the string when we haven't signaled an error condition is counter-intuitive and causes unnecessary edge cases. Return an empty string when asking for a string value for a configuration variable such as '[section] var' to avoid these edge cases. If the distinction between no value and an empty value is needed, this can be retrieved from the entry directly. As a side-effect, this change stops the int parsing functions from segfaulting on such a variable.
Carlos Martín Nieto 47db054d 2012-11-13T13:41:01 config: distinguish between a lone variable name and one without rhs '[section] variable' and '[section] variable =' behave differently when parsed as booleans, so we need to store that distinction internally.
Edward Thomson b0f6e45d 2012-11-01T15:47:18 create FETCH_HEAD specially instead of as a ref file
Philip Kelley 091361f5 2012-11-06T08:52:03 Basic authentication for http and winhttp
Justin Spahr-Summers c1cd036e 2012-11-05T11:01:00 'geterr' -> 'giterr'
Justin Spahr-Summers f8baece7 2012-11-05T10:42:10 Set GITERR_INVALID when encountering a NULL remote URL
Justin Spahr-Summers 83885891 2012-11-04T22:01:24 Bail out if remote->url would be NULL This fixes a crash from attempting to invoke git__strdup() against NULL.
Vicent Martí 7ae73e94 2012-11-01T09:15:29 Merge pull request #1030 from pwkelley/transports Reorganize transport architecture
Philip Kelley 41fb1ca0 2012-10-29T13:41:14 Reorganize transport architecture (squashed 3)
Ben Straub c48e8700 2012-10-31T10:13:57 Ensure that non-error is not propagated
Michael Schubert 6cfbbf7e 2012-10-30T18:50:59 Fix a couple of warnings
Russell Belfer 1b934689 2012-10-25T10:55:03 Merge pull request #925 from nulltoken/topic/moving-branch-updates-config Updates config upon moving and deletion of branches
Ben Straub 67dad09b 2012-10-25T09:59:49 Remove inline hint
Ben Straub 1fc375e6 2012-10-25T09:02:55 Fix Windows build Pedantic ordering of GIT_UNUSED vs. variable declarations.
nulltoken fcccf304 2012-09-09T20:39:13 remote: introduce git_remote_rename()
nulltoken fb39b3a5 2012-10-02T14:36:59 refspec: introduce git_refspec__serialize()
nulltoken 4fe5520a 2012-09-17T17:46:58 remote: remove some code duplication
nulltoken e497b16c 2012-09-17T14:22:18 remote: prevent from saving a nameless remote
Vicent Martí 1eb8cd7f 2012-10-25T08:16:13 Merge pull request #990 from ben/clone-callbacks Progress callbacks
Ben Straub 1e3b8ed5 2012-10-24T14:07:07 Remove 'bytes' param from git_remote_download
Ben Straub 7d222e13 2012-10-24T13:29:14 Network progress: rename things git_indexer_stats and friends -> git_transfer_progress* Also made git_transfer_progress members more sanely named.
yorah a1abe66a 2012-09-10T12:11:02 Add config level support in the config API Added `struct git_config_entry`: a git_config_entry contains the key, the value, and the config file level from which a config element was found. Added `git_config_open_level`: build a single-level focused config object from a multi-level one. We are now storing `git_config_entry`s in the khash of the config_file
Vicent Martí 8a89aa1f 2012-10-22T12:04:48 Merge pull request #963 from carlosmn/remote-save-autotag Save the autotag configuration for remotes
Ben Straub 216863c4 2012-10-17T14:02:24 Fetch/indexer: progress callbacks
Ben Straub d57c47dc 2012-10-16T13:29:12 Add accessor for git_remote's stats field Also converted the network example to use it.
Ben Straub 3028be07 2012-10-16T13:10:27 Add git_indexer_stats field to git_remote Also removing all the *stats parameters from external APIs that don't need them anymore.
Carlos Martín Nieto f0d2ddbb 2012-10-18T04:31:03 remote: support fetch cancelation Introduce git_remote_stop() which sets a variable that is checked by the fetch process in a few key places. If this is variable is set, the fetch is aborted.
Carlos Martín Nieto acd17006 2012-10-07T11:19:19 remote: only keep a weak pointer in update_tips The reference is only needed inside the function. We mistakenly increased the reference counter causing the ODB not to get freed and leaking descriptors.
Carlos Martín Nieto c648d4a8 2012-10-02T12:05:09 remote: don't auto-follow tags on an unamed remote An unnamed remote is used for commands like git fetch git://host/repo where no tags should be downloaded. Make this the default.
Carlos Martín Nieto 218c88a9 2012-10-02T11:48:02 remote: set/unset the autotag setting on save Make the configuration option match the configured behavior when saving a remote.
Vicent Marti 9063be1f 2012-10-01T17:33:05 remote: Fix mid-block declaration
Carlos Martín Nieto 3230a44f 2012-09-30T10:56:06 remote: support downloading all tags Also honor remote.$name.tagopt = --tags.
Carlos Martín Nieto eb0bd77a 2012-09-29T22:50:33 remote: use the refspec functions to parse, instead of rolling our own The local function works for simple cases, but we shouldn't reinvent the wheel just for us.
Carlos Martín Nieto f70e466f 2012-09-27T11:58:35 remote: add accessors for the autotag setting
Carlos Martín Nieto a37ddf7e 2012-09-16T03:36:03 remote: create tags if we have them Together with include-tag, this make us behave more like git. After a fetch, try to create any tags the remote told us about for which we have objects locally.
Carlos Martín Nieto 24f2f94e 2012-09-15T08:07:24 fetch: use the include-tag capability This tells the remote to send us any tags that point to objects that we are downloading.
Carlos Martín Nieto 3665ba8e 2012-09-27T12:04:41 refspec: add git_refspec__free, remove git_refspec_parse The latter shouldn't be exposed and isn't used, git_refspec__parse supersedes it. Fix a leak in the refspec tests while we're at it.
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.
Vicent Marti c07d9c95 2012-08-09T15:33:04 oid: Explicitly include `oid.h` for the inlined CMP
Russell Belfer e4607392 2012-08-06T11:06:05 Fix iterator check and return value There is a little cleanup necessary from PR #843. Since the new callbacks return `GIT_EUSER` we have to be a little careful about return values when they are used internally to the library. Also, callbacks should be checked for non-zero return values, not just less than zero.
Vicent Marti d8d28e2e 2012-08-06T12:44:23 remotes: Proper return for `git_remote_ls`
Michael Schubert 7e9f78b5 2012-08-04T15:22:38 remote: add missing include git2/remote.h Otherwise we get an incomplete type error, since git_remote_callbacks isn't declared yet.
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.
Vicent Martí 60d5cc57 2012-07-27T09:52:44 Merge pull request #834 from carlosmn/network-callbacks Add a struct for network callbacks
Carlos Martín Nieto c0c39025 2012-07-27T02:37:15 remote: fix C99-ism
Sascha Cunz eff5b499 2012-07-25T02:34:12 Remotes: Use correct url in git_remote_connect
Sascha Cunz 413d5563 2012-07-25T02:10:35 Remotes: Save a cleaned pushurl (by deleting it from the config)
Sascha Cunz 76501590 2012-07-25T01:33:15 Remotes: Setter for url+pushurl; Getter for pushurl
Sascha Cunz 3ed4b501 2012-07-25T01:32:31 Remotes: Load/Save for fetch.foo.pushurl
Sascha Cunz cb020f0d 2012-07-25T01:14:58 Remove unneccessary string transformation
Carlos Martín Nieto 944d250f 2012-07-24T10:34:28 update_tips: report error if it fails to create a ref
Carlos Martín Nieto b3aaa7a7 2012-07-21T17:52:51 Add a struct for network callbacks Currently only update_tips is used, but it prepares the way for progress output during download.
Vicent Martí 3f035860 2012-06-07T22:43:03 misc: Fix warnings from PVS Studio trial
Vicent Martí 966fbdcb 2012-06-05T13:53:33 Merge pull request #697 from carlosmn/ssl Add HTTPS support
nulltoken d27bf665 2012-05-30T00:50:39 remote: Make git_remote_add() generate a default refspec with a force update specifier
nulltoken d05e2c64 2012-05-30T00:27:22 refspec: expose the force update specifier through git_refspec_force() accessor
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.
Vicent Martí 904b67e6 2012-05-18T01:48:50 errors: Rename error codes
Vicent Martí e172cf08 2012-05-18T01:21:06 errors: Rename the generic return codes
Vicent Martí 29e948de 2012-05-10T10:38:10 global: Change parameter ordering in API Consistency is good.
Carlos Martín Nieto 11678b37 2012-05-09T16:18:13 fetch: filter tag annotation pseudo-refs while generating wants These objects aren't considered as being advertised, so asking for them will cause the remote end to close the connection. This makes the checking in update_tips() unnecessary, because they don't get inserted in the list.