The https://bioc-release.r-universe.dev repository syncs from your bioc/packages.json like so:
yml <- yaml::read_yaml("https://bioconductor.org/config.yaml")
registry_url <- sprintf('https://bioconductor.org/packages/json/%s/bioc/packages.json', yml$release_version)
bioc <- jsonlite::read_json(registry_url)
However the branches from this file do not always correspond on what we find on the website. Therefore we may end up with different versions, which is not good.
For example according to this file, package sangeranalyseR is to be downloaded from the devel branch:
bioc$sangeranalyseR$git_branch
## [1] "devel"
So that is the version we get in https://bioc-release.r-universe.dev/sangeranalyseR, which is at the time of writing version 1.21.1. However if we look at the bioc website, we see a different version number namely 1.19.0.
If we look closer, there are many more packages like this. Following on the code above:
table(sapply(bioc, function(x){ifelse(length(x$git_branch), x$git_branch ,'none')}))
##
## devel none RELEASE_3_22
## 114 24 2223
So what is the correct information? Should I better ignore the git_branch field from the registry and unconditionally use RELEASE_3_22 branch for all packages?

The https://bioc-release.r-universe.dev should follow
RELEASE_3_22for all packages. The packages that showgit_branchasdeveldon't have a newer package version to replace them because they have a build error in release. OncesangeranalyseRpasses, the version on release should be 1.20.0 and thegit_branchshould show up asRELEASE_3_22.Can we assume that each package git repo will have a
RELEASE_3_22branch, even when they had "a build error in release"?Yes, all packages in https://bioconductor.org/packages/json/3.22bioc/packages.json have a
RELEASE_3_22branch.