Actually, I fully agree. However, opm-utilities may be an exception since it contain(s) scripts and minor tools with no dependency within opm. The repo is not intended for tools compiled with opm, such tools belong in the examples folders within the repos. Right now it contains a stand-alone python script, tomorrow it may also contain an emacs plugin, putting some pressure on you vi guys ;-)
Cheers, Alf 19. nov. 2014 17:41 skrev =?ISO-8859-1?Q?J=F8rgen_Kvalsvik?= <[email protected]> følgende: On 2014-11-19 07:27, Alf Birger Rustad wrote: > Hello everybody, > > I am guilty of creating yet another repository in opm. Please provide > feed-back if you like it or not. We can rename it or even delete it. > It is called opm-utilities and currently hosts the python script > summaryplot. Right now it is afaik the only tool we have to plot > results from summary files. The author, Håvard Berland, is happy > about contributing it. > > The thought is that we have this repo for such handy utilities that > does not belong in any other repo. Thoughts are welcome. > > Cheers, > Alf Honestly, I don't think it's that good an idea to have separate repositories at all, and especially not to this extent. Let me explain: 1. Some changes actually goes across multiple repositories because of inter-module dependencies. This mandates book-keeping and patch-references between completely independent units and generates more work, more points of failure and generally makes our lives harder. 2. It makes "just building the project" harder, because of implicit dependencies and builder order and other shenanigans. Ideally we should be able to git checkout; mkdir build; cmake; make; in order to get a working binary. 3. Increased maintenance cost of the build system, cmake modules especially. A relevant example: in order to test petsc as a backend solver for the upscale-benchmark I had to: #1: implement the FindPetsc.cmake in opm-core #2: copy this FindPetsc.cmake (and other modifications) to opm-porsol (IncompFlowSolverHybrid) #3: copy this FindPetsc.cmake and other changes to opm-benchmark #4: compile & pray I didn't miss anything. This shouldn't be necessary and is a recipe for "lagging updates" in various repositories. This is what I propose instead: Remove the repositories all-together and replace with a single opm repo. We maintain the same structure, but with branches instead. The nature of git makes this basically indistinguishable from separate repos. We then implement a master "next-release" branch that we merge all the other branches into, and a series of other "module branches", e.g. opm-core, opm-upscaler, opm-porsol etc. This is much easier to deal with and, in my opinion, a superiour model. It gives the same module distinction as earlier, but it actually manages dependencies in a reasonable manner and makes inter-module changes easier. We already have previous release tags and branches, and this isn't unreasonable to have in the future, but now it will possibly even be simpler because "releases" will now be across all modules. I cannot think of any downsides to doing it this way, but I'd appreciate some discussion on this. For reference, the linux kernel, which is a much larger project than opm, only use one repo. - Jørgen _______________________________________________ Opm mailing list [email protected] http://www.opm-project.org/mailman/listinfo/opm ------------------------------------------------------------------- The information contained in this message may be CONFIDENTIAL and is intended for the addressee only. Any unauthorised use, dissemination of the information or copying of this message is prohibited. If you are not the addressee, please notify the sender immediately by return e-mail and delete this message. Thank you
_______________________________________________ Opm mailing list [email protected] http://www.opm-project.org/mailman/listinfo/opm
