-
Notifications
You must be signed in to change notification settings - Fork 788
Support for SHA256 #706
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
Comments
Relates to go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
The variable length for plumbing.Hash is defined at build time, blocked by tag sha256. This approach was a trade-off between keeping backwards compatibility while making progress towards supporting SHA256 with a small amount of changes. Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Add a new example on initializing a new repository with object format SHA256. A new Makefile target was created to run the example to ensure that new changes won't break SHA256 support going forwards. Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Thanks for working on this. I think the transition doesn't yet need to be implemented, since it doesn't really work in git tools anyway. What should be implemented is simply ability to work with SHA256 repositories - I think this is the scope of the work here. SHA1 <> SHA256 repo interop probably will need some more thought and implementation upstream first. |
Seems a duplicate of #229 although more work is done here so maybe close the other issue. |
@AdamMajer thanks for calling out the duplicated issue - just closed it. I agree with your comment on the transition. Given that #707 Already added support to create and make commits in SHA256 repositories, but this is still experimental - hence why it is blocked by a build tag. |
@pjbgf , just to make sure I'm reading the patch you linked correctly, this basically just allows go-git to use only sha256 or sha1, depending on the build tag? There is no possibility of using both hash types in one program? |
@AdamMajer that's correct. That is a temporary limitation which aims to keep backwards compatibility with the API - as Once the bilateral mapping table is implemented, we should start looking into removing that limitation. |
Relates to go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
The variable length for plumbing.Hash is defined at build time, blocked by tag sha256. This approach was a trade-off between keeping backwards compatibility while making progress towards supporting SHA256 with a small amount of changes. Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Add a new example on initializing a new repository with object format SHA256. A new Makefile target was created to run the example to ensure that new changes won't break SHA256 support going forwards. Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Relates to go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
The variable length for plumbing.Hash is defined at build time, blocked by tag sha256. This approach was a trade-off between keeping backwards compatibility while making progress towards supporting SHA256 with a small amount of changes. Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
Add a new example on initializing a new repository with object format SHA256. A new Makefile target was created to run the example to ensure that new changes won't break SHA256 support going forwards. Relates to the SHA256 implementation, defined in go-git#706. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
@gecube thanks for the ping - I wasn't aware of that support from Gitlab. 🙇 |
Implement SHA256 support as per https://git-scm.com/docs/hash-function-transition/.
High level changes:
The text was updated successfully, but these errors were encountered: