<div class="gmail_quote"><div class="im">On Mon, Nov 28, 2011 at 3:53 PM, Erik Schnetter <span dir="ltr"><<a href="mailto:schnetter@cct.lsu.edu" target="_blank">schnetter@cct.lsu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I like your setup where EinsteinExact "contains" another repository<br>
"thorns". I assumes that makes it much simpler to regenerate code<br>
without needing to handle spurious conflicts.<br></blockquote><div><br></div></div><div>This was the intention, although the jury is out on whether it really is an improvement. Ian and I decided to try it out as an experiment and have mixed opinions about whether it was a success. I think it does help to keep the history cleaner for the main repository and it's nice to always be able to comfortably throw away any local changes in the thorns repository (for example, you can do a 'git reset' instead of worrying about rebasing).</div>
<div><br></div><div>The downside is that because of the way git's submodules system works (see <a href="http://book.git-scm.com/5_submodules.html" target="_blank">http://book.git-scm.com/5_submodules.html</a> for a good description), it is still necessary to have a commit on the master branch whenever the thorns are regenerated. On top of this, now whenever a change is made it has to be pushed twice, once for the master branch and once for the thorns branch.</div>
<div class="im">
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Can we copy this for McLachlan? Can you briefly describe how to set<br>
this up, and how we would have to extend GetComponents (if at all) to<br>
make this work?</blockquote><div><br></div></div><div>This is certainly possible and very easy to do. It essentially amounts to creating a separate repository for the generated thorns and adding this as a submodule to the main repository. GetComponents then needs to clone the repository with the --recursive option. Also, when pulling in new changes, it's important to remember to run 'git submodule update' after pulling.</div>
</div><br>