summaryrefslogtreecommitdiffstats
path: root/modules/migration
diff options
context:
space:
mode:
authorSybren <122987084+drsybren@users.noreply.github.com>2023-01-19 03:14:56 +0100
committerGitHub <noreply@github.com>2023-01-18 21:14:56 -0500
commit151b1a9508d9a407163edbf3d726b4785afef5ce (patch)
treef74c4b5ba9989384bd51d0c642d2a08340765370 /modules/migration
parentcdf53fa4a7f3f7094eec8742529783ae7ceffc8f (diff)
downloadgitea-151b1a9508d9a407163edbf3d726b4785afef5ce.tar.gz
gitea-151b1a9508d9a407163edbf3d726b4785afef5ce.zip
Support importing comment types (#22510)
This commit adds support for specifying comment types when importing with `gitea restore-repo`. It makes it possible to import issue changes, such as "title changed" or "assigned user changed". An earlier version of this pull request was made by Matti Ranta, in https://future.projects.blender.org/blender-migration/gitea-bf/pulls/3 There are two changes with regard to Matti's original code: 1. The comment type was an `int64` in Matti's code, and is now using a string. This makes it possible to use `comment_type: title`, which is more reliable and future-proof than an index into an internal list in the Gitea Go code. 2. Matti's code also had support for including labels, but in a way that would require knowing the database ID of the labels before the import even starts, which is impossible. This can be solved by using label names instead of IDs; for simplicity I I left that out of this PR.
Diffstat (limited to 'modules/migration')
-rw-r--r--modules/migration/comment.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/modules/migration/comment.go b/modules/migration/comment.go
index 27ecaa830a..f994e972ed 100644
--- a/modules/migration/comment.go
+++ b/modules/migration/comment.go
@@ -17,6 +17,7 @@ type Commentable interface {
type Comment struct {
IssueIndex int64 `yaml:"issue_index"`
Index int64
+ CommentType string `yaml:"comment_type"` // see `commentStrings` in models/issues/comment.go
PosterID int64 `yaml:"poster_id"`
PosterName string `yaml:"poster_name"`
PosterEmail string `yaml:"poster_email"`
@@ -24,6 +25,7 @@ type Comment struct {
Updated time.Time
Content string
Reactions []*Reaction
+ Meta map[string]interface{} `yaml:"meta,omitempty"` // see models/issues/comment.go for fields in Comment struct
}
// GetExternalName ExternalUserMigrated interface