#1595 pushing new branch will rereference issues in previous branch
This commit is contained in:
		
							parent
							
								
									c3061c61a7
								
							
						
					
					
						commit
						c8d92fad30
					
				
							
								
								
									
										2
									
								
								gogs.go
								
								
								
								
							
							
						
						
									
										2
									
								
								gogs.go
								
								
								
								
							|  | @ -17,7 +17,7 @@ import ( | |||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
| 
 | ||||
| const APP_VER = "0.6.9.0909 Beta" | ||||
| const APP_VER = "0.6.9.0910 Beta" | ||||
| 
 | ||||
| func init() { | ||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
|  |  | |||
|  | @ -220,7 +220,7 @@ func updateIssuesCommit(u *User, repo *Repository, repoUserName, repoName string | |||
| 
 | ||||
| 			url := fmt.Sprintf("%s/%s/%s/commit/%s", setting.AppSubUrl, repoUserName, repoName, c.Sha1) | ||||
| 			message := fmt.Sprintf(`<a href="%s">%s</a>`, url, c.Message) | ||||
| 			if _, err = CreateComment(u, repo, issue, 0, 0, COMMENT_TYPE_COMMIT_REF, message, nil); err != nil { | ||||
| 			if err = CreateRefComment(u, repo, issue, message, c.Sha1); err != nil { | ||||
| 				return err | ||||
| 			} | ||||
| 		} | ||||
|  |  | |||
|  | @ -1685,6 +1685,9 @@ type Comment struct { | |||
| 	RenderedContent string    `xorm:"-"` | ||||
| 	Created         time.Time `xorm:"CREATED"` | ||||
| 
 | ||||
| 	// Reference issue in commit message
 | ||||
| 	CommitSHA string `xorm:"VARCHAR(40)"` | ||||
| 
 | ||||
| 	Attachments []*Attachment `xorm:"-"` | ||||
| 
 | ||||
| 	// For view issue page.
 | ||||
|  | @ -1733,14 +1736,15 @@ func (c *Comment) EventTag() string { | |||
| 	return "event-" + com.ToStr(c.ID) | ||||
| } | ||||
| 
 | ||||
| func createComment(e *xorm.Session, u *User, repo *Repository, issue *Issue, commitID, line int64, cmtType CommentType, content string, uuids []string) (_ *Comment, err error) { | ||||
| func createComment(e *xorm.Session, u *User, repo *Repository, issue *Issue, commitID, line int64, cmtType CommentType, content, commitSHA string, uuids []string) (_ *Comment, err error) { | ||||
| 	comment := &Comment{ | ||||
| 		PosterID: u.Id, | ||||
| 		Type:     cmtType, | ||||
| 		IssueID:  issue.ID, | ||||
| 		CommitID: commitID, | ||||
| 		Line:     line, | ||||
| 		Content:  content, | ||||
| 		PosterID:  u.Id, | ||||
| 		Type:      cmtType, | ||||
| 		IssueID:   issue.ID, | ||||
| 		CommitID:  commitID, | ||||
| 		Line:      line, | ||||
| 		Content:   content, | ||||
| 		CommitSHA: commitSHA, | ||||
| 	} | ||||
| 	if _, err = e.Insert(comment); err != nil { | ||||
| 		return nil, err | ||||
|  | @ -1819,18 +1823,18 @@ func createStatusComment(e *xorm.Session, doer *User, repo *Repository, issue *I | |||
| 	if !issue.IsClosed { | ||||
| 		cmtType = COMMENT_TYPE_REOPEN | ||||
| 	} | ||||
| 	return createComment(e, doer, repo, issue, 0, 0, cmtType, "", nil) | ||||
| 	return createComment(e, doer, repo, issue, 0, 0, cmtType, "", "", nil) | ||||
| } | ||||
| 
 | ||||
| // CreateComment creates comment of issue or commit.
 | ||||
| func CreateComment(doer *User, repo *Repository, issue *Issue, commitID, line int64, cmtType CommentType, content string, attachments []string) (comment *Comment, err error) { | ||||
| func CreateComment(doer *User, repo *Repository, issue *Issue, commitID, line int64, cmtType CommentType, content, commitSHA string, attachments []string) (comment *Comment, err error) { | ||||
| 	sess := x.NewSession() | ||||
| 	defer sessionRelease(sess) | ||||
| 	if err = sess.Begin(); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
| 
 | ||||
| 	comment, err = createComment(sess, doer, repo, issue, commitID, line, cmtType, content, attachments) | ||||
| 	comment, err = createComment(sess, doer, repo, issue, commitID, line, cmtType, content, commitSHA, attachments) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | @ -1840,7 +1844,29 @@ func CreateComment(doer *User, repo *Repository, issue *Issue, commitID, line in | |||
| 
 | ||||
| // CreateIssueComment creates a plain issue comment.
 | ||||
| func CreateIssueComment(doer *User, repo *Repository, issue *Issue, content string, attachments []string) (*Comment, error) { | ||||
| 	return CreateComment(doer, repo, issue, 0, 0, COMMENT_TYPE_COMMENT, content, attachments) | ||||
| 	return CreateComment(doer, repo, issue, 0, 0, COMMENT_TYPE_COMMENT, content, "", attachments) | ||||
| } | ||||
| 
 | ||||
| // CreateRefComment creates a commit reference comment to issue.
 | ||||
| func CreateRefComment(doer *User, repo *Repository, issue *Issue, content, commitSHA string) error { | ||||
| 	if len(commitSHA) == 0 { | ||||
| 		return fmt.Errorf("cannot create reference with empty commit SHA") | ||||
| 	} | ||||
| 
 | ||||
| 	// Check if same reference from same commit has already existed.
 | ||||
| 	has, err := x.Get(&Comment{ | ||||
| 		Type:      COMMENT_TYPE_COMMIT_REF, | ||||
| 		IssueID:   issue.ID, | ||||
| 		CommitSHA: commitSHA, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("check reference comment: %v", err) | ||||
| 	} else if has { | ||||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
| 	_, err = CreateComment(doer, repo, issue, 0, 0, COMMENT_TYPE_COMMIT_REF, content, commitSHA, nil) | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| // GetCommentByID returns the comment by given ID.
 | ||||
|  |  | |||
|  | @ -29,7 +29,6 @@ import ( | |||
| 
 | ||||
| var Sanitizer = bluemonday.UGCPolicy().AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code") | ||||
| 
 | ||||
| 
 | ||||
| // Encode string to md5 hex value.
 | ||||
| func EncodeMd5(str string) string { | ||||
| 	m := md5.New() | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| 0.6.9.0909 Beta | ||||
| 0.6.9.0910 Beta | ||||
		Loading…
	
		Reference in New Issue