@@ -138,11 +138,18 @@ func (repo *Repository) GetLatestRelease(vrange string) (*Release, error) {
138138 opts .Page = resp .NextPage
139139 }
140140 sort .Sort (allReleases )
141+
142+ var lastRelease * Release
143+ for _ , r := range allReleases {
144+ if r .Version .Prerelease () == "" {
145+ lastRelease = r
146+ break
147+ }
148+ }
149+
141150 if vrange == "" {
142- for _ , r := range allReleases {
143- if r .Version .Prerelease () == "" {
144- return r , nil
145- }
151+ if lastRelease != nil {
152+ return lastRelease , nil
146153 }
147154 return & Release {"" , & semver.Version {}}, nil
148155 }
@@ -164,14 +171,14 @@ func (repo *Repository) GetLatestRelease(vrange string) (*Release, error) {
164171
165172 splitPre := strings .SplitN (vrange , "-" , 2 )
166173 if len (splitPre ) == 1 {
167- return & Release {allReleases [ 0 ] .SHA , nver }, nil
174+ return & Release {lastRelease .SHA , nver }, nil
168175 }
169176
170177 npver , err := nver .SetPrerelease (splitPre [1 ])
171178 if err != nil {
172179 return nil , err
173180 }
174- return & Release {allReleases [ 0 ] .SHA , & npver }, nil
181+ return & Release {lastRelease .SHA , & npver }, nil
175182}
176183
177184func (repo * Repository ) CreateRelease (commits []* Commit , latestRelease * Release , newVersion * semver.Version , branch string ) error {
0 commit comments