|
@@ -15,8 +15,8 @@ import (
|
|
|
"strings"
|
|
"strings"
|
|
|
"time"
|
|
"time"
|
|
|
|
|
|
|
|
|
|
+ "github.com/cockroachdb/errors"
|
|
|
"github.com/nfnt/resize"
|
|
"github.com/nfnt/resize"
|
|
|
- "github.com/pkg/errors"
|
|
|
|
|
"github.com/unknwon/cae/zip"
|
|
"github.com/unknwon/cae/zip"
|
|
|
"github.com/unknwon/com"
|
|
"github.com/unknwon/com"
|
|
|
"gopkg.in/ini.v1"
|
|
"gopkg.in/ini.v1"
|
|
@@ -256,7 +256,7 @@ func (r *Repository) loadAttributes(e Engine) (err error) {
|
|
|
if r.Owner == nil {
|
|
if r.Owner == nil {
|
|
|
r.Owner, err = getUserByID(e, r.OwnerID)
|
|
r.Owner, err = getUserByID(e, r.OwnerID)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getUserByID [%d]: %v", r.OwnerID, err)
|
|
|
|
|
|
|
+ return errors.Newf("getUserByID [%d]: %v", r.OwnerID, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -267,7 +267,7 @@ func (r *Repository) loadAttributes(e Engine) (err error) {
|
|
|
r.IsFork = false
|
|
r.IsFork = false
|
|
|
r.ForkID = 0
|
|
r.ForkID = 0
|
|
|
} else {
|
|
} else {
|
|
|
- return fmt.Errorf("get fork repository by ID: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("get fork repository by ID: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -337,19 +337,19 @@ func (r *Repository) AvatarLink() string {
|
|
|
func (r *Repository) UploadAvatar(data []byte) error {
|
|
func (r *Repository) UploadAvatar(data []byte) error {
|
|
|
img, _, err := image.Decode(bytes.NewReader(data))
|
|
img, _, err := image.Decode(bytes.NewReader(data))
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("decode image: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("decode image: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
_ = os.MkdirAll(conf.Picture.RepositoryAvatarUploadPath, os.ModePerm)
|
|
_ = os.MkdirAll(conf.Picture.RepositoryAvatarUploadPath, os.ModePerm)
|
|
|
fw, err := os.Create(r.CustomAvatarPath())
|
|
fw, err := os.Create(r.CustomAvatarPath())
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("create custom avatar directory: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("create custom avatar directory: %v", err)
|
|
|
}
|
|
}
|
|
|
defer fw.Close()
|
|
defer fw.Close()
|
|
|
|
|
|
|
|
m := resize.Resize(avatar.DefaultSize, avatar.DefaultSize, img, resize.NearestNeighbor)
|
|
m := resize.Resize(avatar.DefaultSize, avatar.DefaultSize, img, resize.NearestNeighbor)
|
|
|
if err = png.Encode(fw, m); err != nil {
|
|
if err = png.Encode(fw, m); err != nil {
|
|
|
- return fmt.Errorf("encode image: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("encode image: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
return nil
|
|
@@ -446,12 +446,12 @@ func (r *Repository) mustOwner(e Engine) *User {
|
|
|
func (r *Repository) UpdateSize() error {
|
|
func (r *Repository) UpdateSize() error {
|
|
|
countObject, err := git.CountObjects(r.RepoPath())
|
|
countObject, err := git.CountObjects(r.RepoPath())
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("count repository objects: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("count repository objects: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
r.Size = countObject.Size + countObject.SizePack
|
|
r.Size = countObject.Size + countObject.SizePack
|
|
|
if _, err = x.Id(r.ID).Cols("size").Update(r); err != nil {
|
|
if _, err = x.Id(r.ID).Cols("size").Update(r); err != nil {
|
|
|
- return fmt.Errorf("update size: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("update size: %v", err)
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
@@ -664,24 +664,24 @@ func UpdateLocalCopyBranch(repoPath, localPath, branch string, isWiki bool) (err
|
|
|
Branch: branch,
|
|
Branch: branch,
|
|
|
Timeout: time.Duration(conf.Git.Timeout.Clone) * time.Second,
|
|
Timeout: time.Duration(conf.Git.Timeout.Clone) * time.Second,
|
|
|
}); err != nil {
|
|
}); err != nil {
|
|
|
- return fmt.Errorf("git clone [branch: %s]: %v", branch, err)
|
|
|
|
|
|
|
+ return errors.Newf("git clone [branch: %s]: %v", branch, err)
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
gitRepo, err := git.Open(localPath)
|
|
gitRepo, err := git.Open(localPath)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("open repository: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("open repository: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = gitRepo.Fetch(git.FetchOptions{
|
|
if err = gitRepo.Fetch(git.FetchOptions{
|
|
|
Prune: true,
|
|
Prune: true,
|
|
|
}); err != nil {
|
|
}); err != nil {
|
|
|
- return fmt.Errorf("fetch: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("fetch: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = gitRepo.Checkout(branch); err != nil {
|
|
if err = gitRepo.Checkout(branch); err != nil {
|
|
|
- return fmt.Errorf("checkout [branch: %s]: %v", branch, err)
|
|
|
|
|
|
|
+ return errors.Newf("checkout [branch: %s]: %v", branch, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Reset to align with remote in case of force push.
|
|
// Reset to align with remote in case of force push.
|
|
@@ -689,7 +689,7 @@ func UpdateLocalCopyBranch(repoPath, localPath, branch string, isWiki bool) (err
|
|
|
if err = gitRepo.Reset(rev, git.ResetOptions{
|
|
if err = gitRepo.Reset(rev, git.ResetOptions{
|
|
|
Hard: true,
|
|
Hard: true,
|
|
|
}); err != nil {
|
|
}); err != nil {
|
|
|
- return fmt.Errorf("reset [revision: %s]: %v", rev, err)
|
|
|
|
|
|
|
+ return errors.Newf("reset [revision: %s]: %v", rev, err)
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
@@ -712,14 +712,14 @@ func (r *Repository) PatchPath(index int64) (string, error) {
|
|
|
func (r *Repository) SavePatch(index int64, patch []byte) error {
|
|
func (r *Repository) SavePatch(index int64, patch []byte) error {
|
|
|
patchPath, err := r.PatchPath(index)
|
|
patchPath, err := r.PatchPath(index)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("PatchPath: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("PatchPath: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = os.MkdirAll(filepath.Dir(patchPath), os.ModePerm); err != nil {
|
|
if err = os.MkdirAll(filepath.Dir(patchPath), os.ModePerm); err != nil {
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|
|
|
if err = os.WriteFile(patchPath, patch, 0o644); err != nil {
|
|
if err = os.WriteFile(patchPath, patch, 0o644); err != nil {
|
|
|
- return fmt.Errorf("WriteFile: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("WriteFile: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
return nil
|
|
@@ -825,7 +825,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
|
|
Quiet: true,
|
|
Quiet: true,
|
|
|
Timeout: migrateTimeout,
|
|
Timeout: migrateTimeout,
|
|
|
}); err != nil {
|
|
}); err != nil {
|
|
|
- return repo, fmt.Errorf("clone: %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("clone: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
wikiRemotePath := wikiRemoteURL(opts.RemoteAddr)
|
|
wikiRemotePath := wikiRemoteURL(opts.RemoteAddr)
|
|
@@ -847,7 +847,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
|
|
if strings.Contains(stderr, "fatal: bad default revision 'HEAD'") {
|
|
if strings.Contains(stderr, "fatal: bad default revision 'HEAD'") {
|
|
|
repo.IsBare = true
|
|
repo.IsBare = true
|
|
|
} else {
|
|
} else {
|
|
|
- return repo, fmt.Errorf("check bare: %v - %s", err, stderr)
|
|
|
|
|
|
|
+ return repo, errors.Newf("check bare: %v - %s", err, stderr)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -855,11 +855,11 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
|
|
// Try to get HEAD branch and set it as default branch.
|
|
// Try to get HEAD branch and set it as default branch.
|
|
|
gitRepo, err := git.Open(repoPath)
|
|
gitRepo, err := git.Open(repoPath)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return repo, fmt.Errorf("open repository: %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("open repository: %v", err)
|
|
|
}
|
|
}
|
|
|
refspec, err := gitRepo.SymbolicRef()
|
|
refspec, err := gitRepo.SymbolicRef()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return repo, fmt.Errorf("get HEAD branch: %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("get HEAD branch: %v", err)
|
|
|
}
|
|
}
|
|
|
repo.DefaultBranch = git.RefShortName(refspec)
|
|
repo.DefaultBranch = git.RefShortName(refspec)
|
|
|
|
|
|
|
@@ -875,7 +875,7 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
|
|
EnablePrune: true,
|
|
EnablePrune: true,
|
|
|
NextSync: time.Now().Add(time.Duration(conf.Mirror.DefaultInterval) * time.Hour),
|
|
NextSync: time.Now().Add(time.Duration(conf.Mirror.DefaultInterval) * time.Hour),
|
|
|
}); err != nil {
|
|
}); err != nil {
|
|
|
- return repo, fmt.Errorf("InsertOne: %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("InsertOne: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
repo.IsMirror = true
|
|
repo.IsMirror = true
|
|
@@ -890,11 +890,11 @@ func MigrateRepository(doer, owner *User, opts MigrateRepoOptions) (*Repository,
|
|
|
func cleanUpMigrateGitConfig(configPath string) error {
|
|
func cleanUpMigrateGitConfig(configPath string) error {
|
|
|
cfg, err := ini.Load(configPath)
|
|
cfg, err := ini.Load(configPath)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("open config file: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("open config file: %v", err)
|
|
|
}
|
|
}
|
|
|
cfg.DeleteSection("remote \"origin\"")
|
|
cfg.DeleteSection("remote \"origin\"")
|
|
|
if err = cfg.SaveToIndent(configPath, "\t"); err != nil {
|
|
if err = cfg.SaveToIndent(configPath, "\t"); err != nil {
|
|
|
- return fmt.Errorf("save config file: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("save config file: %v", err)
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
@@ -911,7 +911,7 @@ func createDelegateHooks(repoPath string) (err error) {
|
|
|
if err = os.WriteFile(hookPath,
|
|
if err = os.WriteFile(hookPath,
|
|
|
[]byte(fmt.Sprintf(hooksTpls[name], conf.Repository.ScriptType, conf.AppPath(), conf.CustomConf)),
|
|
[]byte(fmt.Sprintf(hooksTpls[name], conf.Repository.ScriptType, conf.AppPath(), conf.CustomConf)),
|
|
|
os.ModePerm); err != nil {
|
|
os.ModePerm); err != nil {
|
|
|
- return fmt.Errorf("create delegate hook '%s': %v", hookPath, err)
|
|
|
|
|
|
|
+ return errors.Newf("create delegate hook '%s': %v", hookPath, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
@@ -921,20 +921,20 @@ func createDelegateHooks(repoPath string) (err error) {
|
|
|
func CleanUpMigrateInfo(repo *Repository) (*Repository, error) {
|
|
func CleanUpMigrateInfo(repo *Repository) (*Repository, error) {
|
|
|
repoPath := repo.RepoPath()
|
|
repoPath := repo.RepoPath()
|
|
|
if err := createDelegateHooks(repoPath); err != nil {
|
|
if err := createDelegateHooks(repoPath); err != nil {
|
|
|
- return repo, fmt.Errorf("createDelegateHooks: %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("createDelegateHooks: %v", err)
|
|
|
}
|
|
}
|
|
|
if repo.HasWiki() {
|
|
if repo.HasWiki() {
|
|
|
if err := createDelegateHooks(repo.WikiPath()); err != nil {
|
|
if err := createDelegateHooks(repo.WikiPath()); err != nil {
|
|
|
- return repo, fmt.Errorf("createDelegateHooks.(wiki): %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("createDelegateHooks.(wiki): %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err := cleanUpMigrateGitConfig(repo.GitConfigPath()); err != nil {
|
|
if err := cleanUpMigrateGitConfig(repo.GitConfigPath()); err != nil {
|
|
|
- return repo, fmt.Errorf("cleanUpMigrateGitConfig: %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("cleanUpMigrateGitConfig: %v", err)
|
|
|
}
|
|
}
|
|
|
if repo.HasWiki() {
|
|
if repo.HasWiki() {
|
|
|
if err := cleanUpMigrateGitConfig(path.Join(repo.WikiPath(), "config")); err != nil {
|
|
if err := cleanUpMigrateGitConfig(path.Join(repo.WikiPath(), "config")); err != nil {
|
|
|
- return repo, fmt.Errorf("cleanUpMigrateGitConfig.(wiki): %v", err)
|
|
|
|
|
|
|
+ return repo, errors.Newf("cleanUpMigrateGitConfig.(wiki): %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -947,20 +947,20 @@ func initRepoCommit(tmpPath string, sig *git.Signature) (err error) {
|
|
|
if _, stderr, err = process.ExecDir(-1,
|
|
if _, stderr, err = process.ExecDir(-1,
|
|
|
tmpPath, fmt.Sprintf("initRepoCommit (git add): %s", tmpPath),
|
|
tmpPath, fmt.Sprintf("initRepoCommit (git add): %s", tmpPath),
|
|
|
"git", "add", "--all"); err != nil {
|
|
"git", "add", "--all"); err != nil {
|
|
|
- return fmt.Errorf("git add: %s", stderr)
|
|
|
|
|
|
|
+ return errors.Newf("git add: %s", stderr)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if _, stderr, err = process.ExecDir(-1,
|
|
if _, stderr, err = process.ExecDir(-1,
|
|
|
tmpPath, fmt.Sprintf("initRepoCommit (git commit): %s", tmpPath),
|
|
tmpPath, fmt.Sprintf("initRepoCommit (git commit): %s", tmpPath),
|
|
|
"git", "commit", fmt.Sprintf("--author='%s <%s>'", sig.Name, sig.Email),
|
|
"git", "commit", fmt.Sprintf("--author='%s <%s>'", sig.Name, sig.Email),
|
|
|
"-m", "Initial commit"); err != nil {
|
|
"-m", "Initial commit"); err != nil {
|
|
|
- return fmt.Errorf("git commit: %s", stderr)
|
|
|
|
|
|
|
+ return errors.Newf("git commit: %s", stderr)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if _, stderr, err = process.ExecDir(-1,
|
|
if _, stderr, err = process.ExecDir(-1,
|
|
|
tmpPath, fmt.Sprintf("initRepoCommit (git push): %s", tmpPath),
|
|
tmpPath, fmt.Sprintf("initRepoCommit (git push): %s", tmpPath),
|
|
|
"git", "push"); err != nil {
|
|
"git", "push"); err != nil {
|
|
|
- return fmt.Errorf("git push: %s", stderr)
|
|
|
|
|
|
|
+ return errors.Newf("git push: %s", stderr)
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
@@ -998,7 +998,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
|
|
// README
|
|
// README
|
|
|
data, err := getRepoInitFile("readme", opts.Readme)
|
|
data, err := getRepoInitFile("readme", opts.Readme)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getRepoInitFile[%s]: %v", opts.Readme, err)
|
|
|
|
|
|
|
+ return errors.Newf("getRepoInitFile[%s]: %v", opts.Readme, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
cloneLink := repo.CloneLink()
|
|
cloneLink := repo.CloneLink()
|
|
@@ -1010,7 +1010,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
|
|
}
|
|
}
|
|
|
if err = os.WriteFile(filepath.Join(tmpDir, "README.md"),
|
|
if err = os.WriteFile(filepath.Join(tmpDir, "README.md"),
|
|
|
[]byte(com.Expand(string(data), match)), 0o644); err != nil {
|
|
[]byte(com.Expand(string(data), match)), 0o644); err != nil {
|
|
|
- return fmt.Errorf("write README.md: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("write README.md: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// .gitignore
|
|
// .gitignore
|
|
@@ -1020,7 +1020,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
|
|
for _, name := range names {
|
|
for _, name := range names {
|
|
|
data, err = getRepoInitFile("gitignore", name)
|
|
data, err = getRepoInitFile("gitignore", name)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getRepoInitFile[%s]: %v", name, err)
|
|
|
|
|
|
|
+ return errors.Newf("getRepoInitFile[%s]: %v", name, err)
|
|
|
}
|
|
}
|
|
|
buf.WriteString("# ---> " + name + "\n")
|
|
buf.WriteString("# ---> " + name + "\n")
|
|
|
buf.Write(data)
|
|
buf.Write(data)
|
|
@@ -1029,7 +1029,7 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
|
|
|
|
|
|
|
if buf.Len() > 0 {
|
|
if buf.Len() > 0 {
|
|
|
if err = os.WriteFile(filepath.Join(tmpDir, ".gitignore"), buf.Bytes(), 0o644); err != nil {
|
|
if err = os.WriteFile(filepath.Join(tmpDir, ".gitignore"), buf.Bytes(), 0o644); err != nil {
|
|
|
- return fmt.Errorf("write .gitignore: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("write .gitignore: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1038,11 +1038,11 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
|
|
if len(opts.License) > 0 {
|
|
if len(opts.License) > 0 {
|
|
|
data, err = getRepoInitFile("license", opts.License)
|
|
data, err = getRepoInitFile("license", opts.License)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getRepoInitFile[%s]: %v", opts.License, err)
|
|
|
|
|
|
|
+ return errors.Newf("getRepoInitFile[%s]: %v", opts.License, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = os.WriteFile(filepath.Join(tmpDir, "LICENSE"), data, 0o644); err != nil {
|
|
if err = os.WriteFile(filepath.Join(tmpDir, "LICENSE"), data, 0o644); err != nil {
|
|
|
- return fmt.Errorf("write LICENSE: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("write LICENSE: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1053,9 +1053,9 @@ func prepareRepoCommit(repo *Repository, tmpDir, repoPath string, opts CreateRep
|
|
|
func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opts CreateRepoOptionsLegacy) (err error) {
|
|
func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opts CreateRepoOptionsLegacy) (err error) {
|
|
|
// Init bare new repository.
|
|
// Init bare new repository.
|
|
|
if err = git.Init(repoPath, git.InitOptions{Bare: true}); err != nil {
|
|
if err = git.Init(repoPath, git.InitOptions{Bare: true}); err != nil {
|
|
|
- return fmt.Errorf("init repository: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("init repository: %v", err)
|
|
|
} else if err = createDelegateHooks(repoPath); err != nil {
|
|
} else if err = createDelegateHooks(repoPath); err != nil {
|
|
|
- return fmt.Errorf("createDelegateHooks: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("createDelegateHooks: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Set default branch
|
|
// Set default branch
|
|
@@ -1080,7 +1080,7 @@ func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opt
|
|
|
defer RemoveAllWithNotice("Delete repository for auto-initialization", tmpDir)
|
|
defer RemoveAllWithNotice("Delete repository for auto-initialization", tmpDir)
|
|
|
|
|
|
|
|
if err = prepareRepoCommit(repo, tmpDir, repoPath, opts); err != nil {
|
|
if err = prepareRepoCommit(repo, tmpDir, repoPath, opts); err != nil {
|
|
|
- return fmt.Errorf("prepareRepoCommit: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("prepareRepoCommit: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Apply changes and commit.
|
|
// Apply changes and commit.
|
|
@@ -1093,14 +1093,14 @@ func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opt
|
|
|
},
|
|
},
|
|
|
)
|
|
)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("initRepoCommit: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("initRepoCommit: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Re-fetch the repository from database before updating it (else it would
|
|
// Re-fetch the repository from database before updating it (else it would
|
|
|
// override changes that were done earlier with sql)
|
|
// override changes that were done earlier with sql)
|
|
|
if repo, err = getRepositoryByID(e, repo.ID); err != nil {
|
|
if repo, err = getRepositoryByID(e, repo.ID); err != nil {
|
|
|
- return fmt.Errorf("getRepositoryByID: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getRepositoryByID: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if !opts.AutoInit {
|
|
if !opts.AutoInit {
|
|
@@ -1109,7 +1109,7 @@ func initRepository(e Engine, repoPath string, doer *User, repo *Repository, opt
|
|
|
|
|
|
|
|
repo.DefaultBranch = conf.Repository.DefaultBranch
|
|
repo.DefaultBranch = conf.Repository.DefaultBranch
|
|
|
if err = updateRepository(e, repo, false); err != nil {
|
|
if err = updateRepository(e, repo, false); err != nil {
|
|
|
- return fmt.Errorf("updateRepository: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("updateRepository: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
return nil
|
|
@@ -1138,7 +1138,7 @@ func createRepository(e *xorm.Session, doer, owner *User, repo *Repository) (err
|
|
|
|
|
|
|
|
has, err := isRepositoryExist(e, owner, repo.Name)
|
|
has, err := isRepositoryExist(e, owner, repo.Name)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("IsRepositoryExist: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("IsRepositoryExist: %v", err)
|
|
|
} else if has {
|
|
} else if has {
|
|
|
return ErrRepoAlreadyExist{args: errutil.Args{"ownerID": owner.ID, "name": repo.Name}}
|
|
return ErrRepoAlreadyExist{args: errutil.Args{"ownerID": owner.ID, "name": repo.Name}}
|
|
|
}
|
|
}
|
|
@@ -1156,19 +1156,19 @@ func createRepository(e *xorm.Session, doer, owner *User, repo *Repository) (err
|
|
|
if owner.IsOrganization() {
|
|
if owner.IsOrganization() {
|
|
|
t, err := owner.getOwnerTeam(e)
|
|
t, err := owner.getOwnerTeam(e)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getOwnerTeam: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getOwnerTeam: %v", err)
|
|
|
} else if err = t.addRepository(e, repo); err != nil {
|
|
} else if err = t.addRepository(e, repo); err != nil {
|
|
|
- return fmt.Errorf("addRepository: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("addRepository: %v", err)
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
// Organization automatically called this in addRepository method.
|
|
// Organization automatically called this in addRepository method.
|
|
|
if err = repo.recalculateAccesses(e); err != nil {
|
|
if err = repo.recalculateAccesses(e); err != nil {
|
|
|
- return fmt.Errorf("recalculateAccesses: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("recalculateAccesses: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = watchRepo(e, owner.ID, repo.ID, true); err != nil {
|
|
if err = watchRepo(e, owner.ID, repo.ID, true); err != nil {
|
|
|
- return fmt.Errorf("watchRepo: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("watchRepo: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// FIXME: This is identical to Actions.NewRepo but we are not yet able to wrap
|
|
// FIXME: This is identical to Actions.NewRepo but we are not yet able to wrap
|
|
@@ -1192,7 +1192,7 @@ func createRepository(e *xorm.Session, doer, owner *User, repo *Repository) (err
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
if err = newRepoAction(e, doer, repo); err != nil {
|
|
if err = newRepoAction(e, doer, repo); err != nil {
|
|
|
- return fmt.Errorf("newRepoAction: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("newRepoAction: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return repo.loadAttributes(e)
|
|
return repo.loadAttributes(e)
|
|
@@ -1248,14 +1248,14 @@ func CreateRepository(doer, owner *User, opts CreateRepoOptionsLegacy) (_ *Repos
|
|
|
if !opts.IsMirror {
|
|
if !opts.IsMirror {
|
|
|
if err = initRepository(sess, repoPath, doer, repo, opts); err != nil {
|
|
if err = initRepository(sess, repoPath, doer, repo, opts); err != nil {
|
|
|
RemoveAllWithNotice("Delete repository for initialization failure", repoPath)
|
|
RemoveAllWithNotice("Delete repository for initialization failure", repoPath)
|
|
|
- return nil, fmt.Errorf("initRepository: %v", err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("initRepository: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
_, stderr, err := process.ExecDir(-1,
|
|
_, stderr, err := process.ExecDir(-1,
|
|
|
repoPath, fmt.Sprintf("CreateRepository 'git update-server-info': %s", repoPath),
|
|
repoPath, fmt.Sprintf("CreateRepository 'git update-server-info': %s", repoPath),
|
|
|
"git", "update-server-info")
|
|
"git", "update-server-info")
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("CreateRepository 'git update-server-info': %s", stderr)
|
|
|
|
|
|
|
+ return nil, errors.Newf("CreateRepository 'git update-server-info': %s", stderr)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if err = sess.Commit(); err != nil {
|
|
if err = sess.Commit(); err != nil {
|
|
@@ -1311,7 +1311,7 @@ func Repositories(page, pageSize int) (_ []*Repository, err error) {
|
|
|
func RepositoriesWithUsers(page, pageSize int) (_ []*Repository, err error) {
|
|
func RepositoriesWithUsers(page, pageSize int) (_ []*Repository, err error) {
|
|
|
repos, err := Repositories(page, pageSize)
|
|
repos, err := Repositories(page, pageSize)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("Repositories: %v", err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("Repositories: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for i := range repos {
|
|
for i := range repos {
|
|
@@ -1337,7 +1337,7 @@ func FilterRepositoryWithIssues(repoIDs []int64) ([]int64, error) {
|
|
|
In("id", repoIDs).
|
|
In("id", repoIDs).
|
|
|
Cols("id").
|
|
Cols("id").
|
|
|
Find(&repos); err != nil {
|
|
Find(&repos); err != nil {
|
|
|
- return nil, fmt.Errorf("filter valid repositories %v: %v", repoIDs, err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("filter valid repositories %v: %v", repoIDs, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if len(repos) == 0 {
|
|
if len(repos) == 0 {
|
|
@@ -1362,13 +1362,13 @@ func RepoPath(userName, repoName string) string {
|
|
|
func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error {
|
|
func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error {
|
|
|
newOwner, err := Handle.Users().GetByUsername(context.TODO(), newOwnerName)
|
|
newOwner, err := Handle.Users().GetByUsername(context.TODO(), newOwnerName)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("get new owner '%s': %v", newOwnerName, err)
|
|
|
|
|
|
|
+ return errors.Newf("get new owner '%s': %v", newOwnerName, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Check if new owner has repository with same name.
|
|
// Check if new owner has repository with same name.
|
|
|
has, err := IsRepositoryExist(newOwner, repo.Name)
|
|
has, err := IsRepositoryExist(newOwner, repo.Name)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("IsRepositoryExist: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("IsRepositoryExist: %v", err)
|
|
|
} else if has {
|
|
} else if has {
|
|
|
return ErrRepoAlreadyExist{args: errutil.Args{"ownerName": newOwnerName, "name": repo.Name}}
|
|
return ErrRepoAlreadyExist{args: errutil.Args{"ownerName": newOwnerName, "name": repo.Name}}
|
|
|
}
|
|
}
|
|
@@ -1376,7 +1376,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
sess := x.NewSession()
|
|
sess := x.NewSession()
|
|
|
defer sess.Close()
|
|
defer sess.Close()
|
|
|
if err = sess.Begin(); err != nil {
|
|
if err = sess.Begin(); err != nil {
|
|
|
- return fmt.Errorf("sess.Begin: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("sess.Begin: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
owner := repo.Owner
|
|
owner := repo.Owner
|
|
@@ -1388,13 +1388,13 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
|
|
|
|
|
// Update repository.
|
|
// Update repository.
|
|
|
if _, err := sess.ID(repo.ID).Update(repo); err != nil {
|
|
if _, err := sess.ID(repo.ID).Update(repo); err != nil {
|
|
|
- return fmt.Errorf("update owner: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("update owner: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Remove redundant collaborators.
|
|
// Remove redundant collaborators.
|
|
|
collaborators, err := repo.getCollaborators(sess)
|
|
collaborators, err := repo.getCollaborators(sess)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getCollaborators: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getCollaborators: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Dummy object.
|
|
// Dummy object.
|
|
@@ -1403,7 +1403,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
collaboration.UserID = c.ID
|
|
collaboration.UserID = c.ID
|
|
|
if c.ID == newOwner.ID || newOwner.IsOrgMember(c.ID) {
|
|
if c.ID == newOwner.ID || newOwner.IsOrgMember(c.ID) {
|
|
|
if _, err = sess.Delete(collaboration); err != nil {
|
|
if _, err = sess.Delete(collaboration); err != nil {
|
|
|
- return fmt.Errorf("remove collaborator '%d': %v", c.ID, err)
|
|
|
|
|
|
|
+ return errors.Newf("remove collaborator '%d': %v", c.ID, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1411,7 +1411,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
// Remove old team-repository relations.
|
|
// Remove old team-repository relations.
|
|
|
if owner.IsOrganization() {
|
|
if owner.IsOrganization() {
|
|
|
if err = owner.getTeams(sess); err != nil {
|
|
if err = owner.getTeams(sess); err != nil {
|
|
|
- return fmt.Errorf("getTeams: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getTeams: %v", err)
|
|
|
}
|
|
}
|
|
|
for _, t := range owner.Teams {
|
|
for _, t := range owner.Teams {
|
|
|
if !t.hasRepository(sess, repo.ID) {
|
|
if !t.hasRepository(sess, repo.ID) {
|
|
@@ -1420,34 +1420,34 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
|
|
|
|
|
t.NumRepos--
|
|
t.NumRepos--
|
|
|
if _, err := sess.ID(t.ID).AllCols().Update(t); err != nil {
|
|
if _, err := sess.ID(t.ID).AllCols().Update(t); err != nil {
|
|
|
- return fmt.Errorf("decrease team repository count '%d': %v", t.ID, err)
|
|
|
|
|
|
|
+ return errors.Newf("decrease team repository count '%d': %v", t.ID, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = owner.removeOrgRepo(sess, repo.ID); err != nil {
|
|
if err = owner.removeOrgRepo(sess, repo.ID); err != nil {
|
|
|
- return fmt.Errorf("removeOrgRepo: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("removeOrgRepo: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if newOwner.IsOrganization() {
|
|
if newOwner.IsOrganization() {
|
|
|
t, err := newOwner.getOwnerTeam(sess)
|
|
t, err := newOwner.getOwnerTeam(sess)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getOwnerTeam: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getOwnerTeam: %v", err)
|
|
|
} else if err = t.addRepository(sess, repo); err != nil {
|
|
} else if err = t.addRepository(sess, repo); err != nil {
|
|
|
- return fmt.Errorf("add to owner team: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("add to owner team: %v", err)
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
// Organization called this in addRepository method.
|
|
// Organization called this in addRepository method.
|
|
|
if err = repo.recalculateAccesses(sess); err != nil {
|
|
if err = repo.recalculateAccesses(sess); err != nil {
|
|
|
- return fmt.Errorf("recalculateAccesses: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("recalculateAccesses: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Update repository count.
|
|
// Update repository count.
|
|
|
if _, err = sess.Exec("UPDATE `user` SET num_repos=num_repos+1 WHERE id=?", newOwner.ID); err != nil {
|
|
if _, err = sess.Exec("UPDATE `user` SET num_repos=num_repos+1 WHERE id=?", newOwner.ID); err != nil {
|
|
|
- return fmt.Errorf("increase new owner repository count: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("increase new owner repository count: %v", err)
|
|
|
} else if _, err = sess.Exec("UPDATE `user` SET num_repos=num_repos-1 WHERE id=?", owner.ID); err != nil {
|
|
} else if _, err = sess.Exec("UPDATE `user` SET num_repos=num_repos-1 WHERE id=?", owner.ID); err != nil {
|
|
|
- return fmt.Errorf("decrease old owner repository count: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("decrease old owner repository count: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Remove watch for organization.
|
|
// Remove watch for organization.
|
|
@@ -1458,7 +1458,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = watchRepo(sess, newOwner.ID, repo.ID, true); err != nil {
|
|
if err = watchRepo(sess, newOwner.ID, repo.ID, true); err != nil {
|
|
|
- return fmt.Errorf("watchRepo: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("watchRepo: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// FIXME: This is identical to Actions.TransferRepo but we are not yet able to
|
|
// FIXME: This is identical to Actions.TransferRepo but we are not yet able to
|
|
@@ -1478,7 +1478,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
if err = transferRepoAction(sess, doer, owner, repo); err != nil {
|
|
if err = transferRepoAction(sess, doer, owner, repo); err != nil {
|
|
|
- return fmt.Errorf("transferRepoAction: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("transferRepoAction: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Rename remote repository to new path and delete local copy.
|
|
// Rename remote repository to new path and delete local copy.
|
|
@@ -1486,7 +1486,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
return err
|
|
return err
|
|
|
}
|
|
}
|
|
|
if err = os.Rename(RepoPath(owner.Name, repo.Name), RepoPath(newOwner.Name, repo.Name)); err != nil {
|
|
if err = os.Rename(RepoPath(owner.Name, repo.Name), RepoPath(newOwner.Name, repo.Name)); err != nil {
|
|
|
- return fmt.Errorf("rename repository directory: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("rename repository directory: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
deleteRepoLocalCopy(repo.ID)
|
|
deleteRepoLocalCopy(repo.ID)
|
|
@@ -1496,7 +1496,7 @@ func TransferOwnership(doer *User, newOwnerName string, repo *Repository) error
|
|
|
if com.IsExist(wikiPath) {
|
|
if com.IsExist(wikiPath) {
|
|
|
RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath())
|
|
RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath())
|
|
|
if err = os.Rename(wikiPath, WikiPath(newOwner.Name, repo.Name)); err != nil {
|
|
if err = os.Rename(wikiPath, WikiPath(newOwner.Name, repo.Name)); err != nil {
|
|
|
- return fmt.Errorf("rename repository wiki: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("rename repository wiki: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1519,25 +1519,25 @@ func ChangeRepositoryName(u *User, oldRepoName, newRepoName string) (err error)
|
|
|
|
|
|
|
|
has, err := IsRepositoryExist(u, newRepoName)
|
|
has, err := IsRepositoryExist(u, newRepoName)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("IsRepositoryExist: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("IsRepositoryExist: %v", err)
|
|
|
} else if has {
|
|
} else if has {
|
|
|
return ErrRepoAlreadyExist{args: errutil.Args{"ownerID": u.ID, "name": newRepoName}}
|
|
return ErrRepoAlreadyExist{args: errutil.Args{"ownerID": u.ID, "name": newRepoName}}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
repo, err := GetRepositoryByName(u.ID, oldRepoName)
|
|
repo, err := GetRepositoryByName(u.ID, oldRepoName)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("GetRepositoryByName: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("GetRepositoryByName: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Change repository directory name
|
|
// Change repository directory name
|
|
|
if err = os.Rename(repo.RepoPath(), RepoPath(u.Name, newRepoName)); err != nil {
|
|
if err = os.Rename(repo.RepoPath(), RepoPath(u.Name, newRepoName)); err != nil {
|
|
|
- return fmt.Errorf("rename repository directory: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("rename repository directory: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
wikiPath := repo.WikiPath()
|
|
wikiPath := repo.WikiPath()
|
|
|
if com.IsExist(wikiPath) {
|
|
if com.IsExist(wikiPath) {
|
|
|
if err = os.Rename(wikiPath, WikiPath(u.Name, newRepoName)); err != nil {
|
|
if err = os.Rename(wikiPath, WikiPath(u.Name, newRepoName)); err != nil {
|
|
|
- return fmt.Errorf("rename repository wiki: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("rename repository wiki: %v", err)
|
|
|
}
|
|
}
|
|
|
RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath())
|
|
RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath())
|
|
|
}
|
|
}
|
|
@@ -1577,17 +1577,17 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if _, err = e.ID(repo.ID).AllCols().Update(repo); err != nil {
|
|
if _, err = e.ID(repo.ID).AllCols().Update(repo); err != nil {
|
|
|
- return fmt.Errorf("update: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("update: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if visibilityChanged {
|
|
if visibilityChanged {
|
|
|
if err = repo.getOwner(e); err != nil {
|
|
if err = repo.getOwner(e); err != nil {
|
|
|
- return fmt.Errorf("getOwner: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getOwner: %v", err)
|
|
|
}
|
|
}
|
|
|
if repo.Owner.IsOrganization() {
|
|
if repo.Owner.IsOrganization() {
|
|
|
// Organization repository need to recalculate access table when visibility is changed
|
|
// Organization repository need to recalculate access table when visibility is changed
|
|
|
if err = repo.recalculateTeamAccesses(e, 0); err != nil {
|
|
if err = repo.recalculateTeamAccesses(e, 0); err != nil {
|
|
|
- return fmt.Errorf("recalculateTeamAccesses: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("recalculateTeamAccesses: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1607,19 +1607,19 @@ func updateRepository(e Engine, repo *Repository, visibilityChanged bool) (err e
|
|
|
|
|
|
|
|
forkRepos, err := getRepositoriesByForkID(e, repo.ID)
|
|
forkRepos, err := getRepositoriesByForkID(e, repo.ID)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getRepositoriesByForkID: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getRepositoriesByForkID: %v", err)
|
|
|
}
|
|
}
|
|
|
for i := range forkRepos {
|
|
for i := range forkRepos {
|
|
|
forkRepos[i].IsPrivate = repo.IsPrivate
|
|
forkRepos[i].IsPrivate = repo.IsPrivate
|
|
|
forkRepos[i].IsUnlisted = repo.IsUnlisted
|
|
forkRepos[i].IsUnlisted = repo.IsUnlisted
|
|
|
if err = updateRepository(e, forkRepos[i], true); err != nil {
|
|
if err = updateRepository(e, forkRepos[i], true); err != nil {
|
|
|
- return fmt.Errorf("updateRepository[%d]: %v", forkRepos[i].ID, err)
|
|
|
|
|
|
|
+ return errors.Newf("updateRepository[%d]: %v", forkRepos[i].ID, err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Change visibility of generated actions
|
|
// Change visibility of generated actions
|
|
|
if _, err = e.Where("repo_id = ?", repo.ID).Cols("is_private").Update(&Action{IsPrivate: repo.IsPrivate || repo.IsUnlisted}); err != nil {
|
|
if _, err = e.Where("repo_id = ?", repo.ID).Cols("is_private").Update(&Action{IsPrivate: repo.IsPrivate || repo.IsUnlisted}); err != nil {
|
|
|
- return fmt.Errorf("change action visibility of repository: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("change action visibility of repository: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1634,7 +1634,7 @@ func UpdateRepository(repo *Repository, visibilityChanged bool) (err error) {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = updateRepository(x, repo, visibilityChanged); err != nil {
|
|
if err = updateRepository(x, repo, visibilityChanged); err != nil {
|
|
|
- return fmt.Errorf("updateRepository: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("updateRepository: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return sess.Commit()
|
|
return sess.Commit()
|
|
@@ -1695,7 +1695,7 @@ func DeleteRepository(ownerID, repoID int64) error {
|
|
|
&HookTask{RepoID: repoID},
|
|
&HookTask{RepoID: repoID},
|
|
|
&LFSObject{RepoID: repoID},
|
|
&LFSObject{RepoID: repoID},
|
|
|
); err != nil {
|
|
); err != nil {
|
|
|
- return fmt.Errorf("deleteBeans: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("deleteBeans: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Delete comments and attachments.
|
|
// Delete comments and attachments.
|
|
@@ -1728,7 +1728,7 @@ func DeleteRepository(ownerID, repoID int64) error {
|
|
|
|
|
|
|
|
if repo.IsFork {
|
|
if repo.IsFork {
|
|
|
if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks-1 WHERE id=?", repo.ForkID); err != nil {
|
|
if _, err = sess.Exec("UPDATE `repository` SET num_forks=num_forks-1 WHERE id=?", repo.ForkID); err != nil {
|
|
|
- return fmt.Errorf("decrease fork count: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("decrease fork count: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1737,7 +1737,7 @@ func DeleteRepository(ownerID, repoID int64) error {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = sess.Commit(); err != nil {
|
|
if err = sess.Commit(); err != nil {
|
|
|
- return fmt.Errorf("commit: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("commit: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Remove repository files.
|
|
// Remove repository files.
|
|
@@ -1852,12 +1852,12 @@ func GetUserAndCollaborativeRepositories(userID int64) ([]*Repository, error) {
|
|
|
Join("INNER", "collaboration", "collaboration.repo_id = repo.id").
|
|
Join("INNER", "collaboration", "collaboration.repo_id = repo.id").
|
|
|
Where("collaboration.user_id = ?", userID).
|
|
Where("collaboration.user_id = ?", userID).
|
|
|
Find(&repos); err != nil {
|
|
Find(&repos); err != nil {
|
|
|
- return nil, fmt.Errorf("select collaborative repositories: %v", err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("select collaborative repositories: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
ownRepos := make([]*Repository, 0, 10)
|
|
ownRepos := make([]*Repository, 0, 10)
|
|
|
if err := x.Where("owner_id = ?", userID).Find(&ownRepos); err != nil {
|
|
if err := x.Where("owner_id = ?", userID).Find(&ownRepos); err != nil {
|
|
|
- return nil, fmt.Errorf("select own repositories: %v", err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("select own repositories: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return append(repos, ownRepos...), nil
|
|
return append(repos, ownRepos...), nil
|
|
@@ -1903,7 +1903,7 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos []*Repository, count
|
|
|
// We need all fields (repo.*) in final list but only ID (repo.id) is good enough for counting.
|
|
// We need all fields (repo.*) in final list but only ID (repo.id) is good enough for counting.
|
|
|
count, err = sess.Clone().Distinct("repo.id").Count(new(Repository))
|
|
count, err = sess.Clone().Distinct("repo.id").Count(new(Repository))
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return nil, 0, fmt.Errorf("Count: %v", err)
|
|
|
|
|
|
|
+ return nil, 0, errors.Newf("Count: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if len(opts.OrderBy) > 0 {
|
|
if len(opts.OrderBy) > 0 {
|
|
@@ -1998,7 +1998,7 @@ func gatherMissingRepoRecords() ([]*Repository, error) {
|
|
|
return nil
|
|
return nil
|
|
|
}); err != nil {
|
|
}); err != nil {
|
|
|
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("gatherMissingRepoRecords: %v", err)); err2 != nil {
|
|
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("gatherMissingRepoRecords: %v", err)); err2 != nil {
|
|
|
- return nil, fmt.Errorf("CreateRepositoryNotice: %v", err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("CreateRepositoryNotice: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return repos, nil
|
|
return repos, nil
|
|
@@ -2008,7 +2008,7 @@ func gatherMissingRepoRecords() ([]*Repository, error) {
|
|
|
func DeleteMissingRepositories() error {
|
|
func DeleteMissingRepositories() error {
|
|
|
repos, err := gatherMissingRepoRecords()
|
|
repos, err := gatherMissingRepoRecords()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("gatherMissingRepoRecords: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("gatherMissingRepoRecords: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if len(repos) == 0 {
|
|
if len(repos) == 0 {
|
|
@@ -2019,7 +2019,7 @@ func DeleteMissingRepositories() error {
|
|
|
log.Trace("Deleting %d/%d...", repo.OwnerID, repo.ID)
|
|
log.Trace("Deleting %d/%d...", repo.OwnerID, repo.ID)
|
|
|
if err := DeleteRepository(repo.OwnerID, repo.ID); err != nil {
|
|
if err := DeleteRepository(repo.OwnerID, repo.ID); err != nil {
|
|
|
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("DeleteRepository [%d]: %v", repo.ID, err)); err2 != nil {
|
|
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("DeleteRepository [%d]: %v", repo.ID, err)); err2 != nil {
|
|
|
- return fmt.Errorf("CreateRepositoryNotice: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("CreateRepositoryNotice: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -2030,7 +2030,7 @@ func DeleteMissingRepositories() error {
|
|
|
func ReinitMissingRepositories() error {
|
|
func ReinitMissingRepositories() error {
|
|
|
repos, err := gatherMissingRepoRecords()
|
|
repos, err := gatherMissingRepoRecords()
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("gatherMissingRepoRecords: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("gatherMissingRepoRecords: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if len(repos) == 0 {
|
|
if len(repos) == 0 {
|
|
@@ -2041,7 +2041,7 @@ func ReinitMissingRepositories() error {
|
|
|
log.Trace("Initializing %d/%d...", repo.OwnerID, repo.ID)
|
|
log.Trace("Initializing %d/%d...", repo.OwnerID, repo.ID)
|
|
|
if err := git.Init(repo.RepoPath(), git.InitOptions{Bare: true}); err != nil {
|
|
if err := git.Init(repo.RepoPath(), git.InitOptions{Bare: true}); err != nil {
|
|
|
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("init repository [repo_id: %d]: %v", repo.ID, err)); err2 != nil {
|
|
if err2 := Handle.Notices().Create(context.TODO(), NoticeTypeRepository, fmt.Sprintf("init repository [repo_id: %d]: %v", repo.ID, err)); err2 != nil {
|
|
|
- return fmt.Errorf("create repository notice: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("create repository notice: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -2125,7 +2125,7 @@ func GitGcRepos() error {
|
|
|
RepoPath(repo.Owner.Name, repo.Name), "Repository garbage collection",
|
|
RepoPath(repo.Owner.Name, repo.Name), "Repository garbage collection",
|
|
|
"git", args...)
|
|
"git", args...)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("%v: %v", err, stderr)
|
|
|
|
|
|
|
+ return errors.Newf("%v: %v", err, stderr)
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
|
})
|
|
})
|
|
@@ -2264,7 +2264,7 @@ func (repos RepositoryList) loadAttributes(e Engine) error {
|
|
|
}
|
|
}
|
|
|
users := make([]*User, 0, len(userIDs))
|
|
users := make([]*User, 0, len(userIDs))
|
|
|
if err := e.Where("id > 0").In("id", userIDs).Find(&users); err != nil {
|
|
if err := e.Where("id > 0").In("id", userIDs).Find(&users); err != nil {
|
|
|
- return fmt.Errorf("find users: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("find users: %v", err)
|
|
|
}
|
|
}
|
|
|
for i := range users {
|
|
for i := range users {
|
|
|
userSet[users[i].ID] = users[i]
|
|
userSet[users[i].ID] = users[i]
|
|
@@ -2286,7 +2286,7 @@ func (repos RepositoryList) loadAttributes(e Engine) error {
|
|
|
}
|
|
}
|
|
|
baseRepos := make([]*Repository, 0, len(baseIDs))
|
|
baseRepos := make([]*Repository, 0, len(baseIDs))
|
|
|
if err := e.Where("id > 0").In("id", baseIDs).Find(&baseRepos); err != nil {
|
|
if err := e.Where("id > 0").In("id", baseIDs).Find(&baseRepos); err != nil {
|
|
|
- return fmt.Errorf("find base repositories: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("find base repositories: %v", err)
|
|
|
}
|
|
}
|
|
|
for i := range baseRepos {
|
|
for i := range baseRepos {
|
|
|
repoSet[baseRepos[i].ID] = baseRepos[i]
|
|
repoSet[baseRepos[i].ID] = baseRepos[i]
|
|
@@ -2322,7 +2322,7 @@ func (repos MirrorRepositoryList) loadAttributes(e Engine) error {
|
|
|
}
|
|
}
|
|
|
mirrors := make([]*Mirror, 0, len(repoIDs))
|
|
mirrors := make([]*Mirror, 0, len(repoIDs))
|
|
|
if err := e.Where("id > 0").In("repo_id", repoIDs).Find(&mirrors); err != nil {
|
|
if err := e.Where("id > 0").In("repo_id", repoIDs).Find(&mirrors); err != nil {
|
|
|
- return fmt.Errorf("find mirrors: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("find mirrors: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
set := make(map[int64]*Mirror)
|
|
set := make(map[int64]*Mirror)
|
|
@@ -2425,7 +2425,7 @@ func notifyWatchers(e Engine, act *Action) error {
|
|
|
// Add feeds for user self and all watchers.
|
|
// Add feeds for user self and all watchers.
|
|
|
watchers, err := getWatchers(e, act.RepoID)
|
|
watchers, err := getWatchers(e, act.RepoID)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getWatchers: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getWatchers: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Reset ID to reuse Action object
|
|
// Reset ID to reuse Action object
|
|
@@ -2434,7 +2434,7 @@ func notifyWatchers(e Engine, act *Action) error {
|
|
|
// Add feed for actioner.
|
|
// Add feed for actioner.
|
|
|
act.UserID = act.ActUserID
|
|
act.UserID = act.ActUserID
|
|
|
if _, err = e.Insert(act); err != nil {
|
|
if _, err = e.Insert(act); err != nil {
|
|
|
- return fmt.Errorf("insert new action: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("insert new action: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
for i := range watchers {
|
|
for i := range watchers {
|
|
@@ -2445,7 +2445,7 @@ func notifyWatchers(e Engine, act *Action) error {
|
|
|
act.ID = 0
|
|
act.ID = 0
|
|
|
act.UserID = watchers[i].UserID
|
|
act.UserID = watchers[i].UserID
|
|
|
if _, err = e.Insert(act); err != nil {
|
|
if _, err = e.Insert(act); err != nil {
|
|
|
- return fmt.Errorf("insert new action: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("insert new action: %v", err)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
@@ -2574,22 +2574,22 @@ func ForkRepository(doer, owner *User, baseRepo *Repository, name, desc string)
|
|
|
fmt.Sprintf("ForkRepository 'git clone': %s/%s", owner.Name, repo.Name),
|
|
fmt.Sprintf("ForkRepository 'git clone': %s/%s", owner.Name, repo.Name),
|
|
|
"git", "clone", "--bare", baseRepo.RepoPath(), repoPath)
|
|
"git", "clone", "--bare", baseRepo.RepoPath(), repoPath)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("git clone: %v - %s", err, stderr)
|
|
|
|
|
|
|
+ return nil, errors.Newf("git clone: %v - %s", err, stderr)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
_, stderr, err = process.ExecDir(-1,
|
|
_, stderr, err = process.ExecDir(-1,
|
|
|
repoPath, fmt.Sprintf("ForkRepository 'git update-server-info': %s", repoPath),
|
|
repoPath, fmt.Sprintf("ForkRepository 'git update-server-info': %s", repoPath),
|
|
|
"git", "update-server-info")
|
|
"git", "update-server-info")
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("git update-server-info: %v - %s", err, stderr)
|
|
|
|
|
|
|
+ return nil, errors.Newf("git update-server-info: %v - %s", err, stderr)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = createDelegateHooks(repoPath); err != nil {
|
|
if err = createDelegateHooks(repoPath); err != nil {
|
|
|
- return nil, fmt.Errorf("createDelegateHooks: %v", err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("createDelegateHooks: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = sess.Commit(); err != nil {
|
|
if err = sess.Commit(); err != nil {
|
|
|
- return nil, fmt.Errorf("commit: %v", err)
|
|
|
|
|
|
|
+ return nil, errors.Newf("commit: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Remember visibility preference
|
|
// Remember visibility preference
|
|
@@ -2638,17 +2638,17 @@ func (r *Repository) CreateNewBranch(oldBranch, newBranch string) (err error) {
|
|
|
localPath := r.LocalCopyPath()
|
|
localPath := r.LocalCopyPath()
|
|
|
|
|
|
|
|
if err = discardLocalRepoBranchChanges(localPath, oldBranch); err != nil {
|
|
if err = discardLocalRepoBranchChanges(localPath, oldBranch); err != nil {
|
|
|
- return fmt.Errorf("discard changes in local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
|
|
|
|
|
|
+ return errors.Newf("discard changes in local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
|
|
} else if err = r.UpdateLocalCopyBranch(oldBranch); err != nil {
|
|
} else if err = r.UpdateLocalCopyBranch(oldBranch); err != nil {
|
|
|
- return fmt.Errorf("update branch for local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
|
|
|
|
|
|
+ return errors.Newf("update branch for local copy [path: %s, branch: %s]: %v", localPath, oldBranch, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = r.CheckoutNewBranch(oldBranch, newBranch); err != nil {
|
|
if err = r.CheckoutNewBranch(oldBranch, newBranch); err != nil {
|
|
|
- return fmt.Errorf("create new branch [base: %s, new: %s]: %v", oldBranch, newBranch, err)
|
|
|
|
|
|
|
+ return errors.Newf("create new branch [base: %s, new: %s]: %v", oldBranch, newBranch, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = git.Push(localPath, "origin", newBranch); err != nil {
|
|
if err = git.Push(localPath, "origin", newBranch); err != nil {
|
|
|
- return fmt.Errorf("push [branch: %s]: %v", newBranch, err)
|
|
|
|
|
|
|
+ return errors.Newf("push [branch: %s]: %v", newBranch, err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
return nil
|
|
@@ -2667,9 +2667,9 @@ func (r *Repository) refreshAccesses(e Engine, accessMap map[int64]AccessMode) (
|
|
|
|
|
|
|
|
// Delete old accesses and insert new ones for repository.
|
|
// Delete old accesses and insert new ones for repository.
|
|
|
if _, err = e.Delete(&Access{RepoID: r.ID}); err != nil {
|
|
if _, err = e.Delete(&Access{RepoID: r.ID}); err != nil {
|
|
|
- return fmt.Errorf("delete old accesses: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("delete old accesses: %v", err)
|
|
|
} else if _, err = e.Insert(newAccesses); err != nil {
|
|
} else if _, err = e.Insert(newAccesses); err != nil {
|
|
|
- return fmt.Errorf("insert new accesses: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("insert new accesses: %v", err)
|
|
|
}
|
|
}
|
|
|
return nil
|
|
return nil
|
|
|
}
|
|
}
|
|
@@ -2678,7 +2678,7 @@ func (r *Repository) refreshAccesses(e Engine, accessMap map[int64]AccessMode) (
|
|
|
func (r *Repository) refreshCollaboratorAccesses(e Engine, accessMap map[int64]AccessMode) error {
|
|
func (r *Repository) refreshCollaboratorAccesses(e Engine, accessMap map[int64]AccessMode) error {
|
|
|
collaborations, err := r.getCollaborations(e)
|
|
collaborations, err := r.getCollaborations(e)
|
|
|
if err != nil {
|
|
if err != nil {
|
|
|
- return fmt.Errorf("getCollaborations: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("getCollaborations: %v", err)
|
|
|
}
|
|
}
|
|
|
for _, c := range collaborations {
|
|
for _, c := range collaborations {
|
|
|
accessMap[c.UserID] = c.Mode
|
|
accessMap[c.UserID] = c.Mode
|
|
@@ -2695,11 +2695,11 @@ func (r *Repository) recalculateTeamAccesses(e Engine, ignTeamID int64) (err err
|
|
|
if err = r.getOwner(e); err != nil {
|
|
if err = r.getOwner(e); err != nil {
|
|
|
return err
|
|
return err
|
|
|
} else if !r.Owner.IsOrganization() {
|
|
} else if !r.Owner.IsOrganization() {
|
|
|
- return fmt.Errorf("owner is not an organization: %d", r.OwnerID)
|
|
|
|
|
|
|
+ return errors.Newf("owner is not an organization: %d", r.OwnerID)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = r.refreshCollaboratorAccesses(e, accessMap); err != nil {
|
|
if err = r.refreshCollaboratorAccesses(e, accessMap); err != nil {
|
|
|
- return fmt.Errorf("refreshCollaboratorAccesses: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("refreshCollaboratorAccesses: %v", err)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = r.Owner.getTeams(e); err != nil {
|
|
if err = r.Owner.getTeams(e); err != nil {
|
|
@@ -2730,7 +2730,7 @@ func (r *Repository) recalculateTeamAccesses(e Engine, ignTeamID int64) (err err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if err = t.getMembers(e); err != nil {
|
|
if err = t.getMembers(e); err != nil {
|
|
|
- return fmt.Errorf("getMembers '%d': %v", t.ID, err)
|
|
|
|
|
|
|
+ return errors.Newf("getMembers '%d': %v", t.ID, err)
|
|
|
}
|
|
}
|
|
|
for _, m := range t.Members {
|
|
for _, m := range t.Members {
|
|
|
accessMap[m.ID] = maxAccessMode(accessMap[m.ID], t.Authorize)
|
|
accessMap[m.ID] = maxAccessMode(accessMap[m.ID], t.Authorize)
|
|
@@ -2747,7 +2747,7 @@ func (r *Repository) recalculateAccesses(e Engine) error {
|
|
|
|
|
|
|
|
accessMap := make(map[int64]AccessMode, 10)
|
|
accessMap := make(map[int64]AccessMode, 10)
|
|
|
if err := r.refreshCollaboratorAccesses(e, accessMap); err != nil {
|
|
if err := r.refreshCollaboratorAccesses(e, accessMap); err != nil {
|
|
|
- return fmt.Errorf("refreshCollaboratorAccesses: %v", err)
|
|
|
|
|
|
|
+ return errors.Newf("refreshCollaboratorAccesses: %v", err)
|
|
|
}
|
|
}
|
|
|
return r.refreshAccesses(e, accessMap)
|
|
return r.refreshAccesses(e, accessMap)
|
|
|
}
|
|
}
|