@@ -8,13 +8,13 @@ package cmd
8
8
import (
9
9
"fmt"
10
10
"io/ioutil"
11
- "log"
12
11
"os"
13
12
"path"
14
13
"path/filepath"
15
14
"time"
16
15
17
16
"code.gitea.io/gitea/models"
17
+ "code.gitea.io/gitea/modules/log"
18
18
"code.gitea.io/gitea/modules/setting"
19
19
20
20
"github.com/unknwon/cae/zip"
@@ -55,6 +55,11 @@ It can be used for backup and capture Gitea server image to send to maintainer`,
55
55
},
56
56
}
57
57
58
+ func fatal (format string , args ... interface {}) {
59
+ fmt .Fprintf (os .Stderr , format + "\n " , args ... )
60
+ log .Fatal (format , args ... )
61
+ }
62
+
58
63
func runDump (ctx * cli.Context ) error {
59
64
setting .NewContext ()
60
65
setting .NewServices () // cannot access session settings otherwise
@@ -66,13 +71,13 @@ func runDump(ctx *cli.Context) error {
66
71
67
72
tmpDir := ctx .String ("tempdir" )
68
73
if _ , err := os .Stat (tmpDir ); os .IsNotExist (err ) {
69
- log . Fatalf ("Path does not exist: %s" , tmpDir )
74
+ fatal ("Path does not exist: %s" , tmpDir )
70
75
}
71
76
tmpWorkDir , err := ioutil .TempDir (tmpDir , "gitea-dump-" )
72
77
if err != nil {
73
- log . Fatalf ("Failed to create tmp work directory: %v" , err )
78
+ fatal ("Failed to create tmp work directory: %v" , err )
74
79
}
75
- log .Printf ("Creating tmp work dir: %s" , tmpWorkDir )
80
+ log .Info ("Creating tmp work dir: %s" , tmpWorkDir )
76
81
77
82
// work-around #1103
78
83
if os .Getenv ("TMPDIR" ) == "" {
@@ -82,88 +87,89 @@ func runDump(ctx *cli.Context) error {
82
87
dbDump := path .Join (tmpWorkDir , "gitea-db.sql" )
83
88
84
89
fileName := ctx .String ("file" )
85
- log .Printf ("Packing dump files..." )
90
+ log .Info ("Packing dump files..." )
86
91
z , err := zip .Create (fileName )
87
92
if err != nil {
88
- log . Fatalf ("Failed to create %s: %v" , fileName , err )
93
+ fatal ("Failed to create %s: %v" , fileName , err )
89
94
}
95
+
90
96
zip .Verbose = ctx .Bool ("verbose" )
91
97
92
98
if ctx .IsSet ("skip-repository" ) {
93
- log .Printf ("Skip dumping local repositories" )
99
+ log .Info ("Skip dumping local repositories" )
94
100
} else {
95
- log .Printf ("Dumping local repositories...%s" , setting .RepoRootPath )
101
+ log .Info ("Dumping local repositories...%s" , setting .RepoRootPath )
96
102
reposDump := path .Join (tmpWorkDir , "gitea-repo.zip" )
97
103
if err := zip .PackTo (setting .RepoRootPath , reposDump , true ); err != nil {
98
- log . Fatalf ("Failed to dump local repositories: %v" , err )
104
+ fatal ("Failed to dump local repositories: %v" , err )
99
105
}
100
106
if err := z .AddFile ("gitea-repo.zip" , reposDump ); err != nil {
101
- log . Fatalf ("Failed to include gitea-repo.zip: %v" , err )
107
+ fatal ("Failed to include gitea-repo.zip: %v" , err )
102
108
}
103
109
}
104
110
105
111
targetDBType := ctx .String ("database" )
106
112
if len (targetDBType ) > 0 && targetDBType != setting .Database .Type {
107
- log .Printf ("Dumping database %s => %s..." , setting .Database .Type , targetDBType )
113
+ log .Info ("Dumping database %s => %s..." , setting .Database .Type , targetDBType )
108
114
} else {
109
- log .Printf ("Dumping database..." )
115
+ log .Info ("Dumping database..." )
110
116
}
111
117
112
118
if err := models .DumpDatabase (dbDump , targetDBType ); err != nil {
113
- log . Fatalf ("Failed to dump database: %v" , err )
119
+ fatal ("Failed to dump database: %v" , err )
114
120
}
115
121
116
122
if err := z .AddFile ("gitea-db.sql" , dbDump ); err != nil {
117
- log . Fatalf ("Failed to include gitea-db.sql: %v" , err )
123
+ fatal ("Failed to include gitea-db.sql: %v" , err )
118
124
}
119
125
120
126
if len (setting .CustomConf ) > 0 {
121
- log .Printf ("Adding custom configuration file from %s" , setting .CustomConf )
127
+ log .Info ("Adding custom configuration file from %s" , setting .CustomConf )
122
128
if err := z .AddFile ("app.ini" , setting .CustomConf ); err != nil {
123
- log . Fatalf ("Failed to include specified app.ini: %v" , err )
129
+ fatal ("Failed to include specified app.ini: %v" , err )
124
130
}
125
131
}
126
132
127
133
customDir , err := os .Stat (setting .CustomPath )
128
134
if err == nil && customDir .IsDir () {
129
135
if err := z .AddDir ("custom" , setting .CustomPath ); err != nil {
130
- log . Fatalf ("Failed to include custom: %v" , err )
136
+ fatal ("Failed to include custom: %v" , err )
131
137
}
132
138
} else {
133
- log .Printf ("Custom dir %s doesn't exist, skipped" , setting .CustomPath )
139
+ log .Info ("Custom dir %s doesn't exist, skipped" , setting .CustomPath )
134
140
}
135
141
136
142
if com .IsExist (setting .AppDataPath ) {
137
- log .Printf ("Packing data directory...%s" , setting .AppDataPath )
143
+ log .Info ("Packing data directory...%s" , setting .AppDataPath )
138
144
139
145
var sessionAbsPath string
140
146
if setting .SessionConfig .Provider == "file" {
141
147
sessionAbsPath = setting .SessionConfig .ProviderConfig
142
148
}
143
149
if err := zipAddDirectoryExclude (z , "data" , setting .AppDataPath , sessionAbsPath ); err != nil {
144
- log . Fatalf ("Failed to include data directory: %v" , err )
150
+ fatal ("Failed to include data directory: %v" , err )
145
151
}
146
152
}
147
153
148
154
if err := z .AddDir ("log" , setting .LogRootPath ); err != nil {
149
- log . Fatalf ("Failed to include log: %v" , err )
155
+ fatal ("Failed to include log: %v" , err )
150
156
}
151
157
152
158
if err = z .Close (); err != nil {
153
159
_ = os .Remove (fileName )
154
- log . Fatalf ("Failed to save %s: %v" , fileName , err )
160
+ fatal ("Failed to save %s: %v" , fileName , err )
155
161
}
156
162
157
163
if err := os .Chmod (fileName , 0600 ); err != nil {
158
- log .Printf ("Can't change file access permissions mask to 0600: %v" , err )
164
+ log .Info ("Can't change file access permissions mask to 0600: %v" , err )
159
165
}
160
166
161
- log .Printf ("Removing tmp work dir: %s" , tmpWorkDir )
167
+ log .Info ("Removing tmp work dir: %s" , tmpWorkDir )
162
168
163
169
if err := os .RemoveAll (tmpWorkDir ); err != nil {
164
- log . Fatalf ("Failed to remove %s: %v" , tmpWorkDir , err )
170
+ fatal ("Failed to remove %s: %v" , tmpWorkDir , err )
165
171
}
166
- log .Printf ("Finish dumping in file %s" , fileName )
172
+ log .Info ("Finish dumping in file %s" , fileName )
167
173
168
174
return nil
169
175
}
0 commit comments