-
Couldn't load subscription status.
- Fork 133
GitRepository: Support additional upstream extensions #1469
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Upstream git is actively working on extensions that should be treated as known, even if they are currently experimental, as they do not break these targets. `objectFormat` and `compatObjectFormat` are used to support SHA256 hashes: https://git-scm.com/docs/hash-function-transition `refStorage` is used to support the new `reftable` binary storage backend: https://git-scm.com/docs/reftable These extensions offer performance and security benefits, and we should expect to see more users trying them out before they become the default in git 3.0. See https://about.gitlab.com/blog/what-s-new-in-git-2-51-0/#planning-towards-git-30 for details about what may be coming in git 3.0.
|
With SHA256 enabled, couldn't references now contain SHA256 instead of SHA1, which would result in an exception thrown when we read these? |
I thought the target just reads them as strings? |
|
Could you add |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some code changes are needed to handle the new file formats:
We also need tests for each of these.
|
For the |
|
For But libgit2/libgit2#6191 explains that not supporting
|
We only use libgit2sharp for end-to-end testing. Source Link has its own git data reader. |
compatobjectformat is not set by git-init. You have to set it by git-config. And as far as I know this works, not sure what libgit2 Edward is talking about (though this issue is from 2022, so that might explain it). Regardless, the SHA256 is definitely no longer experimental in Git, so dotnet tooling should update asap. |
Upstream git is actively working on extensions that should be treated as known, even if they are currently experimental, as they do not break these targets.
objectFormatandcompatObjectFormatare used to support SHA256 hashes: https://git-scm.com/docs/hash-function-transitionrefStorageis used to support the newreftablebinary storage backend: https://git-scm.com/docs/reftableThese extensions offer performance and security benefits, and we should expect to see more users trying them out before they become the default in git 3.0.
See https://about.gitlab.com/blog/what-s-new-in-git-2-51-0/#planning-towards-git-30 for details about what may be coming in git 3.0.
Fixes #1097.