aboutsummaryrefslogtreecommitdiff
path: root/models
diff options
context:
space:
mode:
authorlunnyxiao <xiaolunwen@gmail.com>2014-08-08 13:51:43 +0800
committerlunnyxiao <xiaolunwen@gmail.com>2014-08-08 13:51:43 +0800
commit7c7014262bdf90880826e6e6cc802bdab300b5ae (patch)
treea3b9803b8cb8ecc23517e73c1d0cdf73dcb213d5 /models
parent57f6ec672ab059c57689a45c7f657923718e62bf (diff)
parent9d5c0c80a4984acc1a42da8360a712e4f5f615a0 (diff)
Merge branch 'dev' of github.com:gogits/gogs into dev
Diffstat (limited to 'models')
-rw-r--r--models/models.go4
-rw-r--r--models/publickey.go12
-rw-r--r--models/repo.go12
3 files changed, 20 insertions, 8 deletions
diff --git a/models/models.go b/models/models.go
index 31509ed3..af9529f4 100644
--- a/models/models.go
+++ b/models/models.go
@@ -165,6 +165,10 @@ func GetStatistic() (stats Statistic) {
return
}
+func Ping() error {
+ return x.Ping()
+}
+
// DumpDatabase dumps all data from database to file system.
func DumpDatabase(filePath string) error {
return x.DumpAllToFile(filePath)
diff --git a/models/publickey.go b/models/publickey.go
index baf38177..f9880c74 100644
--- a/models/publickey.go
+++ b/models/publickey.go
@@ -69,7 +69,7 @@ func init() {
// Determine and create .ssh path.
SshPath = filepath.Join(homeDir(), ".ssh")
- if err = os.MkdirAll(SshPath, os.ModePerm); err != nil {
+ if err = os.MkdirAll(SshPath, 0700); err != nil {
log.Fatal(4, "fail to create SshPath(%s): %v\n", SshPath, err)
}
}
@@ -156,6 +156,16 @@ func saveAuthorizedKeyFile(key *PublicKey) error {
return err
}
defer f.Close()
+ finfo, err := f.Stat()
+ if err != nil {
+ return err
+ }
+ if finfo.Mode().Perm() > 0600 {
+ log.Error(4, "authorized_keys file has unusual permission flags: %s - setting to -rw-------", finfo.Mode().Perm().String())
+ if err = f.Chmod(0600); err != nil {
+ return err
+ }
+ }
_, err = f.WriteString(key.GetAuthorizedString())
return err
diff --git a/models/repo.go b/models/repo.go
index a68757af..c2398fe7 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -446,7 +446,9 @@ func initRepository(f string, u *User, repo *Repository, initReadme bool, repoLa
}
if len(fileName) == 0 {
- return nil
+ repo.IsBare = true
+ repo.DefaultBranch = "master"
+ return UpdateRepository(repo)
}
// Apply changes and commit.
@@ -479,10 +481,6 @@ func CreateRepository(u *User, name, desc, lang, license string, private, mirror
LowerName: strings.ToLower(name),
Description: desc,
IsPrivate: private,
- IsBare: lang == "" && license == "" && !initReadme,
- }
- if !repo.IsBare {
- repo.DefaultBranch = "master"
}
if _, err = sess.Insert(repo); err != nil {
@@ -550,11 +548,11 @@ func CreateRepository(u *User, name, desc, lang, license string, private, mirror
if u.IsOrganization() {
ous, err := GetOrgUsersByOrgId(u.Id)
if err != nil {
- log.Error(4, "repo.CreateRepository(GetOrgUsersByOrgId): %v", err)
+ log.Error(4, "GetOrgUsersByOrgId: %v", err)
} else {
for _, ou := range ous {
if err = WatchRepo(ou.Uid, repo.Id, true); err != nil {
- log.Error(4, "repo.CreateRepository(WatchRepo): %v", err)
+ log.Error(4, "WatchRepo: %v", err)
}
}
}