<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div>The script already updates 9 repositories by default, including the various corelibs repos. I'd say it's worth updating llvm and clang too, since having an out-of-date llvm or clang can prevent swift from building. I'm not sure about llbuild, since I don't really know much about it or how often it updates, but I'm tempted to just get rid of the --all flag entirely. I'll submit a PR.<br></div>
<div>&nbsp;</div>
<div>-Kevin Ballard</div>
<div>&nbsp;</div>
<div>On Mon, Feb 8, 2016, at 05:07 PM, Jordan Rose wrote:<br></div>
<blockquote type="cite"><div>&nbsp;</div>
<div><blockquote type="cite"><div>On Feb 8, 2016, at 16:34, Michael Gottesman via swift-dev &lt;<a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a>&gt; wrote:<br></div>
<div>&nbsp;</div>
<div><blockquote style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;orphans:auto;text-align:start;text-indent:0px;text-transform:none;white-space:normal;widows:auto;word-spacing:0px;-webkit-text-stroke-width:0px;" type="cite"><div>&nbsp;</div>
<div>On Feb 8, 2016, at 3:54 PM, Kevin Ballard &lt;<a href="mailto:kevin@sb.org">kevin@sb.org</a>&gt; wrote:<br></div>
<div>&nbsp;</div>
<div>On Mon, Feb 8, 2016, at 03:33 PM, Michael Gottesman wrote:<br></div>
<blockquote type="cite"><div>&nbsp;</div>
<blockquote type="cite"><div>On Feb 8, 2016, at 3:09 PM, Kevin Ballard via swift-dev &lt;<a href="mailto:swift-dev@swift.org">swift-dev@swift.org</a>&gt; wrote:<br></div>
<div>&nbsp;</div>
<div>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`.<br></div>
</blockquote><div>&nbsp;</div>
<div>We ensure that the trunk stable clang/llvm branches are always in sync. So just rebasing head should be sufficient.<br></div>
</blockquote><div>&nbsp;</div>
<div>Ah right, the llvm/clang checkouts are to copies of llvm/clang instead of to the original.<br></div>
<div>&nbsp;</div>
<div>In that case, why doesn't the update-checkout script update llvm/clang by default? The only reason I can think of to not update it (besides for when you're intentionally targeting a non-stable version of llvm/clang because you're working on migrating it) is to avoid having to recompile llvm/clang if a backwards-compatible change happens to llvm/clang, but I assume the llvm/clang repos aren't updated very often, and when they are updated we all should probably update our checkouts of it even if we don't get compilation errors.<br></div>
</blockquote><div>&nbsp;</div>
<div><span class="font" style="font-family:Helvetica"><span class="size" style="font-size:12px">That is most likely an oversight. Pull request and assign to me?</span></span><br></div>
</div>
</blockquote></div>
<div>&nbsp;</div>
<div>IIRC Dmitri was concerned about doing more serialized network requests on slow connections.<br></div>
<div>&nbsp;</div>
<div>Jordan<br></div>
</blockquote><div>&nbsp;</div>
</body>
</html>