summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* repository: warn on safe.directory handlingethomson/warningsEdward Thomson2023-02-152-1/+70
| | | | Invoke the new warning callback for `safe.directory` failures.
* warning: allow callers to configure a warning callbackEdward Thomson2023-02-156-1/+113
|
* Merge pull request #6479 from libgit2/ethomson/cloneEdward Thomson2023-02-151-1/+1
|\ | | | | clone: clean up options on failure
| * clone: clean up options on failureEdward Thomson2023-02-141-1/+1
|/
* Merge pull request #6456 from libgit2/ethomson/sha256_experimentalEdward Thomson2023-02-14196-530/+5143
|\ | | | | SHA256: more SHA256 support
| * ci: build our own git on xenialEdward Thomson2023-02-131-2/+14
| | | | | | | | The git included with xenial is ancient, and lacks sha256 support.
| * win32: adjust max path length for SHA256Edward Thomson2023-02-131-1/+1
| | | | | | | | | | The longest path within a git repository is now a SHA256 format packfile. Adjust our max length checking to match.
| * cmake: support older cmakesEdward Thomson2023-02-131-1/+1
| |
| * ci: actually build sha256 support on linuxEdward Thomson2023-02-121-1/+1
| |
| * clone: free connect optsEdward Thomson2023-02-122-0/+9
| |
| * repo: take an oid_type when initializingEdward Thomson2023-02-122-3/+24
| |
| * repo: dump backends on oid type changeEdward Thomson2023-02-121-1/+18
| |
| * transport: teach transports about oid types and SHA256Edward Thomson2023-02-1213-83/+298
| |
| * clone: support sha256Edward Thomson2023-02-127-34/+173
| |
| * revparse: don't assume SHA1Edward Thomson2023-02-121-6/+13
| |
| * refdb: teach filesystem refdb about sha256Edward Thomson2023-02-123-48/+78
| |
| * object: lookup sha256 objectsEdward Thomson2023-02-1229-174/+961
| | | | | | | | | | This is much of the plumbing for the object database to support SHA256, and for objects to be able to parse SHA256 versions of themselves.
| * odb: test sha256 pack backendEdward Thomson2023-02-122-0/+252
| |
| * packfile: handle sha256 packfilesEdward Thomson2023-02-1217-155/+412
| | | | | | | | Teach the packfile machinery to cope with SHA256.
| * odb: rename test file to avoid underscoreEdward Thomson2023-02-121-4/+4
| | | | | | | | | | In clar, an underscore is meaningful; avoid using it incorrectly / unnecessarily.
| * tests: add a sha256 repositoryEdward Thomson2023-02-12117-0/+2569
| | | | | | | | This is a conversion of the testrepo.git to SHA256 support.
| * ci: run sha256 builds during our nightly runsEdward Thomson2023-02-121-1/+31
| |
| * tests: helpers for getting ints from configurationEdward Thomson2023-02-122-0/+22
| |
| * repo: don't overwrite repo format version on reinitEdward Thomson2023-02-122-15/+42
| | | | | | | | | | Ensure that we maintain the `core.repositoryFormatVersion` value instead of always overwriting it with the default.
| * repo: internal setter for `objectformat`Edward Thomson2023-02-122-0/+38
| | | | | | | | | | Provide an internal function to set the repository's `objectformat`, both in the internal object and in the configuration.
| * repo: understand the `objectformat` extensionEdward Thomson2023-02-125-11/+132
| | | | | | | | | | | | Teach the repository about the `objectformat` extension, supporting `sha1` always and `sha256` when the experimental sha256 support is active.
| * oid: provide type lookups by enum value or nameEdward Thomson2023-02-092-0/+60
| |
* | Merge pull request #6455 from libgit2/ethomson/sysdirEdward Thomson2023-02-1427-455/+772
|\ \ | | | | | | Support the notion of a home directory separately from global configuration directory
| * | Set all SSH hostkey preferences that are availableEric Huss2023-02-091-43/+42
| | |
| * | ci: convert PATH correctly to Cygwin format on Windowsethomson/sysdir_testEdward Thomson2023-02-092-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We provide `BUILD_PATH` to our build script; provide it and mutate `PATH` when running our tests as well. We were previously using `cygpath` to try to convert a _list_ of Windows paths into cygwin / Unix style `PATH` format. This does not work -- it treats the path list as a single path (with semicolons -- understandably as those are allowed characters in a Windows path). For example, `C:\One;C:\Two;C:\Three` is converted to `/c/one;c:/two;c:/three`. Add a new function to convert path lists, so that paths are split by semicolon and fed to `cygpath` independently, then re-joined with a colon. This means that our example `C:\One;C:\Two;C:\Three` is correctly converted to `/c/one:/c/two:/c/three`.
| * | ci: limit test runner to build pathEdward Thomson2023-02-091-2/+20
| | | | | | | | | | | | | | | We provide `BUILD_PATH` to our build script; provide it and mutate `PATH` when running our tests as well.
| * | ci: run clone tests in onlineEdward Thomson2023-02-091-1/+1
| | |
| * | tests: known_hosts manipulating ssh clone testsEdward Thomson2023-02-092-22/+145
| | | | | | | | | | | | | | | | | | | | | Teach the clone tests how to clone from github.com, when given a keypair with a passphrase and known_hosts data. This allows us to better exercise our known_hosts checking and ensure that the lifecycle of the certificate callback matches our expectations.
| * | ci: compile against libssh2 on windowsEdward Thomson2023-02-092-2/+35
| | |
| * | ci: use latest ci-dependencies release for mingwEdward Thomson2023-02-091-2/+2
| | |
| * | ci: isolate the home directory for test executionEdward Thomson2023-02-091-1/+3
| | | | | | | | | | | | | | | | | | | | | libgit2 can now isolate its home directory, and our test runner (by default) isolates the home directory. In our CI environment, we want to set up some pieces (like ssh configuration) in a fake homedir. Continue to do so and propagate that to clar.
| * | tests: use a dummy homedirEdward Thomson2023-02-093-0/+20
| | | | | | | | | | | | | | | Use a dummy home directory for tests to avoid user data leaking into test execution.
| * | tests: configure temporary homedirs correctlyEdward Thomson2023-02-097-36/+98
| | | | | | | | | | | | | | | | | | Now that we've split the notion of the home directory from the global configuration store, our tests should use the appropriate one based on what they're doing.
| * | core: allow users to configure home directoryEdward Thomson2023-02-092-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some callers -- like our test suite and the test suites of our language bindings -- want to isolate the home directory to avoid accidentally including the executing user's actual home directory data. Previously, we combined the notion of a home directory and global configuration -- now that this is separated, we provide users the ability to configure both.
| * | config: use home directory for `~` includesEdward Thomson2023-02-092-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Users can specify a config file to be included in the home directory using `~/filename` syntax. Instead of looking in the global configuration location (which may be overridden), use the user's _actual_ home directory. This allows callers to change the global configuration location separately from the home directory.
| * | attr: use home directory for `~` includesEdward Thomson2023-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Users can specify an attribute file to be included in the home directory using `~/filename` syntax. Instead of looking in the global configuration location (which may be overridden), use the user's _actual_ home directory. This allows callers to change the global configuration location separately from the home directory.
| * | ssh: give a realistic error messageEdward Thomson2023-02-091-2/+2
| | | | | | | | | | | | | | | I spent an hour banging my head against this, when it was because the remote didn't trust my key.
| * | ssh: support windows `known_hosts` filesEdward Thomson2023-02-091-8/+8
| | | | | | | | | | | | | | | | | | | | | Use `git_sysdir_find_homedir_file` to identify the path to the home directory's `.ssh/known_hosts`; this takes Windows paths into account by preferring `HOME`, then falling back to `HOMEPATH` and `USERPROFILE` directories.
| * | sysdir: provide actual home directoryEdward Thomson2023-02-092-10/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a mechanism to look up the user's home directory, using the same mechanism that we use for locating the global configuration path (a fancy name for saying "the home directory"). SSH known hosts lookups now use this, instead of simply looking at the HOME environment variable, to support Windows-style home directory lookups in `HOME`, `HOMEPATH`, or `USERPROFILE`.
| * | sysdir: move windows sysdir functions out of shared utilEdward Thomson2023-02-096-318/+275
| |/ | | | | | | | | | | The windows sysdir functions are libgit2-specific and for git compatibility only; remove them from the shared util directory and bring them into the libgit2 source tree.
* | Merge pull request #6376 from bzEq/bzEq/aix-int64Edward Thomson2023-02-141-0/+2
|\ \ | | | | | | Define correct off64_t for AIX
| * | Revert "Include <stdint.h>"Kai Luo2022-09-221-1/+2
| | | | | | | | | | | | This reverts commit 1fde70bb607c7ba471db359f045affd1f5625e5d.
| * | Include <stdint.h>Kai Luo2022-09-221-2/+1
| | |
| * | On AIX, `off64_t` is equivalent to `long long`.Kai Luo2022-08-091-0/+2
| | | | | | | | | | | | See `/usr/include/sys/types.h` on AIX.
* | | Merge pull request #6423 from cavaquinho/fix/6422-revwalk_push_glob-dangling-refEdward Thomson2023-02-142-1/+22
|\ \ \ | | | | | | | | #6422: handle dangling symbolic refs gracefully