This issue aims to track development for the first few features until the basics of basics are developed.
[x] Add a command parser (#2)
[x] Implement a ways to version a build (make it applicable for CI/CD too) (#2)
[x] --version flag and version subcommand (#2)
[x] info/ i subcommand to print binary information (#2)
[x] Specify configuration file format and syntax (#4)
[x] Develop models and (un)marshaling from/to configuration (#5)
[x] Read and write .git/info/exclude (#5)
[x] Implement basic subcommands (#6, awaits #7)
[x] add clones a remote repository and adds the directory to .git/info/exclude
[x] rm/ remove removes a nested repository
[x] list/ls lists all nested modules and validate them
[x] sync checks the configuration file, .git/info/exclude and nested repositories and keeps them in sync (which also means correcting wrong lines in .git/info/exclude, pulling non-existing repositories, ...). There's no possibility to sync specific modules, that is a feature for future releases (it requires some sort of named modules). Currently, pre-existing submodules are chosen as source of truth. This behaviour should be settable. If you want to apply an upstream change in nestconfig.toml, delete the already existing directory and perform a sync.
[x] verify/v only verifies the configuration and if defined submodules exist in their defined state (#6)
[x] Write remaining unit tests
This version will be published manually, automated releases are planned for the feature.
This issue aims to track development for the first few features until the basics of basics are developed.
--version
flag andversion
subcommand (#2)info
/i
subcommand to print binary information (#2).git/info/exclude
(#5)add
clones a remote repository and adds the directory to.git/info/exclude
rm
/remove
removes a nested repositorylist
/ls
lists all nested modules and validate themsync
checks the configuration file,.git/info/exclude
and nested repositories and keeps them in sync (which also means correcting wrong lines in.git/info/exclude
, pulling non-existing repositories, ...). There's no possibility to sync specific modules, that is a feature for future releases (it requires some sort of named modules). Currently, pre-existing submodules are chosen as source of truth. This behaviour should be settable. If you want to apply an upstream change innestconfig.toml
, delete the already existing directory and perform a sync.verify
/v
only verifies the configuration and if defined submodules exist in their defined state (#6)This version will be published manually, automated releases are planned for the feature.