From 1fa0bda9876103321b8b30cba9af140f3141753c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 05:34:48 +0000 Subject: [PATCH] Add consistent repository names to all system notices Co-authored-by: silverwind <115237+silverwind@users.noreply.github.com> --- services/migrations/migrate.go | 2 +- services/mirror/mirror_pull.go | 8 ++++---- services/repository/check.go | 8 ++++---- services/repository/create.go | 10 ++++++++-- services/repository/delete.go | 4 ++-- services/wiki/wiki.go | 2 +- 6 files changed, 20 insertions(+), 14 deletions(-) diff --git a/services/migrations/migrate.go b/services/migrations/migrate.go index bf65e10454c..31acb0905a7 100644 --- a/services/migrations/migrate.go +++ b/services/migrations/migrate.go @@ -131,7 +131,7 @@ func MigrateRepository(ctx context.Context, doer *user_model.User, ownerName str if err1 := uploader.Rollback(); err1 != nil { log.Error("rollback failed: %v", err1) } - if err2 := system_model.CreateRepositoryNotice(fmt.Sprintf("Migrate repository from %s failed: %v", opts.OriginalURL, err)); err2 != nil { + if err2 := system_model.CreateRepositoryNotice(fmt.Sprintf("Migrate repository (%s/%s) from %s failed: %v", ownerName, opts.RepoName, opts.OriginalURL, err)); err2 != nil { log.Error("create respotiry notice failed: ", err2) } return nil, err diff --git a/services/mirror/mirror_pull.go b/services/mirror/mirror_pull.go index 14a226f4536..206508a0f43 100644 --- a/services/mirror/mirror_pull.go +++ b/services/mirror/mirror_pull.go @@ -202,7 +202,7 @@ func pruneBrokenReferences(ctx context.Context, m *repo_model.Mirror, gitRepo gi stdoutMessage := util.SanitizeCredentialURLs(stdout) log.Error("Failed to prune mirror repository %s references:\nStdout: %s\nStderr: %s\nErr: %v", gitRepo.RelativePath(), stdoutMessage, stderrMessage, pruneErr) - desc := fmt.Sprintf("Failed to prune mirror repository %s references: %s", gitRepo.RelativePath(), stderrMessage) + desc := fmt.Sprintf("Failed to prune mirror repository (%s): %s", m.Repo.FullName(), stderrMessage) if err := system_model.CreateRepositoryNotice(desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) } @@ -277,7 +277,7 @@ func runSync(ctx context.Context, m *repo_model.Mirror) ([]*mirrorSyncResult, bo // If there is still an error (or there always was an error) if err != nil { log.Error("SyncMirrors [repo: %-v]: failed to update mirror repository:\nStdout: %s\nStderr: %s\nErr: %v", m.Repo, stdoutMessage, stderrMessage, err) - desc := fmt.Sprintf("Failed to update mirror repository '%s': %s", m.Repo.RelativePath(), stderrMessage) + desc := fmt.Sprintf("Failed to update mirror repository (%s): %s", m.Repo.FullName(), stderrMessage) if err := system_model.CreateRepositoryNotice(desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) } @@ -355,7 +355,7 @@ func runSync(ctx context.Context, m *repo_model.Mirror) ([]*mirrorSyncResult, bo // If there is still an error (or there always was an error) if err != nil { log.Error("SyncMirrors [repo: %-v Wiki]: failed to update mirror repository wiki:\nStdout: %s\nStderr: %s\nErr: %v", m.Repo, stdoutMessage, stderrMessage, err) - desc := fmt.Sprintf("Failed to update mirror repository wiki '%s': %s", m.Repo.WikiStorageRepo().RelativePath(), stderrMessage) + desc := fmt.Sprintf("Failed to update mirror repository wiki (%s): %s", m.Repo.FullName(), stderrMessage) if err := system_model.CreateRepositoryNotice(desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) } @@ -595,7 +595,7 @@ func checkAndUpdateEmptyRepository(ctx context.Context, m *repo_model.Mirror, re // Update the is empty and default_branch columns if err := repo_model.UpdateRepositoryColsWithAutoTime(ctx, m.Repo, "default_branch", "is_empty"); err != nil { log.Error("Failed to update default branch of repository %-v. Error: %v", m.Repo, err) - desc := fmt.Sprintf("Failed to update default branch of repository '%s': %v", m.Repo.RelativePath(), err) + desc := fmt.Sprintf("Failed to update default branch of repository (%s): %v", m.Repo.FullName(), err) if err = system_model.CreateRepositoryNotice(desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) } diff --git a/services/repository/check.go b/services/repository/check.go index e521af94e16..10dd057efa7 100644 --- a/services/repository/check.go +++ b/services/repository/check.go @@ -91,7 +91,7 @@ func GitGcRepo(ctx context.Context, repo *repo_model.Repository, timeout time.Du stdout, _, err = gitrepo.RunCmdString(ctx, repo, command) if err != nil { 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.RelativePath(), stdout, err) + desc := fmt.Sprintf("Repository garbage collection failed for (%s). Stdout: %s\nError: %v", repo.FullName(), stdout, err) if err := system_model.CreateRepositoryNotice(desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) } @@ -101,7 +101,7 @@ func GitGcRepo(ctx context.Context, repo *repo_model.Repository, timeout time.Du // Now update the size of the repository if err := repo_module.UpdateRepoSize(ctx, repo); err != nil { log.Error("Updating size as part of garbage collection failed for %-v. Stdout: %s\nError: %v", repo, stdout, err) - desc := fmt.Sprintf("Updating size as part of garbage collection failed for %s. Stdout: %s\nError: %v", repo.RelativePath(), stdout, err) + desc := fmt.Sprintf("Updating size as part of garbage collection failed for (%s). Stdout: %s\nError: %v", repo.FullName(), stdout, err) if err := system_model.CreateRepositoryNotice(desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) } @@ -163,7 +163,7 @@ func DeleteMissingRepositories(ctx context.Context, doer *user_model.User) error log.Trace("Deleting %d/%d...", repo.OwnerID, repo.ID) if err := DeleteRepositoryDirectly(ctx, repo.ID); err != nil { 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) } } @@ -191,7 +191,7 @@ func ReinitMissingRepositories(ctx context.Context) error { log.Trace("Initializing %d/%d...", repo.OwnerID, repo.ID) if err := gitrepo.InitRepository(ctx, repo, repo.ObjectFormatName); err != nil { log.Error("Unable (re)initialize repository %d at %s. Error: %v", repo.ID, repo.RelativePath(), err) - if err2 := system_model.CreateRepositoryNotice("InitRepository [%d]: %v", repo.ID, err); err2 != nil { + if err2 := system_model.CreateRepositoryNotice("InitRepository (%s) [%d]: %v", repo.FullName(), repo.ID, err); err2 != nil { log.Error("CreateRepositoryNotice: %v", err2) } } diff --git a/services/repository/create.go b/services/repository/create.go index bfac83419d3..77cea3ef008 100644 --- a/services/repository/create.go +++ b/services/repository/create.go @@ -462,10 +462,16 @@ func createRepositoryInDB(ctx context.Context, doer, u *user_model.User, repo *r } func cleanupRepository(repoID int64) { - if errDelete := DeleteRepositoryDirectly(graceful.GetManager().ShutdownContext(), repoID); errDelete != nil { + ctx := graceful.GetManager().ShutdownContext() + if errDelete := DeleteRepositoryDirectly(ctx, repoID); errDelete != nil { log.Error("cleanupRepository failed: %v", errDelete) + // Try to get repository name for better error message + repoIdentifier := fmt.Sprintf("[%d]", repoID) + if repo, err := repo_model.GetRepositoryByID(ctx, repoID); err == nil { + repoIdentifier = fmt.Sprintf("(%s)", repo.FullName()) + } // add system notice - if err := system_model.CreateRepositoryNotice("DeleteRepositoryDirectly failed when cleanup repository: %v", errDelete); err != nil { + if err := system_model.CreateRepositoryNotice("DeleteRepositoryDirectly failed when cleanup repository %s: %v", repoIdentifier, errDelete); err != nil { log.Error("CreateRepositoryNotice: %v", err) } } diff --git a/services/repository/delete.go b/services/repository/delete.go index 040280c8a8d..aa16a968f71 100644 --- a/services/repository/delete.go +++ b/services/repository/delete.go @@ -309,7 +309,7 @@ func DeleteRepositoryDirectly(ctx context.Context, repoID int64, ignoreOrgTeams // Remove repository files. if err := gitrepo.DeleteRepository(ctx, repo); err != nil { - desc := fmt.Sprintf("Delete repository files [%s]: %v", repo.FullName(), err) + desc := fmt.Sprintf("Delete repository files (%s): %v", repo.FullName(), err) if err = system_model.CreateNotice(graceful.GetManager().ShutdownContext(), system_model.NoticeRepository, desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) } @@ -317,7 +317,7 @@ func DeleteRepositoryDirectly(ctx context.Context, repoID int64, ignoreOrgTeams // Remove wiki files if it exists. if err := gitrepo.DeleteRepository(ctx, repo.WikiStorageRepo()); err != nil { - desc := fmt.Sprintf("Delete wiki repository files [%s]: %v", repo.FullName(), err) + desc := fmt.Sprintf("Delete wiki repository files (%s): %v", repo.FullName(), err) // Note we use the db.DefaultContext here rather than passing in a context as the context may be cancelled if err = system_model.CreateNotice(graceful.GetManager().ShutdownContext(), system_model.NoticeRepository, desc); err != nil { log.Error("CreateRepositoryNotice: %v", err) diff --git a/services/wiki/wiki.go b/services/wiki/wiki.go index 1f1e564006d..a025f26051e 100644 --- a/services/wiki/wiki.go +++ b/services/wiki/wiki.go @@ -369,7 +369,7 @@ func DeleteWiki(ctx context.Context, repo *repo_model.Repository) error { } if err := gitrepo.DeleteRepository(ctx, repo.WikiStorageRepo()); err != nil { - desc := fmt.Sprintf("Delete wiki repository files [%s]: %v", repo.FullName(), err) + desc := fmt.Sprintf("Delete wiki repository files (%s): %v", repo.FullName(), err) // Note we use the db.DefaultContext here rather than passing in a context as the context may be cancelled if err = system_model.CreateNotice(graceful.GetManager().ShutdownContext(), system_model.NoticeRepository, desc); err != nil { log.Error("CreateRepositoryNotice: %v", err)