diff --git a/routers/web/repo/setting/setting.go b/routers/web/repo/setting/setting.go index 1a4f590e106..3ce719f8e1a 100644 --- a/routers/web/repo/setting/setting.go +++ b/routers/web/repo/setting/setting.go @@ -265,6 +265,11 @@ func handleSettingsPostMirror(ctx *context.Context) { handleSettingRemoteAddrError(ctx, err, form) return } + if u == nil { + ctx.Data["Err_MirrorAddress"] = true + handleSettingRemoteAddrError(ctx, err, form) + return + } if u.User != nil && form.MirrorPassword == "" && form.MirrorUsername == u.User.Username() { form.MirrorPassword, _ = u.User.Password() } diff --git a/services/mirror/mirror_pull.go b/services/mirror/mirror_pull.go index 8bd9a68200e..334b1965153 100644 --- a/services/mirror/mirror_pull.go +++ b/services/mirror/mirror_pull.go @@ -408,28 +408,6 @@ func runSync(ctx context.Context, m *repo_model.Mirror) ([]*mirrorSyncResult, bo stderrBuilder.Reset() stdoutBuilder.Reset() - // check whether the remote still exists before pruning to avoid prune creating a new remote - // this is needed because prune will not fail if the remote does not exist - u, err := gitrepo.GitRemoteGetURL(ctx, m.Repo.WikiStorageRepo(), m.GetRemoteName()) - if err != nil { - log.Error("SyncMirrors [repo: %-v Wiki]: GetRemoteURL Error %v", m.Repo, err) - return nil, false - } - if u == nil { - log.Error("remote %s does not exist for repository %s", m.GetRemoteName(), m.Repo.WikiStorageRepo().RelativePath()) - return nil, false - } - - fetchConfig, err := gitrepo.GitConfigGet(ctx, m.Repo.WikiStorageRepo(), "remote.origin.fetch") - if err != nil { - log.Error("SyncMirrors [repo: %-v Wiki]: GetGitConfig Error %v", m.Repo, err) - return nil, false - } - if fetchConfig == "" { - log.Error("remote %s has no fetch config for repository %s", m.GetRemoteName(), m.Repo.WikiStorageRepo().RelativePath()) - return nil, false - } - if err = gitrepo.GitRemoteUpdatePrune(ctx, m.Repo.WikiStorageRepo(), m.GetRemoteName(), timeout, &stdoutBuilder, &stderrBuilder); err != nil { stdout := stdoutBuilder.String()