Background
To make the Versioned Storages (#1805) available from inside the running job - will need some service, running inside a container.
This service shall the user to perform common Git operations to:
Clone the Versioned Storage
Commit/Push the changes to the Versioned Storage
Resolve conflicts, if any
Approach
A service shall be implemented as a part of the FSBrowser
Clone operation shall accept the Versioned Storage ID and clone it (latest or a specific commit) into a pre-configured location (environment variable -> System Parameter)
List shall allow to get all the Versioned Storages, cloned into the job
Commit operation shall accept a commit message plus a Versioned Storage ID and perform pull, commit and push to remote
If any conflict is detected - it shall be reported to the client with the conflicting files diffs
As a result - client shall send back a resolved/fixed version of the files, which shall be committed and pushed
At any point - client shall be able to request the diffs for a selected cloned storage
GUI shall expose these operations for the active (RUNNING) jobs: in the Dashbord and Run Details forms. E.g.:
Background To make the
Versioned Storages
(#1805) available from inside the running job - will need some service, running inside a container. This service shall the user to perform common Git operations to:Approach
Clone
operation shall accept the Versioned Storage ID and clone it (latest or a specific commit) into a pre-configured location (environment variable -> System Parameter)List
shall allow to get all the Versioned Storages, cloned into the jobCommit
operation shall accept a commit message plus a Versioned Storage ID and perform pull, commit and push to remote