diff --git a/.gitignore b/.gitignore index 49d19b83d0..0323c29726 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,4 @@ gogs .DS_Store *.db *.log -conf/custom.ini \ No newline at end of file +custom/ \ No newline at end of file diff --git a/models/repo.go b/models/repo.go index 31c2ae6361..c790dc90a6 100644 --- a/models/repo.go +++ b/models/repo.go @@ -49,6 +49,7 @@ var ( var ( ErrRepoAlreadyExist = errors.New("Repository already exist") + ErrRepoNotExist = errors.New("Repository does not exist") ) func init() { @@ -225,6 +226,30 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep return nil } +func GetRepositoryByName(user *User, repoName string) (*Repository, error) { + repo := &Repository{ + OwnerId: user.Id, + LowerName: strings.ToLower(repoName), + } + has, err := orm.Get(repo) + if err != nil { + return nil, err + } else if !has { + return nil, ErrRepoNotExist + } + return repo, err +} + +func GetRepositoryById(id int64) (repo *Repository, err error) { + has, err := orm.Id(id).Get(repo) + if err != nil { + return nil, err + } else if !has { + return nil, ErrRepoNotExist + } + return repo, err +} + // GetRepositories returns the list of repositories of given user. func GetRepositories(user *User) ([]Repository, error) { repos := make([]Repository, 0, 10) diff --git a/modules/base/conf.go b/modules/base/conf.go index 1240448c10..809b2b8c18 100644 --- a/modules/base/conf.go +++ b/modules/base/conf.go @@ -37,15 +37,14 @@ func init() { os.Exit(2) } - cfgPathPrefix := filepath.Join(workDir, "conf") - cfgPath := filepath.Join(cfgPathPrefix, "app.ini") + cfgPath := filepath.Join(workDir, "conf/app.ini") Cfg, err = goconfig.LoadConfigFile(cfgPath) if err != nil { fmt.Printf("Cannot load config file '%s'\n", cfgPath) os.Exit(2) } - cfgPath = filepath.Join(cfgPathPrefix, "custom.ini") + cfgPath = filepath.Join(workDir, "custom/conf/app.ini") if com.IsFile(cfgPath) { if err = Cfg.AppendFiles(cfgPath); err != nil { fmt.Printf("Cannot load config file '%s'\n", cfgPath)