mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Avoid re-issuing redundant cross-references. (#8734)
* Avoid re-issuing redundant cross-references. * Remove unused func; fix lint * Simplify code as suggested by @laftriks * Update test
This commit is contained in:
		@@ -722,11 +722,7 @@ func (issue *Issue) ChangeTitle(doer *User, oldTitle string) (err error) {
 | 
			
		||||
		return fmt.Errorf("createComment: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = issue.neuterCrossReferences(sess); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err = issue.addCrossReferences(sess, doer); err != nil {
 | 
			
		||||
	if err = issue.addCrossReferences(sess, doer, true); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -790,10 +786,8 @@ func (issue *Issue) ChangeContent(doer *User, content string) (err error) {
 | 
			
		||||
	if err = updateIssueCols(sess, issue, "content"); err != nil {
 | 
			
		||||
		return fmt.Errorf("UpdateIssueCols: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
	if err = issue.neuterCrossReferences(sess); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if err = issue.addCrossReferences(sess, doer); err != nil {
 | 
			
		||||
 | 
			
		||||
	if err = issue.addCrossReferences(sess, doer, true); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -944,7 +938,7 @@ func newIssue(e *xorm.Session, doer *User, opts NewIssueOptions) (err error) {
 | 
			
		||||
	if err = opts.Issue.loadAttributes(e); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return opts.Issue.addCrossReferences(e, doer)
 | 
			
		||||
	return opts.Issue.addCrossReferences(e, doer, false)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// NewIssue creates new issue with labels for repository.
 | 
			
		||||
@@ -1578,13 +1572,10 @@ func UpdateIssue(issue *Issue) error {
 | 
			
		||||
	if err := updateIssue(sess, issue); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if err := issue.neuterCrossReferences(sess); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if err := issue.loadPoster(sess); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	if err := issue.addCrossReferences(sess, issue.Poster); err != nil {
 | 
			
		||||
	if err := issue.addCrossReferences(sess, issue.Poster, true); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
	return sess.Commit()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user