[petsc-dev] Updating MOAB version during download

Barry Smith bsmith at mcs.anl.gov
Mon Jun 16 21:19:12 CDT 2014


On Jun 16, 2014, at 9:07 PM, Jed Brown <jed at jedbrown.org> wrote:

> Barry Smith <bsmith at mcs.anl.gov> writes:
> 
>>> If you find a bug, you have to fix it within the workflow of THAT
>>> project.  If they use a workflow similar to PETSc, then a good option
>>> would be to start a new branch from that critical commit and ask for it
>>> to be merged.
>> 
>>   Sure. and If —download-moab had gotten me into the right branch I
>>   would branch off my fix branch from that, test it with my PETSc
>>   stuff and then make a pull request.
> 
> Branching from the bad commit is arguably better because it means people
> can get *only* your fix without the other random crap in the branch.
> That fix should be merged according to the workflow of that project.
> 
>>> --download-package is a feature for USING a third-party package, not a
>>> framework for CONTRIBUTING to that project.
>> 
>>   Sure it is! Why the fuck should I be manually download/installing
>>   packages when a tool can do it for me? What are computers for if it
>>   is not to remove the manual process that can be automated.
>> 
>>   When I am inside a PETSc branch and I say —download-xxx I am saying
>>   given me the appropriate beasty that I can work with inside this
>>   branch AND "WORK WITH" MEANS DO AS MUCH AS I COULD HAVE IF I HAD
>>   MANUALLY DOWNLOADED IT MYSELF. I don’t want —download-xxx to mean
>>   download a crippled version of the stuff, I want it to mean give me
>>   everything I would get if I downloaded it myself and manually set
>>   the branch etc.
> 
> This is way more involved and error-prone.  Git submodule and hg subrepo
> aren't really designed for this use case (they work better when the
> package is developed separately and you occasionally update) and I don't
> think it's something we should try to do.

   I never suggested using git submodule or anything like that.

>  Merging different
> modifications of the remote repository is one major problem.  Also, so
> long as the build systems are decoupled, it's even more error-prone.
> 
>>> For you, what is wrong with updating gitcommit when you change an
>>> interface in MOAB?  If other people are also developing MOAB, they
>>> should have their own clone and "git pull" each time, not use
>>> --download-moab.
>> 
>>  1) I will of course forget to update gitcommit
>> 
>>  2) I don’t even want to freaking know where moab is hosted. If I
>>  want to run some tests on a linux machine (because Apple sucks and
>>  doesn’t have valgrind) you think I want to manually figure out where
>>  moab is hosted, use some git clone command to download it, manually
>>  checkout the correct branch and then tell PETSc where I downloaded
>>  it when —download-moan can do that for me?  Why should I do all that
>>  (which I won’t do) when —download-moab can take care of it for me?
> 
> If you want to contribute to moab, you damn well better know where they
> are hosted and how they accept contributions.

   But when I get my first dump of stuff from moab I don’t need to know any of that stuff (i.e. when I do —download-moab) and when I later decide I want to contribute a fix why should I have to go back and manually do a new clone and checkout etc. I just want to use the one I already got when I did —download-xxx

   I am confused because I had assumed this was why you added git support to —download-xxx. Now you are telling me that I should ignore the fact that —download-xxx gives me a git repository and I should go and get it manually with git?

> 
>>   You are very much hung up on —download-xxx is for users. As I said
>>   before I wrote —download-xxx for developers (me) and want to
>>   continue to extend it to help developers (including me).
> 
> For developers of PETSc, sure, but for developers of the upstream
> package?  Now PETSc is in the business of managing contributions to
> other projects?

   Where do you get that from? In no way am I suggesting that PETSc is in the business of managing contributions to other packages. I am only saying that I want —download-xxx to give me the same stuff as if I manually went through the process so I never need manually go through the process. What is so wrong with that?

  Barry







More information about the petsc-dev mailing list