## update release sha db if necessary. releases.dt <- data.table::fread("releases.csv") release.version <- gsub("./data.table_|.tar.gz", "", release.old) if(!release.version %in% releases.dt$version){ bisect.cmd <- paste( "cd ~/R/data.table &&", "git bisect start &&", "git bisect old", releases.dt[1, sha], "&&", "git bisect new master &&", "git bisect run ~/genomic-ml/data.table-revdeps/compare_versions.sh", release.version) bisect.out <- system(bisect.cmd, intern=TRUE) sha <- nc::capture_all_str( bisect.out, sha="[0-9a-f]+", " is the first new commit")$sha new.row <- data.table(version=release.version, sha) print(new.row) system(paste("cd ~/R/data.table && git show", new.row$sha, "DESCRIPTION")) releases.dt <- rbind(new.row, releases.dt[, names(new.row), with=FALSE]) data.table::fwrite(releases.dt, "releases.csv") }