-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
In consideration of a future v5, update minimum git version. #1653
base: main
Are you sure you want to change the base?
Conversation
src/git-command-manager.ts
Outdated
// sparse-checkout not supported before 2.25 | ||
export const MinimumGitVersion = new GitVersion('2.25') |
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.
see https://git-scm.com/docs/git-sparse-checkout/2.25.0
and note that https://git-scm.com/docs/git-sparse-checkout/2.24.0 results in a redirect to https://git-scm.com/docs/git-sparse-checkout
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.
Correction: minimum git version should be 2.28
(see #1386)
// Note, this implementation uses "rev-parse --symbolic-full-name" because the output from | ||
// "branch --list" is more difficult when in a detached HEAD state. | ||
|
||
// TODO(https://github.com/actions/checkout/issues/786): this implementation uses | ||
// "rev-parse --symbolic-full-name" because there is a bug | ||
// in Git 2.18 that causes "rev-parse --symbolic" to output symbolic full names. When | ||
// 2.18 is no longer supported, we can switch back to --symbolic. | ||
|
||
const args = ['rev-parse', '--symbolic-full-name'] |
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.
TODO: confirm this git rev-parse
bug is fixed in git version 2.28+.
@@ -11,7 +11,8 @@ import {GitVersion} from './git-version' | |||
|
|||
// Auth header not supported before 2.9 | |||
// Wire protocol v2 not supported before 2.18 | |||
export const MinimumGitVersion = new GitVersion('2.18') | |||
// sparse-checkout not [well-]supported before 2.28 (see https://github.com/actions/checkout/issues/1386) | |||
export const MinimumGitVersion = new GitVersion('2.28') |
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.
Consider an even higher version in light of #1708.
2.34.1
exhibits the problem reported in #1708.
2.43.0
works, but there's probably an earlier candidate that would also work.
(Need to go through the git release notes between version range [2.34 - 2.43] and find where they addressed compatibility issues associated with repositoryformatversion=1
)
This change should not be merged until we're ready to prep a v5 release.