summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * README: clarify the linking exceptionEdward Thomson2023-02-201-4/+5
| | | | | | | | | | | | | | We say that you can link libgit2 "unmodified"... "without having to release its source code". Clarify that you can modify libgit2 - but you must release _its_ source code back - and you can link libgit2 without having to release _your software's_ source code.
* | Merge pull request #6493 from libgit2/ethomson/ownershipEdward Thomson2023-02-202-7/+43
|\ \ | |/ |/| 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-182-1/+4
| | | | | | | | | | | | | | 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.
* | Merge pull request #6492 from cavaquinho/fix/bare-repo-oid-typeEdward Thomson2023-02-202-23/+51
|\ \ | |/ |/| #6491: Sets oid_type on repos open with git_repository_open_bare
| * Deleted unused variable.Miguel Arroz2023-02-171-1/+0
| |
| * #6491: Sets oid_type on repos open with git_repository_open_bareMiguel Arroz2023-02-172-22/+51
|/
* Merge pull request #6487 from libgit2/ethomson/strarray-deprecateEdward Thomson2023-02-161-0/+1
|\ | | | | stash: update strarray usage
| * stash: update strarray usageEdward Thomson2023-02-161-0/+1
|/
* Merge pull request #6330 from gitkraken-jacobw/partial-stashingEdward Thomson2023-02-164-32/+302
|\ | | | | stash: partial stash specific files
| * stash: fixes from code reviewEdward Thomson2023-02-162-57/+38
| |
| * stash: test save options initJacob Watson2022-07-141-0/+5
| |
| * stash: add `const` to argumentsJacob Watson2022-07-142-5/+7
| |
| * stash: better option validation for stash saveJacob Watson2022-07-141-6/+17
| |
| * stash: implement CI testingJacob Watson2022-07-141-0/+37
| |
| * stash: implement partial stashing by pathJacob Watson2022-07-142-26/+260
| |
* | Merge pull request #6486 from libgit2/ethomson/strarray-deprecateEdward Thomson2023-02-165-14/+28
|\ \
| * | strarray: remove deprecated declarationEdward Thomson2023-02-165-14/+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.
* | Merge pull request #6480 from libgit2/ethomson/warnEdward Thomson2023-02-153-4/+5
|\ \ | | | | | | Fix some warnings in main
| * | tests: use static scope for test dataEdward Thomson2023-02-152-3/+3
| | |
| * | socket: mark flags as unusedEdward Thomson2023-02-151-1/+2
|/ /
* | 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.