#1742 Update default branch in git repository while change in web view
This commit is contained in:
parent
f04d773f4f
commit
2c653141a8
7 changed files with 47 additions and 4 deletions
|
@ -13,6 +13,7 @@ watch_dirs = [
|
||||||
watch_exts = [".go"]
|
watch_exts = [".go"]
|
||||||
build_delay = 1500
|
build_delay = 1500
|
||||||
cmds = [
|
cmds = [
|
||||||
|
["go", "install"],
|
||||||
["go", "install", "-race"], # sqlite redis memcache cert pam tidb
|
["go", "install", "-race"], # sqlite redis memcache cert pam tidb
|
||||||
["go", "build", "-race"],
|
["go", "build", "-race"],
|
||||||
["./gogs", "web"]
|
["./gogs", "web"]
|
||||||
|
|
|
@ -5,7 +5,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra
|
||||||
|
|
||||||
![](public/img/gogs-large-resize.png)
|
![](public/img/gogs-large-resize.png)
|
||||||
|
|
||||||
##### Current version: 0.7.16 Beta
|
##### Current version: 0.7.17 Beta
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
2
gogs.go
2
gogs.go
|
@ -17,7 +17,7 @@ import (
|
||||||
"github.com/gogits/gogs/modules/setting"
|
"github.com/gogits/gogs/modules/setting"
|
||||||
)
|
)
|
||||||
|
|
||||||
const APP_VER = "0.7.16.1118 Beta"
|
const APP_VER = "0.7.17.1118 Beta"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
runtime.GOMAXPROCS(runtime.NumCPU())
|
runtime.GOMAXPROCS(runtime.NumCPU())
|
||||||
|
|
22
modules/git/error.go
Normal file
22
modules/git/error.go
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// Copyright 2015 The Gogs Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package git
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ErrUnsupportedVersion struct {
|
||||||
|
Required string
|
||||||
|
}
|
||||||
|
|
||||||
|
func IsErrUnsupportedVersion(err error) bool {
|
||||||
|
_, ok := err.(ErrUnsupportedVersion)
|
||||||
|
return ok
|
||||||
|
}
|
||||||
|
|
||||||
|
func (err ErrUnsupportedVersion) Error() string {
|
||||||
|
return fmt.Sprintf("Operation requires higher version [required: %s]", err.Required)
|
||||||
|
}
|
|
@ -35,3 +35,16 @@ func (repo *Repository) GetBranches() ([]string, error) {
|
||||||
}
|
}
|
||||||
return branches, nil
|
return branches, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetDefaultBranch sets default branch of repository.
|
||||||
|
func (repo *Repository) SetDefaultBranch(branchName string) error {
|
||||||
|
if gitVer.LessThan(MustParseVersion("1.7.10")) {
|
||||||
|
return ErrUnsupportedVersion{"1.7.10"}
|
||||||
|
}
|
||||||
|
|
||||||
|
_, stderr, err := com.ExecCmdDir(repo.Path, "git", "symbolic-ref", "HEAD", "refs/heads/"+branchName)
|
||||||
|
if err != nil {
|
||||||
|
return concatenateError(err, stderr)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
@ -80,8 +80,15 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) {
|
||||||
repo.Name = newRepoName
|
repo.Name = newRepoName
|
||||||
repo.LowerName = strings.ToLower(newRepoName)
|
repo.LowerName = strings.ToLower(newRepoName)
|
||||||
|
|
||||||
if ctx.Repo.GitRepo.IsBranchExist(form.Branch) {
|
if ctx.Repo.GitRepo.IsBranchExist(form.Branch) &&
|
||||||
|
repo.DefaultBranch != form.Branch {
|
||||||
repo.DefaultBranch = form.Branch
|
repo.DefaultBranch = form.Branch
|
||||||
|
if err := ctx.Repo.GitRepo.SetDefaultBranch(form.Branch); err != nil {
|
||||||
|
if !git.IsErrUnsupportedVersion(err) {
|
||||||
|
ctx.Handle(500, "SetDefaultBranch", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
repo.Description = form.Description
|
repo.Description = form.Description
|
||||||
repo.Website = form.Website
|
repo.Website = form.Website
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0.7.16.1118 Beta
|
0.7.17.1118 Beta
|
Reference in a new issue