mirror of
https://github.com/go-gitea/gitea
synced 2025-07-14 14:37:20 +00:00
Fix some RPM registry flaws (#28782)
Related #26984 (https://github.com/go-gitea/gitea/pull/26984#issuecomment-1889588912) Fix admin cleanup message. Fix models `Get` not respecting default values. Rebuild RPM repository files after cleanup. Do not add RPM group to package version name. Force stable sorting of Alpine/Debian/RPM repository data. Fix missing deferred `Close`. Add tests for multiple RPM groups. Removed non-cached `ReplaceAllStringRegex`. If there are multiple groups available, it's stated in the package installation screen: 
This commit is contained in:
@ -39,17 +39,17 @@ type PackageVersion struct {
|
||||
func GetOrInsertVersion(ctx context.Context, pv *PackageVersion) (*PackageVersion, error) {
|
||||
e := db.GetEngine(ctx)
|
||||
|
||||
key := &PackageVersion{
|
||||
PackageID: pv.PackageID,
|
||||
LowerVersion: pv.LowerVersion,
|
||||
}
|
||||
existing := &PackageVersion{}
|
||||
|
||||
has, err := e.Get(key)
|
||||
has, err := e.Where(builder.Eq{
|
||||
"package_id": pv.PackageID,
|
||||
"lower_version": pv.LowerVersion,
|
||||
}).Get(existing)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if has {
|
||||
return key, ErrDuplicatePackageVersion
|
||||
return existing, ErrDuplicatePackageVersion
|
||||
}
|
||||
if _, err = e.Insert(pv); err != nil {
|
||||
return nil, err
|
||||
|
Reference in New Issue
Block a user