Introduction to XGC’s Git Workflow

The XGC codes are organized in two separate, private repositories on Github under the PrincetonUniversity organization (abbreviated PU in the remainder of this document):

  • PrincetonUniversity/XGC-Devel: The current, actively developed versions of the XGC code (XGC1, XGCa, XGCs). All XGC developers use this repository as basis for their work.

  • PrincetonUniversity/XGC-Full-f: Legacy code that has been developed in past SciDAC funding periods (e.g. XGC0, the full-f version of XGC1). This legacy code will undergo only modest development and maintenance work, if any.

In addition, there are two Github repositories with support code and data:

  • PrincetonUniversity/XGC-Examples: This repository contains various small example setups for XGC, some of which are used in our continuous integration (CI) workflows. If you find problems with any of those example setups, please open an issue to let the XGC developer team know.

  • PrincetonUniversity/XGC-Analysis: This repository contains a Python package for reading and processing XGC output data along with many analysis routines.

Access to the repositories is managed through Github Teams. Members of the XGC-Full-f Users team have access to the XGC-Full-f repository. The teams XGC Developers and XGC Admins are subgroups of the XGC-Users team. Members of XGC Developers have read-access to the XGC-Devel repository, and members of XGC Admins have administrator privileges on all three XGC repositories.

Repository Structure

Organization of and workflow for the XGC repositories

Generic resources: