summaryrefslogtreecommitdiffstats
path: root/models/migrations/v19.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2017-03-10 23:43:51 +0800
committerGitHub <noreply@github.com>2017-03-10 23:43:51 +0800
commit74cde12677bc548487ed1caf192eb19b0b7cf99c (patch)
tree08dd8fca3b12c447833a13f0aefd87e9f4d90431 /models/migrations/v19.go
parentf5476bdbb182835996e4e7269df64bf50dfc367b (diff)
downloadgitea-74cde12677bc548487ed1caf192eb19b0b7cf99c.tar.gz
gitea-74cde12677bc548487ed1caf192eb19b0b7cf99c.zip
Fix upgrade failed after ever rollback (#1194)
* fix upgrade failed after rollback * fix upgrade failed after rollback * fix possible upgrade twice fail after rollback
Diffstat (limited to 'models/migrations/v19.go')
-rw-r--r--models/migrations/v19.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/models/migrations/v19.go b/models/migrations/v19.go
index 6e0dbedaa3..0edeb3e92e 100644
--- a/models/migrations/v19.go
+++ b/models/migrations/v19.go
@@ -60,8 +60,14 @@ func generateAndMigrateGitHooks(x *xorm.Engine) (err error) {
oldHookPath := filepath.Join(hookDir, hookName)
newHookPath := filepath.Join(hookDir, hookName+".d", "gitea")
- if err = os.MkdirAll(filepath.Join(hookDir, hookName+".d"), os.ModePerm); err != nil {
- return fmt.Errorf("create hooks dir '%s': %v", filepath.Join(hookDir, hookName+".d"), err)
+ customHooksDir := filepath.Join(hookDir, hookName+".d")
+ // if it's exist, that means you have upgraded ever
+ if com.IsExist(customHooksDir) {
+ continue
+ }
+
+ if err = os.MkdirAll(customHooksDir, os.ModePerm); err != nil {
+ return fmt.Errorf("create hooks dir '%s': %v", customHooksDir, err)
}
// WARNING: Old server-side hooks will be moved to sub directory with the same name