aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/repo.go30
1 files changed, 24 insertions, 6 deletions
diff --git a/models/repo.go b/models/repo.go
index 5d28174b01..869059fa2e 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -489,22 +489,40 @@ func initRepository(f string, user *User, repo *Repository, initReadme bool, rep
// .gitignore
if repoLang != "" {
filePath := "conf/gitignore/" + repoLang
- if com.IsFile(filePath) {
- if err := com.Copy(filePath,
- filepath.Join(tmpDir, fileName["gitign"])); err != nil {
+ targetPath := path.Join(tmpDir, fileName["gitign"])
+ data, err := bin.Asset(filePath)
+ if err == nil {
+ if err = ioutil.WriteFile(targetPath, data, os.ModePerm); err != nil {
return err
}
+ } else {
+ // Check custom files.
+ filePath = path.Join(setting.CustomPath, "conf/gitignore", repoLang)
+ if com.IsFile(filePath) {
+ if err := com.Copy(filePath, targetPath); err != nil {
+ return err
+ }
+ }
}
}
// LICENSE
if license != "" {
filePath := "conf/license/" + license
- if com.IsFile(filePath) {
- if err := com.Copy(filePath,
- filepath.Join(tmpDir, fileName["license"])); err != nil {
+ targetPath := path.Join(tmpDir, fileName["license"])
+ data, err := bin.Asset(filePath)
+ if err == nil {
+ if err = ioutil.WriteFile(targetPath, data, os.ModePerm); err != nil {
return err
}
+ } else {
+ // Check custom files.
+ filePath = path.Join(setting.CustomPath, "conf/license", license)
+ if com.IsFile(filePath) {
+ if err := com.Copy(filePath, targetPath); err != nil {
+ return err
+ }
+ }
}
}