cctbx / cctbx_project

Computational Crystallography Toolbox
https://cci.lbl.gov/docs/cctbx
Other
222 stars 117 forks source link

Explore requirements for removing dxtbx from cctbx_project to top_level i.e. https://github.com/cctbx/dxtbx #260

Closed graeme-winter closed 5 years ago

graeme-winter commented 5 years ago

Following conversation this afternoon (morning Pacific time) need to work out practicalities for moving dxtbx to it's own repo but ensuring no circular dependencies etc (though strictly this is orthogonal)

At minimum

A bit of looking around suggests using git submodules for this so cctbx_project can keep references to specific commits which get checked out when you get cctbx_project, but can be replaced for active development.

Motivation:

Discussed with @bkpoon @nksauter @dagewa Paul Adams, Gwyndaf Evans

graeme-winter commented 5 years ago

@nksauter identifies a clear cost of this namely:

"Many of our projects--including simtbx and xfel---are heavily dependent on dxtbx. This seems like a needless administrative change that will simply increase the number of steps a developer needs to perform work. It will increase the difficulty of code bisection, to move the code base back and forward in time to trouble shoot issues, which is already difficult enough."

graeme-winter commented 5 years ago

Info: https://git-scm.com/book/en/v2/Git-Tools-Submodules

"It often happens that while working on one project, you need to use another project from within it. Perhaps it’s a library that a third party developed or that you’re developing separately and using in multiple parent projects. A common issue arises in these scenarios: you want to be able to treat the two projects as separate yet still be able to use one from within the other."

This sounds like the challenge we are encountering here.