mirror of https://github.com/go-gitea/gitea
Add OriginalID for milestones
This commit is contained in:
parent
6855c81d0f
commit
6e3b98051b
|
@ -64,6 +64,8 @@ type Milestone struct {
|
|||
DeadlineString string `xorm:"-"`
|
||||
|
||||
TotalTrackedTime int64 `xorm:"-"`
|
||||
|
||||
OriginalID int64 // ID from the upstream syncing source
|
||||
}
|
||||
|
||||
func init() {
|
||||
|
|
|
@ -70,7 +70,7 @@ func UpdateMilestones(ms ...*issues_model.Milestone) (err error) {
|
|||
for _, m := range ms {
|
||||
var foundMilestone *issues_model.Milestone
|
||||
for _, existingMilestone := range existingMilestones {
|
||||
if existingMilestone.CreatedUnix == m.CreatedUnix {
|
||||
if existingMilestone.OriginalID == m.OriginalID {
|
||||
foundMilestone = existingMilestone
|
||||
foundMap[existingMilestone.ID] = true
|
||||
break
|
||||
|
@ -79,8 +79,7 @@ func UpdateMilestones(ms ...*issues_model.Milestone) (err error) {
|
|||
|
||||
if foundMilestone == nil {
|
||||
milestonesToAdd = append(milestonesToAdd, m)
|
||||
} else if foundMilestone.UpdatedUnix != m.UpdatedUnix {
|
||||
// consider as updated if updated_unix is different
|
||||
} else if foundMilestone.OriginalID != m.OriginalID {
|
||||
m.ID = foundMilestone.ID
|
||||
milestonesToUpdate = append(milestonesToUpdate, m)
|
||||
}
|
||||
|
@ -116,6 +115,7 @@ func UpdateMilestones(ms ...*issues_model.Milestone) (err error) {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: is this correct?
|
||||
if _, err = sess.ID(ms[0].RepoID).Update(&repo_model.Repository{
|
||||
NumMilestones: len(ms),
|
||||
NumOpenMilestones: openCount,
|
||||
|
|
|
@ -15,4 +15,5 @@ type Milestone struct {
|
|||
Updated *time.Time `json:"updated"`
|
||||
Closed *time.Time `json:"closed"`
|
||||
State string `json:"state"` // open, closed
|
||||
OriginalID int64 `json:"-"` // ID from the upstream syncing source
|
||||
}
|
||||
|
|
|
@ -208,6 +208,7 @@ func (g *GiteaLocalUploader) prepareMilestones(milestones ...*base.Milestone) []
|
|||
CreatedUnix: timeutil.TimeStamp(milestone.Created.Unix()),
|
||||
UpdatedUnix: timeutil.TimeStamp(milestone.Updated.Unix()),
|
||||
DeadlineUnix: deadline,
|
||||
OriginalID: milestone.OriginalID,
|
||||
}
|
||||
if ms.IsClosed && milestone.Closed != nil {
|
||||
ms.ClosedDateUnix = timeutil.TimeStamp(milestone.Closed.Unix())
|
||||
|
|
|
@ -265,6 +265,7 @@ func (g *GithubDownloaderV3) GetMilestones() ([]*base.Milestone, error) {
|
|||
Created: m.GetCreatedAt().Time,
|
||||
Updated: m.UpdatedAt.GetTime(),
|
||||
Closed: m.ClosedAt.GetTime(),
|
||||
OriginalID: m.GetID(),
|
||||
})
|
||||
}
|
||||
if len(ms) < perPage {
|
||||
|
|
Loading…
Reference in New Issue