<div dir="ltr"><div>I found that git worktree works rather well, even with submodules (well, mostly. Even if it doesn't for some reason, you can still update and init the submodules manually, losing sharing in the process).</div><div>See <a href="https://stackoverflow.com/a/31872051">https://stackoverflow.com/a/31872051</a>, in particular the GitHub links to `wtas` alias.</div><div><br></div><div>I mostly do this:</div><div><br></div><div>$ cd ~/code/hs/ghc</div><div>$ cd pristine</div><div>$ git wtas ../pmcheck</div><div><br></div><div>and mostly just hack away. From time to time I seem to have issues because of confused submodule references, but as I said above doing a `git submodule update --init --recursive` fixes that. Cloning the root GHC checkout is the most time-consuming step, after all.</div><div><br></div><div>Also I'm currently in the rather comfortable situation of having an 8 core azure VM just for GHC dev, which is pretty amazing. Doing the same as Ben here: Having a tmux open with one (or more) tab per checkout I'm working on in parallel. VSCode is my editor of choice and seamlessly picks up any SSH connection I throw at it. Can highly recommend that when you're on a rather weak machine like a laptop or convertible.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Mi., 24. Juli 2019 um 14:03 Uhr schrieb Richard Eisenberg <<a href="mailto:rae@richarde.dev">rae@richarde.dev</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="overflow-wrap: break-word;"><br><div><br><blockquote type="cite"><div>On Jul 23, 2019, at 10:48 PM, Daniel Gröber <<a href="mailto:dxld@darkboxed.org" target="_blank">dxld@darkboxed.org</a>> wrote:</div><br class="gmail-m_126725840002465265Apple-interchange-newline"><div><span style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">I don't think you ever mentioned -- are you already using `git</span><br style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">worktree` to get multiple source checkouts or are you working off a</span><br style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">single build tree? I find using it essential to reducing context</span><br style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="font-family:Menlo-Regular;font-size:11px;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none;float:none;display:inline">switching overhead.</span></div></blockquote></div><br><div>This is a good point. No, I'm not currently. Some post I read (actually, I think the manpage) said that `git worktree` and submodules don't mix, so I got scared off. Regardless, I don't think worktree will solve my problem exactly. It eliminates the annoyance of shuttling commits from one checkout to another, but that's not really a pain point for me. (Yes, it's a small annoyance, but I hit it only rarely, and it's quick to sort out.) Perhaps I'm missing something though about worktree that will allow more, e.g., sharing of build products. Am I?</div><div><br></div><div>Thanks!</div><div>Richard</div></div>_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>