<div dir="ltr"><div class="gmail_quote">On Fri, Mar 25, 2011 at 00:59, Satish Balay <span dir="ltr"><<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div id=":2z6">I might be paraphrasing here - but Barry would like an 'equivalent' of<br>
a single repo view [wrt commit, pull, push, location of invocation of hg]</div></blockquote></div><br><div>Here is the commit problem:</div><div><br></div><div>If you commit from BuildSystem with PETSc not in the picture, then there is no way for the PETSc repository to automatically know that it should pull the most recent version. In order for PETSc to "know" which version of BuildSystem is associated with a given version of PETSc, it has to store the SHA1 somewhere. The implementation puts this in .hgsubstate. Of course, being a version control system, this file is versioned. When you commit to BuildSystem from inside PETSc, it updates this file and checks it into PETSc. This way, external commits to BuildSystem are not visible to PETSc and you can always "hg update" to an old version and know that the combination was actually tested (assuming the committed version was tested). If the PETSc repository did not store any .hgsubstate, there would be no way to keep track of which version of BuildSystem was used when a certain version of PETSc was tested.</div>
<div><br></div><div>This is the closest thing to a single repository view that can actually be robust if BuildSystem is ever modified externally (otherwise comparing dates and hoping that everyone has a sufficiently calibrated clock and did not make any mistakes could be viable). To really have a single repository view without "redundant" commits to both BuildSystem and PETSc, and with some useful rollback semantics, you would have to really make one repository. As I understand it, Matt is rather opposed to directly importing BuildSystem into PETSc. I don't know how many people use BuildSystem without PETSc, there is certainly no backward-compatibility so it would be awfully hard to recommend.</div>
</div>