summaryrefslogtreecommitdiff
path: root/src/libgit2
Commit message (Collapse)AuthorAgeFilesLines
* betterethomson/sha256_fixEdward Thomson2023-02-235-4/+23
|
* Make failure to connect to ssh-agent non-fatalFrancois-Xavier Coudert2023-02-221-1/+3
| | | | | | | | | Fixes https://github.com/libgit2/libgit2/issues/3866 Has been applied in all Julia builds since 2017: https://github.com/JuliaLang/julia/pull/17459 Authored-by: Keno Fischer <kfischer@college.harvard.edu>
* Merge pull request #6493 from libgit2/ethomson/ownershipEdward Thomson2023-02-201-6/+42
|\ | | | | Handle Win32 shares
| * repo: support safe.directory with %(prefix)/Edward Thomson2023-02-201-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Git for Windows does some truly bizarre things with paths that start with a forward slash; and expects you to escape that with `%(prefix)`. This syntax generally means to add the prefix that Git was installed to -- eg `/usr/local` -- unless it's an absolute path, in which case the leading `%(prefix)/` is just removed. And Git for Windows expects you to use this syntax for absolute Unix-style paths (in "Git Bash" or Windows Subsystem for Linux). Worse, the behavior used to be that a leading `/` was not absolute. It would indicate that Git for Windows should add the prefix. So `//` is required for absolute Unix-style paths. Yes, this is truly horrifying. Emulate that behavior, I guess, but only for absolute paths. We won't deal with the Git install prefix. Also, give WSL users an escape hatch where they don't have to think about this and can use the literal path that the filesystem APIs provide (`//wsl.localhost/...`).
| * repo: don't fail on strange win32 pathsEdward Thomson2023-02-181-0/+3
| | | | | | | | | | | | | | With some paths on Win32, we cannot identify the owner because it's on a file share (WSL2 or UNC). In that case, don't fail, but identify that the current user does not own the path. This matches Git for Windows behavior.
* | Deleted unused variable.Miguel Arroz2023-02-171-1/+0
| |
* | #6491: Sets oid_type on repos open with git_repository_open_bareMiguel Arroz2023-02-171-22/+48
|/
* stash: update strarray usageEdward Thomson2023-02-161-0/+1
|
* Merge pull request #6330 from gitkraken-jacobw/partial-stashingEdward Thomson2023-02-161-26/+200
|\ | | | | stash: partial stash specific files
| * stash: fixes from code reviewEdward Thomson2023-02-161-40/+33
| |
| * stash: add `const` to argumentsJacob Watson2022-07-141-4/+4
| |
| * stash: better option validation for stash saveJacob Watson2022-07-141-6/+17
| |
| * stash: implement partial stashing by pathJacob Watson2022-07-141-25/+195
| |
* | strarray: remove deprecated declarationEdward Thomson2023-02-164-1/+28
| | | | | | | | | | | | `git_strarray_copy` is deprecated (and has been included in `deprecated.h` for some time). It should not have remained in the public `strarray.h`. Remove it.
* | socket: mark flags as unusedEdward Thomson2023-02-151-1/+2
| |
* | clone: clean up options on failureEdward Thomson2023-02-141-1/+1
| |
* | Merge pull request #6456 from libgit2/ethomson/sha256_experimentalEdward Thomson2023-02-1438-405/+1122
|\ \ | | | | | | SHA256: more SHA256 support
| * | clone: free connect optsEdward Thomson2023-02-122-0/+9
| | |
| * | repo: take an oid_type when initializingEdward Thomson2023-02-121-3/+15
| | |
| * | repo: dump backends on oid type changeEdward Thomson2023-02-121-1/+18
| | |
| * | transport: teach transports about oid types and SHA256Edward Thomson2023-02-1211-83/+273
| | |
| * | clone: support sha256Edward Thomson2023-02-123-22/+109
| | |
| * | 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-1215-101/+238
| | | | | | | | | | | | | | | 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.
| * | packfile: handle sha256 packfilesEdward Thomson2023-02-129-138/+238
| | | | | | | | | | | | Teach the packfile machinery to cope with SHA256.
| * | repo: don't overwrite repo format version on reinitEdward Thomson2023-02-121-8/+16
| | | | | | | | | | | | | | | 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-122-5/+46
| | | | | | | | | | | | | | | | | | 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-091-0/+41
| | |
* | | Merge pull request #6455 from libgit2/ethomson/sysdirEdward Thomson2023-02-147-73/+408
|\ \ \ | | | | | | | | 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
| | | |
| * | | core: allow users to configure home directoryEdward Thomson2023-02-091-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-092-6/+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 #6423 from cavaquinho/fix/6422-revwalk_push_glob-dangling-refEdward Thomson2023-02-141-1/+5
|\ \ \ | | | | | | | | #6422: handle dangling symbolic refs gracefully
| * | | #6422: handle dangling symbolic refs gracefullyMiguel Arroz2022-11-031-1/+5
| | | |
* | | | Merge branch 'revparse'Edward Thomson2023-02-141-1/+10
|\ \ \ \
| * | | | revparse: comment reflog HEAD@{n} parsingEdward Thomson2023-02-141-5/+10
| | | | |
| * | | | Fix parsing rev with reflog of HEAD (e.g., HEAD@{3})Sven Strickroth2023-02-141-1/+5
| | |/ / | |/| | | | | | | | | | | | | | | | | | Fixes issue #6156. Signed-off-by: Sven Strickroth <email@cs-ware.de>
* | | | Merge pull request #6374 from vicr123/embed-sshEdward Thomson2023-02-141-10/+2
|\ \ \ \ | | | | | | | | | | Fix build failure with -DEMBED_SSH_PATH
| * | | | Fix EMBED_SSH_PATHVictor Tran2022-08-081-10/+2
| | |_|/ | |/| |
* | | | Merge pull request #6475 from jorio/fix_diff_empty_untracked_fileEdward Thomson2023-02-141-0/+7
|\ \ \ \ | | | | | | | | | | diff_file: Fix crash when freeing a patch representing an empty untracked file
| * | | | diff_file: don't mmap/readbuffer empty filesIliyas Jorio2023-02-131-0/+7
| | |/ / | |/| | | | | | | | | | This prevents GIT_MMAP_VALIDATE from failing. This also prevents git_diff_file_content__unload from attempting to free git_str__initstr.
* | | | openssl: support OpenSSL 3 in dynamic modeEdward Thomson2023-02-101-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try to load OpenSSL 3 libraries when compiled with OpenSSL-Dynamic support. Handle the deprecated symbol renaming of SSL_get_peer_certificate to SSL_get1_peer_certificate -- try to load the old name and if it fails, use the new one.
* | | | openssl: retry initialization on failureEdward Thomson2023-02-101-1/+1
|/ / / | | | | | | | | | | | | | | | When we fail to initialize the OpenSSL subsystem, don't assume that we're "initialized". Subsequent initialization requests -- if there are any -- should replay initialization and fail again.