summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* remote: support `http.followRedirects=true`ethomson/follow_redirectsEdward Thomson2022-01-132-13/+13
|
* http: move POST response handling to to `write` functionEdward Thomson2022-01-131-18/+14
| | | | | | | Instead of waiting until the `read_response` to handle the response headers, read them when we write the request. The write function now only deals with the response body. This refactor allows us to handle redirects to our POSTs, when requested.
* ci: minor formatting cleanups to test outputethomson/follow_redirects_initialEdward Thomson2022-01-131-2/+3
|
* remote: test honoring configuration optionEdward Thomson2022-01-131-9/+57
| | | | Test that we honor `http.followRedirects` when set to initial or false.
* remote: honor `http.followRedirects` configuration optionEdward Thomson2022-01-134-20/+68
|
* remote: introduce `follow_redirects` connect optionEdward Thomson2022-01-136-4/+138
| | | | | | | Give callers the ability to select how to handle redirects - either supporting redirects during the initial connection (so that, for example, `git.example.com/repo` can redirect to `github.com/example/repo`) or all/no redirects. This is for compatibility with git.
* url: optionally allow off-site redirectsEdward Thomson2022-01-135-26/+47
| | | | In redirect application logic, (optionally) allow off-site redirects.
* ci: stop retrying "flaky" testsEdward Thomson2022-01-131-4/+0
| | | | We (thankfully) don't have flaky tests anymore, don't retry them.
* ci: use poxygit v0.5.1Edward Thomson2022-01-131-1/+1
| | | | | The new version of our test git server adds redirect support. Upgrade to it.
* remote: introduce `git_remote_connect_options`ethomson/remote_connect_optsEdward Thomson2022-01-0617-513/+609
| | | | | | | | | | | | | | | | | | | | | | | | | The existing mechanism for providing options to remote fetch/push calls, and subsequently to transports, is unsatisfactory. It requires an options structure to avoid breaking the API and callback signatures. 1. Introduce `git_remote_connect_options` to satisfy those needs. 2. Add a new remote connection API, `git_remote_connect_ext` that will take this new options structure. Existing `git_remote_connect` calls will proxy to that. `git_remote_fetch` and `git_remote_push` will proxy their fetch/push options to that as well. 3. Define the interaction between `git_remote_connect` and fetch/push. Connect _may_ be called before fetch/push, but _need not_ be. The semantics of which options would be used for these operations was not specified if you specify options for both connect _and_ fetch. Now these are defined that the fetch or push options will be used _if_ they were specified. Otherwise, the connect options will be used if they were specified. Otherwise, the library's defaults will be used. 4. Update the transports to understand `git_remote_connect_options`. This is a breaking change to the systems API.
* remote: improved error reportingEdward Thomson2022-01-063-8/+8
| | | | | Several places in the remote code identify an error and then swallow it; return the error.
* push: don't try to connect in `finish`Edward Thomson2022-01-061-3/+4
| | | | | Push starts by connecting, don't try to connect again, just rely on the existing connection existing.
* docs: document our API/ABI stability stanceEdward Thomson2022-01-061-0/+63
|
* Merge branch 'status'Edward Thomson2022-01-066-16/+79
|\
| * status: don't use `// ...` in tests, use `/* ... */`Edward Thomson2022-01-061-5/+4
| |
| * Merge remote-tracking branch 'pr/6159'Edward Thomson2022-01-066-1/+65
| |\
| | * #6154 git_status_list_new case insensitive fixMiguel Arroz2022-01-016-1/+64
| | |
| * | status: don't use `// ...` in tests, use `/* ... */`Edward Thomson2022-01-061-15/+15
|/ /
* | Merge pull request #6165 from libgit2/ethomson/includeifEdward Thomson2022-01-062-3/+39
|\ \ | | | | | | config: handle empty conditional in includeIf
| * | config: test allocation in config conditionalsethomson/includeifEdward Thomson2022-01-051-1/+3
| | |
| * | config: handle empty conditional in includeIfEdward Thomson2022-01-052-3/+37
| |/ | | | | | | | | | | When a config file contains `[includeIf]` (with no condition), we should treat that as a falsey value. This means that we should properly parse a config value of `includeIf.path`.
* | Merge pull request #6158 from arroz/feat/statusRenameThresholdEdward Thomson2022-01-053-0/+72
|\ \ | | | | | | Add `rename_threshold` to `git_status_options`.
| * | Add `rename_threshold` to `git_status_options`.Miguel Arroz2021-12-313-0/+72
| |/
* | Merge pull request #6157 from boretrk/hmac_ctx_cleanupEdward Thomson2022-01-041-1/+1
|\ \ | |/ |/| ntmlclient: fix linking with libressl
| * ntmlclient: don't declare dummy HMAC_CTX_cleanup when building with libresslPeter Pettersson2021-12-311-1/+1
|/
* Merge pull request #6150 from cestrand/patch-1Edward Thomson2021-12-241-2/+0
|\ | | | | Remove PSGit from Language Bindings section of README
| * Remove PSGit from Language Bindings section of READMEMarcin Kolenda2021-12-241-2/+0
|/ | | PSGit is not using libgit2 library. It is stub of a library and is not developed further.
* Merge pull request #6148 from libgit2/ethomson/ciEdward Thomson2021-12-241-1/+2
|\ | | | | ci: build with ssh on nightly
| * ci: build with ssh on nightlyEdward Thomson2021-12-231-1/+2
|/
* Merge pull request #6147 from libgit2/ethomson/insteadofEdward Thomson2021-12-231-34/+28
|\ | | | | remote: refactor insteadof application
| * remote: refactor insteadof applicationethomson/insteadofEdward Thomson2021-12-231-34/+28
|/ | | | | | | Using the insteadof helper would leak memory when we didn't really want the pushInsteadOf configuration. Refactor the choice into the function that allocates memory (or now, not) and use a more idiomatic `int` return code.
* Merge branch 'pr/6062'Edward Thomson2021-12-233-6/+34
|\
| * worktree: checkout options suggestions from code reviewEdward Thomson2021-12-233-8/+8
| |
| * Fix test fail because of memory leakpunkymaniac2021-12-231-0/+1
| |
| * Update test for `git_str` usage instead of `git_buf`punkymaniac2021-12-231-3/+3
| | | | | | | | See commit f0e693b18afbe1de37d7da5b5a8967b6c87d8e53
| * Add test for `git_worktree_add` no checkoutpunkymaniac2021-12-231-0/+21
| |
| * Change default checkout strategy from FORCE to SAFEpunkymaniac2021-12-231-2/+0
| | | | | | | | | | | | Since we are able to give our own git checkout options, the default git checkout strategy will be the same as initialized in a new git_checkout_options struct.
| * Allow user checkout options on git_worktree_addpunkymaniac2021-12-232-2/+10
|/ | | | | | Extend the `git_worktree_add_options` to include `git_checkout_options`. github issue #5949
* Merge pull request #6142 from libgit2/ethomson/blob_data_is_binaryEdward Thomson2021-12-233-0/+37
|\ | | | | blob: identify binary content
| * blob: identify binary contentethomson/blob_data_is_binaryEdward Thomson2021-12-103-0/+37
| | | | | | | | | | Introduce `git_blob_data_is_binary` to examine a blob's data, instead of the blob itself. A replacement for `git_buf_is_binary`.
* | Merge pull request #6124 from csware/config-parsingEdward Thomson2021-12-234-5/+66
|\ \ | | | | | | Config parsing
| * | Multiline config values not preserved on savingSven Strickroth2021-12-062-4/+27
| | | | | | | | | | | | | | | | | | (fixes issue #6088) Signed-off-by: Sven Strickroth <email@cs-ware.de>
| * | Add more tests for contentsSven Strickroth2021-12-061-0/+15
| | | | | | | | | | | | Signed-off-by: Sven Strickroth <email@cs-ware.de>
| * | Config parsing confused by continuations that start with quotesSven Strickroth2021-12-063-1/+24
| | | | | | | | | | | | | | | | | | (fixes issue #6089) Signed-off-by: Sven Strickroth <email@cs-ware.de>
* | | Merge pull request #6125 from stforek/git_commit_summary_spacesEdward Thomson2021-12-232-4/+18
|\ \ \ | | | | | | | | git_commit_summary: ignore lines with spaces
| * | | git_commit_summary: ignore lines with spacesPrzemyslaw Ciezkowski2021-11-252-4/+18
| |/ / | | | | | | | | | Fixes libgit2/libgit2#6065
* | | Merge pull request #6101 from mkhl/fix/instead-ofEdward Thomson2021-12-233-28/+153
|\ \ \ | | | | | | | | remotes: fix insteadOf/pushInsteadOf handling
| * | | remote: improve apply_insteadof function signatureMartin Kühl2021-11-111-9/+9
| | | |
| * | | fix remote/insteadof testsMartin Kühl2021-11-111-5/+25
| | | |
| * | | update remote/insteadof testsMartin Kühl2021-11-112-23/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we want to test: - an anonymous repo (a url) - a named repo with a url - a named repo with a url and pushurl and for each of these matching configuration: - only insteadOf - only pushInsteadOf - both insteadOf and pushInsteadOf this change adds test cases for all of these combinations.