[swift-dev] [Suggestion] swift/utils/update-checkout should keep llvm/clang up-to-date

Kevin Ballard kevin at sb.org
Mon Feb 8 17:09:55 CST 2016

I was surprised to discover that swift/utils/update-checkout doesn't update LLVM/clang by default. Looking at the script, it supports a --all flag to update those (and llbuild too), but that led to the second surprise, which is that the script doesn't make any attempt to ensure it's checking out a compatible version of llvm/clang, it just runs `git fetch` and `git rebase FETCH_HEAD`.

Given that we're targeting specific stable snapshots of llvm/clang, and that we shouldn't be updating our local versions for new stable versions until it's actually been validated and local changes made if necessary, it seems to me that the script should actually know what specific versions of llvm/clang we want to be using, and should always update to those versions. It could have a separate flag to skip llvm/clang (instead of a flag to include them) for use by people who are intentionally testing newer versions, but the default behavior should update it.

-Kevin Ballard

More information about the swift-dev mailing list