Implement a VCS Integration feature to clone and update source code used for service containers.
Details
The VCS Integration will:
be based on a wrapper around git (or a library supporting git?).
introduce a new Seabreeze command code (alias: git) to handle VCS operations.
Subcommands
clone: Wrapper for git clone with an opinionated target path ({project_path}/src/{repo_basename}).
pull: Wrapper for git pull, operating within the src/... directory.
sync-config: Sync recent changes in the provided docker-compose.yml and .env templates from the upstream (cloned repo) to the local equivalent in the project root directory.
update: Basically a convenience command combining the pull and sync-config subcommands. (Maybe other additional features?)
Simplified VCS Operations: Provides easy-to-use commands for common git operations, reducing the need for manual git command usage.
Consistent Directory Structure: Ensures a standardized directory structure for cloned repositories within Seabreeze projects.
Automated Configuration Sync: Facilitates synchronization of configuration files, ensuring that local setups are always up-to-date with upstream changes.
Implement a VCS Integration feature to clone and update source code used for service containers.
Details
The VCS Integration will:
git
(or a library supporting git?).code
(alias:git
) to handle VCS operations.Subcommands
clone
: Wrapper forgit clone
with an opinionated target path ({project_path}/src/{repo_basename}
).pull
: Wrapper forgit pull
, operating within thesrc/...
directory.sync-config
: Sync recent changes in the provideddocker-compose.yml
and.env
templates from the upstream (cloned repo) to the local equivalent in the project root directory.update
: Basically a convenience command combining thepull
andsync-config
subcommands. (Maybe other additional features?)Example Usage
seabreeze code clone <project-name> https://github.com/user/repo.git
seabreeze code pull <project-name>
seabreeze code sync-config <project-name>
seabreeze code update <project-name>
Benefits
Libraries
Tasks
clone
commandpull
commandsync-config
commandupdate
command