[petsc-dev] Updating MOAB version during download
Barry Smith
bsmith at mcs.anl.gov
Tue Jun 17 11:12:37 CDT 2014
On Jun 16, 2014, at 11:20 PM, Vijay S. Mahadevan <vijay.m at gmail.com> wrote:
>> Do it but only in the feature-dmmoab branch. Not any other PETSc branch.
>
> Understood and done.
>
>> No it cannot be the gitcommit on PETSc/master! Because PETSc/master may lag behind feature-dmmoab branch and thus may not work with the latest
>
> Well my reasoning was, eventually, when feature-dmmoab gets merged
> onto PETSc/master, it would start tracking MOAB/petsc branch (wasn't
> talking about right away). Yup the commit hash updates will need
> manual tweaking during the merge.
>
>> Jed wants the commit hash because otherwise you cannot map each PETSc commit to a single moab commit. Don't worry about this until we figure out how we are going to handle things on the PETSc side.
>
> I actually have
>
> + self.gitcommit = 'petsc' # MOAB/petsc branch
>
> So instead should I update that to the latest hash before pushing an
> update to feature-dmmoab ?
No. Just track the petsc branch
>
> I commented out the tar file download stuff since I didn't know if we
> were on consensus regarding the release tar files (equivalent to tags)
> or nightly (equivalent to master HEAD). Perhaps, if we want
> consistency, the tar file should provide MOAB/petsc branch HEAD ?
>
>> Currently Buildsystem does not handle updates in the external packages. The current model is to do
>> rm -rf $PETSC_ARCH and then reconfigure and have all updated packages built. This isn't something you can fix but is instead PETSc/Buildsystem will need to resolve someday.
>
> It would be good to document this somewhere explicitly to specify how
> to keep up to date with the dependencies using reconfigure. I was
> originally under the impression that the updates do get pulled in if
> there are newer changes upstream during reconfigure. Is there
> something in the FAQ section ?
>
> Vijay
>
> On Mon, Jun 16, 2014 at 10:49 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>> On Jun 16, 2014, at 10:36 PM, Vijay S. Mahadevan <vijay.m at gmail.com> wrote:
>>
>>>> 2. It assumes that there will be sufficient communication among other
>>>> MOAB developers so that they know the branch has hidden connections with
>>>> a different project and thus must be treated specially.
>>>
>>> I created a "petsc" branch in MOAB from the current master and can
>>> update moab.py to track this by default.
>>
>> Do it but only in the feature-dmmoab branch. Not any other PETSc branch.
>>
>>> This branch will be rebased
>>> against MOAB/master when we do releases, feature additions, bug fixes
>>> etc relevant to all DMMoab functionality. This should also be the
>>> default gitcommit branch in PETSc/master.
>>
>> No it cannot be the gitcommit on PETSc/master! Because PETSc/master may lag behind feature-dmmoab branch and thus may not work with the latest Moab. When I merge feature-dmmmoab into next and master I need to manually set the commit hash in moab.py for those branches to the current petsc branch head. (The manual part I can easily forget that I want to automate but Jed wants me to have perfect memory).
>>
>>
>>>
>>> If the API is broken due to upstream changes, appropriate changes will
>>> be made in PETSc feature branches (linked with MOAB/petsc branch) to
>>> keep it up to date. Then anyone working on both these projects on
>>> different feature branches can update appropriate branches in each
>>> repo and get them matured together to get them into PETSc/master and
>>> MOAB/petsc. Is this a reasonable workflow ?
>>>
>>> There is the however a conditional here that MOAB/petsc branch needs
>>> to be guaranteed to be stable. This should be possible with the
>>> requirement that anyone rebasing this branch against master needs to
>>> confirm that all MOAB and PETSc DMMoab tests pass before updating the
>>> remote. Do we still then need a commit hash in moab.py ?
>>
>> Jed wants the commit hash because otherwise you cannot map each PETSc commit to a single moab commit. Don't worry about this until we figure out how we are going to handle things on the PETSc side.
>>
>>>
>>> Also is there a way to instruct PETSc users to reconfigure when there
>>> are upstream changes (thereby pulling the latest commit in MOAB/petsc
>>> branch, reconfiguring, recompiling etc) as a default way to develop on
>>> the interface to both the packages in general ? If not, their repo in
>>> arch/externalpackages configured with --download-moab could become
>>> stale. Initiating git fetch and git pull on the petsc branch should
>>> accomplish this but I'm not sure if that's how you would want to go
>>> about it in the BuildSystem.
>>
>> Currently Buildsystem does not handle updates in the external packages. The current model is to do
>> rm -rf $PETSC_ARCH and then reconfigure and have all updated packages built. This isn't something you can fix but is instead PETSc/Buildsystem will need to resolve someday.
>>
>> Let me know when to pull the latest feature-dmmoab, test it and merge it into next.
>>
>>
>> Barry
>>
>>
>>
>>>
>>> Vijay
>>>
>>> On Mon, Jun 16, 2014 at 9:50 PM, Jed Brown <jed at jedbrown.org> wrote:
>>>> Barry Smith <bsmith at mcs.anl.gov> writes:
>>>>> If a pull request is made obviously the moab branch needs to be
>>>>> converted to a commit-hash for that review, then reviewers are
>>>>> looking at a stable "other package". Or one just needs to freeze
>>>>> both branches until the review is complete.
>>>>
>>>> You can't retroactively modify the petsc commits to use a moab hash.
>>>> You have to use the moab hash all along.
>>>>
>>>>> If someone is pushing new commits on the moab branch associated
>>>>> with the petsc branch they are obligated to test them against
>>>>> PETSc so if I come in later and access the PETSc branch and the
>>>>> moab branch they will work together. One could not just pick an
>>>>> arbitrary moab branch (that people may be changing willy-nilly)
>>>>> and say my PETSc branch is tracking that rather it is a moab
>>>>> branch specifically associated with the PETSc branch. For example
>>>>> petsc-feature-dmmoab could be a branch in moab that is tracked by
>>>>> the feature-dmmoab branch in PETSc.
>>>>
>>>> 1. This is special-cased for someone that simultaneously owns branches in
>>>> both projects.
>>>>
>>>> 2. It assumes that there will be sufficient communication among other
>>>> MOAB developers so that they know the branch has hidden connections with
>>>> a different project and thus must be treated specially.
>>>>
>>>>> Note that all this is the same regardless of whether one manually
>>>>> git clone ; check checkout the moab branch or used
>>>>> --download-moab. You just seem to have it in your head that Barry
>>>>> should be doing a lot more git clone xxx himself rather than letting
>>>>> --download-xxx do it for him.
>>>>
>>>> I think you should be doing "git checkout -b barry/moab-branch" and
>>>> dealing with getting it upstream.
>>
More information about the petsc-dev
mailing list