|
|
|
|
|
|
|
|
return db.ErrCancelledf("before GC of %s", repo.FullName()) |
|
|
return db.ErrCancelledf("before GC of %s", repo.FullName()) |
|
|
default: |
|
|
default: |
|
|
} |
|
|
} |
|
|
return GitGcRepo(ctx, repo, timeout, args) |
|
|
|
|
|
|
|
|
// we can ignore the error here because it will be logged in GitGCRepo |
|
|
|
|
|
_ = GitGcRepo(ctx, repo, timeout, args) |
|
|
|
|
|
return nil |
|
|
}, |
|
|
}, |
|
|
); err != nil { |
|
|
); err != nil { |
|
|
return err |
|
|
return err |
|
|
|
|
|
|
|
|
stdout, _, err = command.RunStdString(&git.RunOpts{Timeout: timeout, Dir: repo.RepoPath()}) |
|
|
stdout, _, err = command.RunStdString(&git.RunOpts{Timeout: timeout, Dir: repo.RepoPath()}) |
|
|
|
|
|
|
|
|
if err != nil { |
|
|
if err != nil { |
|
|
log.Error("Repository garbage collection failed for %v. Stdout: %s\nError: %v", repo, stdout, err) |
|
|
|
|
|
|
|
|
log.Error("Repository garbage collection failed for %-v. Stdout: %s\nError: %v", repo, stdout, err) |
|
|
desc := fmt.Sprintf("Repository garbage collection failed for %s. Stdout: %s\nError: %v", repo.RepoPath(), stdout, err) |
|
|
desc := fmt.Sprintf("Repository garbage collection failed for %s. Stdout: %s\nError: %v", repo.RepoPath(), stdout, err) |
|
|
if err := system_model.CreateRepositoryNotice(desc); err != nil { |
|
|
if err := system_model.CreateRepositoryNotice(desc); err != nil { |
|
|
log.Error("CreateRepositoryNotice: %v", err) |
|
|
log.Error("CreateRepositoryNotice: %v", err) |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
log.Trace("Deleting %d/%d...", repo.OwnerID, repo.ID) |
|
|
log.Trace("Deleting %d/%d...", repo.OwnerID, repo.ID) |
|
|
if err := models.DeleteRepository(doer, repo.OwnerID, repo.ID); err != nil { |
|
|
if err := models.DeleteRepository(doer, repo.OwnerID, repo.ID); err != nil { |
|
|
log.Error("Failed to DeleteRepository %s [%d]: Error: %v", repo.FullName(), repo.ID, err) |
|
|
|
|
|
|
|
|
log.Error("Failed to DeleteRepository %-v: Error: %v", repo, err) |
|
|
if err2 := system_model.CreateRepositoryNotice("Failed to DeleteRepository %s [%d]: Error: %v", repo.FullName(), repo.ID, err); err2 != nil { |
|
|
if err2 := system_model.CreateRepositoryNotice("Failed to DeleteRepository %s [%d]: Error: %v", repo.FullName(), repo.ID, err); err2 != nil { |
|
|
log.Error("CreateRepositoryNotice: %v", err) |
|
|
log.Error("CreateRepositoryNotice: %v", err) |
|
|
} |
|
|
} |