Reference issues from pull requests and other issues (#8137)

* Update ref comment

* Generate comment on simple ref

* Make fmt + remove unneeded repo load

* Add TODO comments

* Add ref-check in issue creation; re-arrange template

* Make unit tests pass; rearrange code

* Make fmt

* Filter out xref comment if user can't see the referencing issue

* Add TODOs

* Add cross reference

* Rearrange code; add cross-repository references

* Striketrhough obsolete references

* Remove unnecesary TODO

* Add "not supported" note

* Support for edits and deletes, and issue title

* Revert changes to go.mod

* Fix fmt

* Add support for xref from API

* Add first integration test

* Add integration tests

* Correct formatting

* Fix add comment test

* Add migration

* Remove outdated comments; fix typo

* Some code refactoring and rearranging

* Rename findCrossReferences to createCrossReferences

* Delete xrefs when repository is deleted

* Corrections as suggested by @lafriks

* Prepare for merge

* Fix log for errors
This commit is contained in:
guillep2k 2019-09-20 02:45:38 -03:00 committed by techknowlogick
parent 8a0379d68a
commit 2a2b46c62e
10 changed files with 613 additions and 19 deletions

View file

@ -244,6 +244,8 @@ var migrations = []Migration{
NewMigration("add email notification enabled preference to user", addEmailNotificationEnabledToUser),
// v94 -> v95
NewMigration("add enable_status_check, status_check_contexts to protected_branch", addStatusCheckColumnsForProtectedBranches),
// v95 -> v96
NewMigration("add table columns for cross referencing issues", addCrossReferenceColumns),
}
// Migrate database to current version

20
models/migrations/v95.go Normal file
View file

@ -0,0 +1,20 @@
// Copyright 2019 The Gitea 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 migrations
import "github.com/go-xorm/xorm"
func addCrossReferenceColumns(x *xorm.Engine) error {
// Comment see models/comment.go
type Comment struct {
RefRepoID int64 `xorm:"index"`
RefIssueID int64 `xorm:"index"`
RefCommentID int64 `xorm:"index"`
RefAction int64 `xorm:"SMALLINT"`
RefIsPull bool
}
return x.Sync2(new(Comment))
}