This commit is contained in:
2025-10-13 07:30:12 +04:00
parent 73ff7e5534
commit a056c830d2
5 changed files with 166 additions and 5 deletions

View File

@@ -163,4 +163,74 @@ fn play_git(mut plbook PlayBook) ! {
gs = gittools.new(coderoot: coderoot)!
gs.load(true)! // Force reload
}
// Handle !!git.check
check_actions := plbook.find(filter: 'git.check')!
for action in check_actions {
mut p := action.params
filter_str := p.get_default('filter', '')!
name := p.get_default('name', '')!
account := p.get_default('account', '')!
provider := p.get_default('provider', '')!
error_ignore := p.get_default_false('error_ignore')
mut repos := gs.get_repos(
filter: filter_str
name: name
account: account
provider: provider
)!
if repos.len == 0 {
if !error_ignore {
return error('No repositories found for git.check with filter: ${filter_str}, name: ${name}, account: ${account}, provider: ${provider}')
}
console.print_stderr('No repositories found for git.check. Ignoring due to error_ignore: true.')
continue
}
for mut repo in repos {
repo.lfs_check() or {
if !error_ignore {
return error('LFS check failed for ${repo.name}: ${err}')
}
console.print_stderr('LFS check failed for ${repo.name}: ${err}. Ignoring due to error_ignore: true.')
}
}
}
// Handle !!git.lfs
lfs_actions := plbook.find(filter: 'git.lfs')!
for action in lfs_actions {
mut p := action.params
filter_str := p.get_default('filter', '')!
name := p.get_default('name', '')!
account := p.get_default('account', '')!
provider := p.get_default('provider', '')!
error_ignore := p.get_default_false('error_ignore')
mut repos := gs.get_repos(
filter: filter_str
name: name
account: account
provider: provider
)!
if repos.len == 0 {
if !error_ignore {
return error('No repositories found for git.lfs with filter: ${filter_str}, name: ${name}, account: ${account}, provider: ${provider}')
}
console.print_stderr('No repositories found for git.lfs. Ignoring due to error_ignore: true.')
continue
}
for mut repo in repos {
repo.lfs_init() or {
if !error_ignore {
return error('LFS initialization failed for ${repo.name}: ${err}')
}
console.print_stderr('LFS initialization failed for ${repo.name}: ${err}. Ignoring due to error_ignore: true.')
}
}
}
}