genproductions icon indicating copy to clipboard operation
genproductions copied to clipboard

Separate cards and scripts repositories

Open AndreasAlbert opened this issue 6 years ago • 5 comments

Proposal: put cards into repository A put scripts into repository B

@kdlong suggested using git submodule so that we can keep the folder structure. Advantage: Can keep cards in genproduction subdirectory, so everything looks the same as it is now. Disadvantage: We have shower fragments and cards for different generators in different folders anyway, so we either have to use multiple submodules or change our directory structure to have all cards under a common root path.

Any downsides to this?

AndreasAlbert avatar May 14 '18 12:05 AndreasAlbert

Step 1 would be to collect all cards in a central location in the repository. I'd propose to just create a new genproduction/cards directory, create subfolders in it for each of the generators and move the cards there. To make it maximally easy, I'd also move the python fragments folder into cards. A shell script that does this is here and the resulting folder structure would look like this:

.
├── bin
│   ├── FPMC
│   ├── GenValidation
│   ├── JHUGen
│   ├── MadGraph5_aMCatNLO
│   ├── MCFM
│   ├── Phantom
│   ├── Powheg
│   ├── Sherpa
│   ├── Starlight
│   └── utils
├── cards
│   ├── Alpgen
│   ├── BlackMax
│   ├── CalcHEP
│   ├── Charybdis
│   ├── CompHEP
│   ├── FPMC
│   ├── GenValidation
│   ├── JHUGen
│   ├── MadGraph4
│   ├── MadGraph5_aMCatNLO
│   ├── MCFM
│   ├── Phantom
│   ├── python
│   ├── QBH
│   └── Sherpa
└── test
    └── calculateXSectionAndFilterEfficiency

Step 2 is to pack up the new cards directory in a submodule.

AndreasAlbert avatar May 16 '18 13:05 AndreasAlbert

Do we care about the commit history for the cards? If so, step 0 would be to run git filter-branch to extract the relevant part of the history.

AndreasAlbert avatar May 16 '18 13:05 AndreasAlbert

I would say yes we care about the card history

perrozzi avatar May 19 '18 05:05 perrozzi

Do you have a branch where this is in progress already Andreas?

kdlong avatar Jul 23 '18 11:07 kdlong

@kdlong Yes, my clone of genproductions is here: https://github.com/AndreasAlbert/genprod2, the cards repo is here: https://github.com/AndreasAlbert/genprodCards

The cards repository is contained in the first repo as a submodule under the cards folder. The bin and test folders still work as before. python is now a subdirectory of cards (just have a look at the repos on github, I think it's quite self explanatory).

If you just do git clone [email protected]:AndreasAlbert/genprod2.git, you get the scripts repository only. If you do git clone --recurse-submodules [email protected]:AndreasAlbert/genprod2.git, you automatically check out both repositories, which is the equivalent of our current setup (modulo separate histories for both repos + slightly changed folder structure)

AndreasAlbert avatar Jul 26 '18 08:07 AndreasAlbert