graph LR
Committer_Core_Orchestrator_["Committer (Core Orchestrator)"]
Commit_Management["Commit Management"]
Project_Initialization["Project Initialization"]
Reversion_Control["Reversion Control"]
Configuration_Access["Configuration Access"]
Commit_History_Query["Commit History Query"]
Internal_Helper_Utilities["Internal Helper Utilities"]
Committer_Core_Orchestrator_ -- "orchestrates" --> Commit_Management
Committer_Core_Orchestrator_ -- "orchestrates" --> Project_Initialization
Committer_Core_Orchestrator_ -- "orchestrates" --> Reversion_Control
Committer_Core_Orchestrator_ -- "orchestrates" --> Configuration_Access
Committer_Core_Orchestrator_ -- "orchestrates" --> Commit_History_Query
Committer_Core_Orchestrator_ -- "utilizes" --> Internal_Helper_Utilities
Commit_Management -- "depends on" --> Internal_Helper_Utilities
Project_Initialization -- "calls" --> Commit_Management
Project_Initialization -- "depends on" --> Internal_Helper_Utilities
Reversion_Control -- "delegates to" --> Internal_Helper_Utilities
Configuration_Access -- "depends on" --> Internal_Helper_Utilities
Commit_History_Query -- "depends on" --> Internal_Helper_Utilities
Internal_Helper_Utilities -- "supports" --> Commit_Management
Internal_Helper_Utilities -- "supports" --> Project_Initialization
Internal_Helper_Utilities -- "supports" --> Reversion_Control
Internal_Helper_Utilities -- "supports" --> Configuration_Access
Internal_Helper_Utilities -- "supports" --> Commit_History_Query
The fitlog version control subsystem, centered around the Committer (Core Orchestrator), provides comprehensive Git integration for experiment tracking. This core component orchestrates key functionalities such as Commit Management for capturing experiment states, Project Initialization for setting up new projects, Reversion Control for rolling back to previous versions, Configuration Access for managing Git settings, and Commit History Query for retrieving historical data. These specialized components, along with the Committer itself, extensively utilize and depend on Internal Helper Utilities for executing low-level Git commands and handling common operational logic, ensuring a robust and efficient versioning process for scientific experiments.
This is the primary class that orchestrates all Git-related operations within fitlog. It acts as the central interface for managing the version control lifecycle of experiments, ensuring reproducibility and tracking.
Related Classes/Methods:
Responsible for capturing the exact state of an experiment at a given point by performing Git commits. This is crucial for versioning experiment code, dependencies, and configurations, enabling a snapshot of the experiment environment.
Related Classes/Methods:
Handles the initial setup of Git integration for a new experiment project. This component ensures that the project directory is correctly configured for version control from the outset, often involving Git repository initialization.
Related Classes/Methods:
Provides functionalities to roll back the project's state to previous experiment versions. This is critical for debugging, re-running experiments with specific configurations, or comparing results across different iterations. It includes both general and directory-specific reverts.
Related Classes/Methods:
Manages and provides access to Git-related configurations, which may include user credentials, repository paths, or specific Git settings relevant to the experiment tracking process.
Related Classes/Methods:
Responsible for retrieving and providing various forms of commit information. This includes native Git commit details, fitlog-specific commit metadata, and concise log summaries, essential for auditing and understanding the history of experiments.
Related Classes/Methods:
fitlog.fastgit.committer.Committer:git_last_commit_infofitlog.fastgit.committer.Committer:fit_last_commit_infofitlog.fastgit.committer.Committer:short_logs
This component encapsulates common, reusable logic and low-level Git interactions that support the higher-level components. It includes tasks such as directory validation, executing Git commands, and formatting output.
Related Classes/Methods: