anderkve / gledeli

2 stars 0 forks source link

refactoring the repository: gambit_np & GLEDELi #21

Closed fzeiser closed 3 years ago

fzeiser commented 4 years ago

As discussed via mail, I want to refactor this repository to two parts:

I think the most convenient version is that I extract the gledeli subfolder using git-filter-repo, and replace this repository there by the files from GLEDELi. Then we rename this repo to GLEDELi [-- this way we keep the issues]

In addition, we can set up a new repository, gambit_np[new]; which can be a for of gambit. The nuclear specific parts can be a new branch that is rebased on top of gambit/master. We can then include GLEDELi as a submodule to gambit_np.

When making gambit_np, we can ditch the modules (BITs) we don't need, and/or have an additional script that helps us having to download & compile less data.

I will of course keep a backup of this repository just in case

fzeiser commented 4 years ago

Can we make GLEDELi a public repo? I don't have any problem with this and as it is not connected to gambit itself, that will not be a (potential) problem any longer.

fzeiser commented 4 years ago

Rewriting the history with git-filter-repo will of course change the old SHA's but i) we don't have a long history yet ii) git-filter-repo conveniently rewrites commit messages, if we have an older SHA in a commit message (like: This fixed bug introduced in ea30b8ce65998b5b5a1530d49eded6053e58fcd7, would be rewritten to the new SHA). This does not work for the issues -- but then again, we don't have so many super important issues listed here, it's not numpy ;P.

fzeiser commented 4 years ago

I'll strip the files and upload it here, presumably on Monday.

anderkve commented 4 years ago

Great, thanks!

fzeiser commented 4 years ago

I force pushed the updated repository now, so you can rename the repository now. In case you need anything from the old gambit_np files, I created a fork of the repo before the changes.

In the new gambit_np we can use this repository here as a submodule. This will be the easiest solution I think (instead of adding it to cmake and download via cmake).

fzeiser commented 4 years ago

I think it would be easiest if you could rename this repo to gledeli and create a new gambit_np repository. (The renames repository will contain the issues we have created, although git allows to transfer them now).

In the new gambit_np repo, we have gledeli as a submodule.

If you want to, I could also take the original gambit_np, where gledeli was inbaked, and extract all files/changes except for those in the gledeli folder. Then I would upload them and add gledeli as a submodule

fzeiser commented 4 years ago

We should then also rename the OMBit to NuclearBit or so

anderkve commented 4 years ago

I've just renamed this repo to "GLEDELi".

Will now create a new repo "gambit_np" from a fork of the gambit_1.5 repo at https://github.com/GambitBSM/gambit_1.5

anderkve commented 4 years ago

Changed my mind and went with all-lowercase "gledeli" instead. :P

anderkve commented 4 years ago

OK, we now have a new (public) gambit_np repo at https://github.com/anderkve/gambit_np/ , which is a fork of the public GAMBIT 1.5.0 repo.

I'll start setting up our new NuclearBit in that repo.

anderkve commented 4 years ago

Can we make GLEDELi a public repo? I don't have any problem with this and as it is not connected to gambit itself, that will not be a (potential) problem any longer.

Yep, shouldn't be any problem. Will make it public now.

fzeiser commented 4 years ago

Working on including gledeli as a submodule. But sofar, it just takes for ages to download GAMBIT. I think it was a design mistake that GAMBIT doesn't include the BITS as submodules, but keeps it all in a very large repo. At least it can be inconvenient. I guess I should have a look into sparse-checkout.

fzeiser commented 4 years ago

Added it now. There is a slight change in the directory structure, see comment here https://github.com/anderkve/gambit_np/commit/819f686fff6f26d4cdf5cda82c4c039be059cb9a

anderkve commented 4 years ago

Working on including gledeli as a submodule. But sofar, it just takes for ages to download GAMBIT. I think it was a design mistake that GAMBIT doesn't include the BITS as submodules, but keeps it all in a very large repo.

Nah, I disagree. :) I think submodules are intended for codes that are more clearly independent than the various Bits of GAMBIT. There is a lot of development and physics work in GAMBIT that effectively involves making updates across many Bits, and that would be quite painful to work with as separate git repos. Also, cloning the GAMBIT repo is a one-off thing -- doesn't really matter if it takes a few minutes. (I just tested cloning the repo from scratch -- it's a ~500 MB download and for me takes ~30 seconds.) And those who simply want to use GAMBIT as is can always just download the tarball with the source that we provide, which is only 14 MB.

Anyways, thanks for adding it!

fzeiser commented 4 years ago

There is a lot of development and physics work in GAMBIT that effectively involves making updates across many Bits

Ok, that's a very good point. I'll try to see about the sparse-checkout. It seems to be what I'd like for such a situation if I ever set up a testing suite.