summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ssh: use url parsing functionalityethomson/scp_urls_with_portsEdward Thomson2022-01-171-61/+26
| | | | | Instead of trying to figure out a repo's path from a URL by hand, parse a URL using the parsing functionality.
* url: introduce git_net_str_is_urlEdward Thomson2022-01-173-1/+41
| | | | | | We occasionally need to determine whether a given string is a URL or something else. (The "something else" may be a git path in a different format, like scp formatting, which needs to be handled differently.)
* ci: test `[user@host:port]:path` formatsEdward Thomson2022-01-171-5/+15
|
* url: introduce git_net_url_parse_scpEdward Thomson2022-01-174-38/+515
| | | | | | Provide a mechanism for parsing scp-style paths (eg `git@github.com:libgit2/libgit2` into the url form `ssh://git@github.com/libgit2/libgit2`.)
* common: update the error checking macrosEdward Thomson2022-01-171-2/+6
|
* online: test with https instead of git protocolEdward Thomson2022-01-175-52/+43
| | | | | GitHub is removing support for the unauthenticated git protocol; test with the https protocol.
* Merge pull request #6175 from libgit2/ethomson/follow_redirects_initialEdward Thomson2022-01-1724-568/+976
|\ | | | | remote: support `http.followRedirects` (`false` and `initial`) and follow initial redirects by default
| * 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 pull request #6179 from boretrk/flagsEdward Thomson2022-01-175-24/+24
|\ \ | |/ |/| c99: change single bit flags to unsigned
| * c99: change single bit flags to unsignedPeter Pettersson2022-01-175-24/+24
|/
* 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>