@@ -201,6 +201,30 @@ func Test_DefaultGitter_GetTags_IncludesSingleDigitSemverTags(t *testing.T) {
201201 }
202202}
203203
204+ func Test_DefaultGitter_GetTags_SortsMixedPrefixSemverDescending (t * testing.T ) {
205+ repo := t .TempDir ()
206+ runGit (t , repo , nil , "init" , "-q" )
207+ runGit (t , repo , nil , "config" , "user.email" , "test@example.com" )
208+ runGit (t , repo , nil , "config" , "user.name" , "Test" )
209+ commitAt (t , repo , "a.txt" , "a\n " , "c1" , "2020-01-01T00:00:00Z" )
210+ runGit (t , repo , nil , "tag" , "v1.2.3" )
211+ runGit (t , repo , nil , "tag" , "2.0.0" )
212+ runGit (t , repo , nil , "tag" , "v10.0.0" )
213+ runGit (t , repo , nil , "tag" , "1.2.4" )
214+
215+ dg , err := gitsemver .NewDefaultGitter ("git" , nil )
216+ if err != nil {
217+ t .Fatal (err )
218+ }
219+ tags , err := dg .GetTags (repo )
220+ if err != nil {
221+ t .Fatal (err )
222+ }
223+ if slices .Compare (tags , []string {"v10.0.0" , "2.0.0" , "1.2.4" , "v1.2.3" }) != 0 {
224+ t .Fatalf ("unexpected tags: %v" , tags )
225+ }
226+ }
227+
204228func Test_DefaultGitter_GetCurrentTreeHash (t * testing.T ) {
205229 dg , err := gitsemver .NewDefaultGitter ("git" , nil )
206230 if err != nil {
0 commit comments