#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"
 | 
						"github.com/gogits/gogs/modules/setting"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const APP_VER = "0.6.9.0909 Beta"
 | 
					const APP_VER = "0.6.9.0910 Beta"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func init() {
 | 
					func init() {
 | 
				
			||||||
	runtime.GOMAXPROCS(runtime.NumCPU())
 | 
						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)
 | 
								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)
 | 
								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
 | 
									return err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1685,6 +1685,9 @@ type Comment struct {
 | 
				
			||||||
	RenderedContent string    `xorm:"-"`
 | 
						RenderedContent string    `xorm:"-"`
 | 
				
			||||||
	Created         time.Time `xorm:"CREATED"`
 | 
						Created         time.Time `xorm:"CREATED"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Reference issue in commit message
 | 
				
			||||||
 | 
						CommitSHA string `xorm:"VARCHAR(40)"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Attachments []*Attachment `xorm:"-"`
 | 
						Attachments []*Attachment `xorm:"-"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// For view issue page.
 | 
						// For view issue page.
 | 
				
			||||||
| 
						 | 
					@ -1733,7 +1736,7 @@ func (c *Comment) EventTag() string {
 | 
				
			||||||
	return "event-" + com.ToStr(c.ID)
 | 
						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{
 | 
						comment := &Comment{
 | 
				
			||||||
		PosterID:  u.Id,
 | 
							PosterID:  u.Id,
 | 
				
			||||||
		Type:      cmtType,
 | 
							Type:      cmtType,
 | 
				
			||||||
| 
						 | 
					@ -1741,6 +1744,7 @@ func createComment(e *xorm.Session, u *User, repo *Repository, issue *Issue, com
 | 
				
			||||||
		CommitID:  commitID,
 | 
							CommitID:  commitID,
 | 
				
			||||||
		Line:      line,
 | 
							Line:      line,
 | 
				
			||||||
		Content:   content,
 | 
							Content:   content,
 | 
				
			||||||
 | 
							CommitSHA: commitSHA,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if _, err = e.Insert(comment); err != nil {
 | 
						if _, err = e.Insert(comment); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
| 
						 | 
					@ -1819,18 +1823,18 @@ func createStatusComment(e *xorm.Session, doer *User, repo *Repository, issue *I
 | 
				
			||||||
	if !issue.IsClosed {
 | 
						if !issue.IsClosed {
 | 
				
			||||||
		cmtType = COMMENT_TYPE_REOPEN
 | 
							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.
 | 
					// 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()
 | 
						sess := x.NewSession()
 | 
				
			||||||
	defer sessionRelease(sess)
 | 
						defer sessionRelease(sess)
 | 
				
			||||||
	if err = sess.Begin(); err != nil {
 | 
						if err = sess.Begin(); err != nil {
 | 
				
			||||||
		return nil, err
 | 
							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 {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -1840,7 +1844,29 @@ func CreateComment(doer *User, repo *Repository, issue *Issue, commitID, line in
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// CreateIssueComment creates a plain issue comment.
 | 
					// CreateIssueComment creates a plain issue comment.
 | 
				
			||||||
func CreateIssueComment(doer *User, repo *Repository, issue *Issue, content string, attachments []string) (*Comment, error) {
 | 
					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.
 | 
					// 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")
 | 
					var Sanitizer = bluemonday.UGCPolicy().AllowAttrs("class").Matching(regexp.MustCompile(`[\p{L}\p{N}\s\-_',:\[\]!\./\\\(\)&]*`)).OnElements("code")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
// Encode string to md5 hex value.
 | 
					// Encode string to md5 hex value.
 | 
				
			||||||
func EncodeMd5(str string) string {
 | 
					func EncodeMd5(str string) string {
 | 
				
			||||||
	m := md5.New()
 | 
						m := md5.New()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +1 @@
 | 
				
			||||||
0.6.9.0909 Beta
 | 
					0.6.9.0910 Beta
 | 
				
			||||||
		Loading…
	
		Reference in New Issue