#2700 fix sqlite3 can't create issue with more than one label

tokarchuk/v1.17
Unknwon 9 years ago
parent 42a556a082
commit ea80274229
  1. 4
      .bra.toml
  2. 2
      README.md
  3. 2
      conf/app.ini
  4. 2
      gogs.go
  5. 15
      models/issue.go
  6. 2
      models/repo.go
  7. 4
      modules/bindata/bindata.go
  8. 2
      templates/.VERSION

@ -1,7 +1,7 @@
[run]
init_cmds = [
#["grep", "-rn", "FIXME", "."],
["make", "build-dev"],
["make", "build-dev", "TAGS=sqlite"],
["./gogs", "web"]
]
watch_all = true
@ -15,6 +15,6 @@ watch_exts = [".go"]
ignore_files = [".+_test.go"]
build_delay = 1500
cmds = [
["make", "build-dev"], # sqlite cert pam tidb
["make", "build-dev", "TAGS=sqlite"], # cert pam tidb
["./gogs", "web"]
]

@ -3,7 +3,7 @@ Gogs - Go Git Service [![Build Status](https://travis-ci.org/gogits/gogs.svg?bra
![](https://github.com/gogits/gogs/blob/master/public/img/gogs-large-resize.png?raw=true)
##### Current version: 0.8.47
##### Current version: 0.8.48
| Web | UI | Preview |
|:-------------:|:-------:|:-------:|

@ -74,7 +74,7 @@ SSH_ROOT_PATH =
; Directory to create temporary files when test publick key using ssh-keygen,
; default is system temporary directory.
SSH_KEY_TEST_PATH =
; Path to ssh-keygen, default is 'ssh-keygen' and let shells find out which one to call.
; Path to ssh-keygen, default is 'ssh-keygen' and let shell find out which one to call.
SSH_KEYGEN_PATH = ssh-keygen
; Indicate whether to check minimum key size with corresponding type
MINIMUM_KEY_SIZE_CHECK = false

@ -17,7 +17,7 @@ import (
"github.com/gogits/gogs/modules/setting"
)
const APP_VER = "0.8.47.0227"
const APP_VER = "0.8.48.0229"
func init() {
runtime.GOMAXPROCS(runtime.NumCPU())

@ -297,20 +297,17 @@ func newIssue(e *xorm.Session, repo *Repository, issue *Issue, labelIDs []int64,
return err
}
var label *Label
for _, id := range labelIDs {
if id == 0 {
continue
// During the session, SQLite3 dirver cannot handle retrieve objects after update something.
// So we have to get all needed labels first.
labels := make([]*Label, 0, len(labelIDs))
if err = e.In("id", labelIDs).Find(&labels); err != nil {
return fmt.Errorf("Find all labels: %v", err)
}
label, err = getLabelByID(e, id)
if err != nil {
return err
}
for _, label := range labels {
if err = issue.addLabel(e, label); err != nil {
return fmt.Errorf("addLabel: %v", err)
}
}
if issue.MilestoneID > 0 {

@ -27,7 +27,7 @@ import (
"github.com/mcuadros/go-version"
"gopkg.in/ini.v1"
"github.com/gogits/git-module"
git "github.com/gogits/git-module"
api "github.com/gogits/go-gogs-client"
"github.com/gogits/gogs/modules/bindata"

File diff suppressed because one or more lines are too long

@ -1 +1 @@
0.8.47.0227
0.8.48.0229
Loading…
Cancel
Save