mirror: Delete tags in mirror which are removed for original repo. (#5609)

This bug was being caused by an error in the logic in `release.go`.
Credit to @yasuokav for tracing the root of the issue.

Fixes: #5192.
This commit is contained in:
Harshit Bansal
2019-01-01 04:30:54 +05:30
committed by techknowlogick
parent b46c279587
commit 63bd1b9203
2 changed files with 57 additions and 2 deletions

View File

@ -479,10 +479,10 @@ func SyncReleasesWithTags(repo *Repository, gitRepo *git.Repository) error {
continue
}
commitID, err := gitRepo.GetTagCommitID(rel.TagName)
if err != nil {
if err != nil && !git.IsErrNotExist(err) {
return fmt.Errorf("GetTagCommitID: %v", err)
}
if !gitRepo.IsTagExist(rel.TagName) || commitID != rel.Sha1 {
if git.IsErrNotExist(err) || commitID != rel.Sha1 {
if err := pushUpdateDeleteTag(repo, gitRepo, rel.TagName); err != nil {
return fmt.Errorf("pushUpdateDeleteTag: %v", err)
}