mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-27 04:07:08 +00:00
Improvements to content history (#17746)
* Improvements to content history * initialize content history when making an edit to an old item created before the introduction of content history * show edit history for code comments on pull request files tab * Fix a flaw in keepLimitedContentHistory Fix a flaw in keepLimitedContentHistory, the first and the last should never be deleted * Remove obsolete eager initialization of content history
This commit is contained in:
parent
49b2cb998b
commit
a3efd048a7
6 changed files with 64 additions and 22 deletions
|
@ -75,7 +75,7 @@ func keepLimitedContentHistory(e db.Engine, issueID, commentID int64, limit int)
|
|||
log.Error("can not query content history for deletion, err=%v", err)
|
||||
return
|
||||
}
|
||||
if len(res) <= 1 {
|
||||
if len(res) <= 2 {
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -83,8 +83,8 @@ func keepLimitedContentHistory(e db.Engine, issueID, commentID int64, limit int)
|
|||
for outDatedCount > 0 {
|
||||
var indexToDelete int
|
||||
minEditedInterval := -1
|
||||
// find a history revision with minimal edited interval to delete
|
||||
for i := 1; i < len(res); i++ {
|
||||
// find a history revision with minimal edited interval to delete, the first and the last should never be deleted
|
||||
for i := 1; i < len(res)-1; i++ {
|
||||
editedInterval := int(res[i].EditedUnix - res[i-1].EditedUnix)
|
||||
if minEditedInterval == -1 || editedInterval < minEditedInterval {
|
||||
minEditedInterval = editedInterval
|
||||
|
@ -167,7 +167,20 @@ func FetchIssueContentHistoryList(dbCtx context.Context, issueID int64, commentI
|
|||
return res, nil
|
||||
}
|
||||
|
||||
//SoftDeleteIssueContentHistory soft delete
|
||||
// HasIssueContentHistory check if a ContentHistory entry exists
|
||||
func HasIssueContentHistory(dbCtx context.Context, issueID int64, commentID int64) (bool, error) {
|
||||
exists, err := db.GetEngine(dbCtx).Cols("id").Exist(&ContentHistory{
|
||||
IssueID: issueID,
|
||||
CommentID: commentID,
|
||||
})
|
||||
if err != nil {
|
||||
log.Error("can not fetch issue content history. err=%v", err)
|
||||
return false, err
|
||||
}
|
||||
return exists, err
|
||||
}
|
||||
|
||||
// SoftDeleteIssueContentHistory soft delete
|
||||
func SoftDeleteIssueContentHistory(dbCtx context.Context, historyID int64) error {
|
||||
if _, err := db.GetEngine(dbCtx).ID(historyID).Cols("is_deleted", "content_text").Update(&ContentHistory{
|
||||
IsDeleted: true,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue