Dakota Git Description

The authoritative upstream Git repositories for Dakota core, and its open source third-party libraries, are hosted on SNL-internal Gitlab repositories. They are mirrored to repositories at https://github.com/snl-dakota, which is used here to describe the overall structure. The top-level repository includes submodules for public TPLs external, pecos, and surfpack. It also has submodules for SNL-specific (private) content which provide extension points for other external sites to provide their own site-specific packages.

Dakota Repository Structure

Local clone path

Upstream URL

Notes

dakota/

https://github.com/snl-dakota/dakota

dakota/packages/external

../dakota-packages (https://github.com/snl-dakota/dakota-packages)

Public, relative to facilitate HTTPS vs. Git+SSH

dakota/packages/pecos

../pecos (https://github.com/snl-dakota/pecos)

Public, relative to facilitate HTTPS vs. Git+SSH

dakota/packages/surfpack

../surfpack (https://github.com/snl-dakota/surfpack)

Public, relative to facilitate HTTPS vs. Git+SSH

dakota/dakota-examples

../dakota-examples (https://github.com/snl-dakota/dakota-examples)

Public, relative to facilitate HTTPS vs. Git+SSH

  • dakota/packages/local/*

  • dakota/local

  • SNL Gitlab-Ex

  • SNL CEE Gitlab

  • SNL TPLs (DOT, NLPQL, NPSOL); other sites can place their copies here too

  • SNL site-specific content

Most repositories have a “devel” branch into which changes are integrated (dakota-examples only uses master and topic branches). An automated process tests changes made to the devel branches before pushing these to the more stable “master” branches.