3
0
Fork 0
mirror of https://code.forgejo.org/actions/checkout.git synced 2025-04-24 12:25:34 +00:00

Add support for SHA256 repositories

New input parameter 'repo-sha256' to set the Git object format
to "sha256" when initializing a Git repository.
This commit is contained in:
Elisei Roca 2024-12-19 00:10:20 +01:00
parent cbb722410c
commit 57e16d7d9f
7 changed files with 39 additions and 7 deletions

15
dist/index.js vendored
View file

@ -709,9 +709,14 @@ class GitCommandManager {
getWorkingDirectory() {
return this.workingDirectory;
}
init() {
init(repoSHA256) {
return __awaiter(this, void 0, void 0, function* () {
yield this.execGit(['init', this.workingDirectory]);
const args = ['init'];
if (repoSHA256) {
args.push(`--object-format=sha256`);
}
args.push(this.workingDirectory);
yield this.execGit(args);
});
}
isDetached() {
@ -1236,7 +1241,7 @@ function getSource(settings) {
// Initialize the repository
if (!fsHelper.directoryExistsSync(path.join(settings.repositoryPath, '.git'))) {
core.startGroup('Initializing the repository');
yield git.init();
yield git.init(settings.repoSHA256);
yield git.remoteAdd('origin', repositoryUrl);
core.endGroup();
}
@ -1831,6 +1836,10 @@ function getInputs() {
// Determine the GitHub URL that the repository is being hosted from
result.githubServerUrl = core.getInput('github-server-url');
core.debug(`GitHub Host URL = ${result.githubServerUrl}`);
// Set Git object format to "sha256" when initializing a Git repository.
result.repoSHA256 =
(core.getInput('repo-sha256') || 'false').toUpperCase() === 'TRUE';
core.debug(`Repo object format sha256 = ${result.repoSHA256}`);
return result;
});
}