diff --git a/apache-reference.gradle b/apache-reference.gradle index 7a9e7f33..b865521c 100644 --- a/apache-reference.gradle +++ b/apache-reference.gradle @@ -1316,7 +1316,25 @@ tasks.register('checkModules') { def versions = binDir.listFiles() ?.findAll { it.isDirectory() && it.name.startsWith(bundleName) } - ?.sort { it.name } ?: [] + ?: [] + + // Semantic sort by the version suffix (the part after the bundle name) + versions = versions.sort { a, b -> + def aVer = a.name.replace(bundleName, '') + def bVer = b.name.replace(bundleName, '') + def aParts = aVer.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + def bParts = bVer.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + for (int i = 0; i < Math.max(aParts.size(), bParts.size()); i++) { + def aVal = i < aParts.size() ? aParts[i] : 0 + def bVal = i < bParts.size() ? bParts[i] : 0 + if (aVal.getClass() != bVal.getClass()) { + aVal = aVal.toString() + bVal = bVal.toString() + } + if (aVal != bVal) return aVal <=> bVal + } + return 0 + } versions.each { versionDir -> def modulesFile = new File(versionDir, 'modules.properties') diff --git a/bin/git2.54.0/bearsampp.conf b/bin/git2.54.0/bearsampp.conf new file mode 100644 index 00000000..854bc86b --- /dev/null +++ b/bin/git2.54.0/bearsampp.conf @@ -0,0 +1,6 @@ +gitVersion = "2.54.0" +gitExe = "bin/git.exe" +gitBash = "bin/sh.exe" +gitScanStartup = "0" + +bundleRelease = "@RELEASE_VERSION@" diff --git a/bin/git2.54.0/repos.dat b/bin/git2.54.0/repos.dat new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/bin/git2.54.0/repos.dat @@ -0,0 +1 @@ + diff --git a/build.gradle b/build.gradle index 8aabd7b4..033ca012 100644 --- a/build.gradle +++ b/build.gradle @@ -206,8 +206,21 @@ def getAvailableVersions() { versions.addAll(archivedVersions) } - // Remove duplicates and sort - return versions.unique().sort() +// Remove duplicates and sort semantically + return versions.unique().sort { a, b -> + def aParts = a.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + def bParts = b.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + for (int i = 0; i < Math.max(aParts.size(), bParts.size()); i++) { + def aVal = i < aParts.size() ? aParts[i] : 0 + def bVal = i < bParts.size() ? bParts[i] : 0 + if (aVal.getClass() != bVal.getClass()) { + aVal = aVal.toString() + bVal = bVal.toString() + } + if (aVal != bVal) return aVal <=> bVal + } + return 0 + } } // Function to download and extract Git binaries (remote-first like Bruno) diff --git a/build.properties b/build.properties index 41857601..c8a20efd 100644 --- a/build.properties +++ b/build.properties @@ -1,4 +1,4 @@ bundle.name = git -bundle.release = 2026.4.12 +bundle.release = 2026.5.31 bundle.type = tools bundle.format = 7z