增加版本标识确保二进制和模板文件处于同个版本

This commit is contained in:
Unknown 2014-05-25 20:33:30 -04:00
parent 2f820e01d8
commit 5543a0b6dc
5 changed files with 47 additions and 24 deletions

View file

@ -5,7 +5,7 @@ Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language
![Demo](http://gowalker.org/public/gogs_demo.gif) ![Demo](http://gowalker.org/public/gogs_demo.gif)
##### Current version: 0.3.5 Alpha ##### Current version: 0.3.6 Alpha
### NOTICES ### NOTICES

View file

@ -5,7 +5,7 @@ Gogs(Go Git Service) 是一个由 Go 语言编写的自助 Git 托管服务。
![Demo](http://gowalker.org/public/gogs_demo.gif) ![Demo](http://gowalker.org/public/gogs_demo.gif)
##### 当前版本0.3.5 Alpha ##### 当前版本0.3.6 Alpha
## 开发目的 ## 开发目的

1
conf/VERSION Normal file
View file

@ -0,0 +1 @@
0.3.6.0525 Alpha

16
gogs.go
View file

@ -14,14 +14,26 @@ import (
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
"github.com/gogits/gogs/cmd" "github.com/gogits/gogs/cmd"
"github.com/gogits/gogs/modules/bin"
"github.com/gogits/gogs/modules/log"
"github.com/gogits/gogs/modules/setting" "github.com/gogits/gogs/modules/setting"
) )
const APP_VER = "0.3.5.0525 Alpha" const APP_VER = "0.3.6.0525 Alpha"
func init() { func init() {
setting.AppVer = APP_VER
runtime.GOMAXPROCS(runtime.NumCPU()) runtime.GOMAXPROCS(runtime.NumCPU())
// go-bindata -ignore=\\.DS_Store -debug -o modules/bin/conf.go -pkg="bin" conf/...
// Set and check if binary and static file version match.
setting.AppVer = APP_VER
data, err := bin.Asset("conf/VERSION")
if err != nil {
log.Fatal("Fail to read 'conf/VERSION': %v", err)
}
if string(data) != setting.AppVer {
log.Fatal("Binary and static file version does not match, did you forget to recompile?")
}
} }
func main() { func main() {

View file

@ -15,6 +15,7 @@ func bindata_read(path, name string) ([]byte, error) {
return buf, err return buf, err
} }
// conf_app_ini reads file data from disk. It returns an error on failure. // conf_app_ini reads file data from disk. It returns an error on failure.
func conf_app_ini() ([]byte, error) { func conf_app_ini() ([]byte, error) {
return bindata_read( return bindata_read(
@ -175,6 +176,14 @@ func conf_supervisor_ini() ([]byte, error) {
) )
} }
// conf_version reads file data from disk. It returns an error on failure.
func conf_version() ([]byte, error) {
return bindata_read(
"/Users/jiahuachen/Applications/Go/src/github.com/gogits/gogs/conf/VERSION",
"conf/VERSION",
)
}
// Asset loads and returns the asset for the given name. // Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or // It returns an error if the asset could not be found or
// could not be loaded. // could not be loaded.
@ -196,25 +205,26 @@ func AssetNames() []string {
} }
// _bindata is a table, holding each asset generator, mapped to its name. // _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() ([]byte, error){ var _bindata = map[string] func() ([]byte, error) {
"conf/app.ini": conf_app_ini, "conf/app.ini": conf_app_ini,
"conf/content/git-bare.zip": conf_content_git_bare_zip, "conf/content/git-bare.zip": conf_content_git_bare_zip,
"conf/etc/supervisord.conf": conf_etc_supervisord_conf, "conf/etc/supervisord.conf": conf_etc_supervisord_conf,
"conf/gitignore/Android": conf_gitignore_android, "conf/gitignore/Android": conf_gitignore_android,
"conf/gitignore/C": conf_gitignore_c, "conf/gitignore/C": conf_gitignore_c,
"conf/gitignore/C Sharp": conf_gitignore_c_sharp, "conf/gitignore/C Sharp": conf_gitignore_c_sharp,
"conf/gitignore/C++": conf_gitignore_c_, "conf/gitignore/C++": conf_gitignore_c_,
"conf/gitignore/Google Go": conf_gitignore_google_go, "conf/gitignore/Google Go": conf_gitignore_google_go,
"conf/gitignore/Java": conf_gitignore_java, "conf/gitignore/Java": conf_gitignore_java,
"conf/gitignore/Objective-C": conf_gitignore_objective_c, "conf/gitignore/Objective-C": conf_gitignore_objective_c,
"conf/gitignore/Python": conf_gitignore_python, "conf/gitignore/Python": conf_gitignore_python,
"conf/gitignore/Ruby": conf_gitignore_ruby, "conf/gitignore/Ruby": conf_gitignore_ruby,
"conf/license/Affero GPL": conf_license_affero_gpl, "conf/license/Affero GPL": conf_license_affero_gpl,
"conf/license/Apache v2 License": conf_license_apache_v2_license, "conf/license/Apache v2 License": conf_license_apache_v2_license,
"conf/license/Artistic License 2.0": conf_license_artistic_license_2_0, "conf/license/Artistic License 2.0": conf_license_artistic_license_2_0,
"conf/license/BSD (3-Clause) License": conf_license_bsd_3_clause_license, "conf/license/BSD (3-Clause) License": conf_license_bsd_3_clause_license,
"conf/license/GPL v2": conf_license_gpl_v2, "conf/license/GPL v2": conf_license_gpl_v2,
"conf/license/MIT License": conf_license_mit_license, "conf/license/MIT License": conf_license_mit_license,
"conf/mysql.sql": conf_mysql_sql, "conf/mysql.sql": conf_mysql_sql,
"conf/supervisor.ini": conf_supervisor_ini, "conf/supervisor.ini": conf_supervisor_ini,
"conf/VERSION": conf_version,
} }