[petsc-dev] subrepositories

Jed Brown jed at 59A2.org
Thu Mar 24 17:11:31 CDT 2011


On Fri, Mar 25, 2011 at 00:59, Satish Balay <balay at mcs.anl.gov> wrote:

> I might be paraphrasing here - but Barry would like an 'equivalent' of
> a single repo view [wrt commit, pull, push, location of invocation of hg]
>

Here is the commit problem:

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.

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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110325/8d664571/attachment.html>


More information about the petsc-dev mailing list