@@ -90,6 +90,13 @@ def version_compare(version1, version2):
9090 return 0
9191
9292
93+ def version_key (version ):
94+ """
95+ Convert version string like '8.10.1' to a tuple of ints (8, 10, 1)
96+ so that normal ascending sort gives oldest -> newest.
97+ """
98+ return tuple (map (int , str (version ).split ('.' )))
99+
93100@click .command ()
94101@click .option ('--config-file' , type = click .File ('rb' ), help = config_file_help )
95102@click .option ('--strict' , is_flag = True , help = strict_help )
@@ -150,11 +157,12 @@ def build_command(config_file, strict, site_dir, branches, default_branch, lates
150157 virtuozzoVersions = formatedCSVersions .values ()
151158
152159 if release_branches is not None :
153- release_branches = sorted (release_branches , key = functools .cmp_to_key (version_compare ))
154- virtuozzoVersions = sorted (virtuozzoVersions , key = functools .cmp_to_key (version_compare ))
160+ # Sort versions numerically: oldest -> newest
161+ release_branches = sorted (release_branches , key = version_key )
162+ virtuozzoVersions = sorted (virtuozzoVersions , key = version_key )
155163
156- # default_version = next(iter(release_branches), None)# release_branches[-1]
157- default_version = release_branches [0 ] if release_branches else None
164+ # Take the last (newest) version as default
165+ default_version = release_branches [- 1 ] if release_branches else None
158166
159167 print ("Default version %s" , default_version )
160168 print ("Building %s to /" , default_version )
0 commit comments