# Git repositories manager Sync your repositories with single click ## Usage Create a yaml file with the given structure ```yaml # Place where your repositories should be saved workspace: ${HOME}/workspace # List with repositories, that you want to manage with GRM repositories: - src: "git@github.com:Revalus/GitRepositoryManager.git" # Required - specified repository to clone/fetch data name: GRM # Optional, Uniq - if no name is specified, the repository will be treated as a name dest: manager # Optional, Uniq - if no value is specified, name will be taken as destination tags: ['companyX', 'departmentY'] # Optional - tags to specify to limit/exclude actions on the repository ``` ### Note By default, the config file is searched for in `[HOME_DIR]./config/grm/config.yaml`. ## Commands and arguments ### Global args | argument | type | default | Description | |------------------------------|----------|--------------------------------------|------------------------------------------------------------------------| | **-c**, **--config-file** | *string* | `[HOME_DIR]./config/grm/config.yaml` | Path to configuration file, where the repositories must be specified | | **-v**, **--version** | *bool* | `false` | Display current version | | **--no-color** | *bool* | `false` | Turning off the display of output in color | | **-n** **--name** | *string* | `empty` | Limit action to the specified repository name | | **-t** **--tag** | *string* | `empty` | Limit action to the specified repository tag (may be more than one tag)| | **max-concurrent-process** | *string* | `empty` | Determine how many tasks can run simultaneously | ### Commands | command | Description | |---------|--------------------------------------------------------------------------------------------------------------------| | sync | Fetches changes from repositories or pulls a repository if one does not exist. | | status | Get repository information - what is the current branch, how many commits are above and behind it for each remote. | ## Changelog - 0.3.2 3rd party security libs update - 0.3.1 Upgrade to Go 1.19 - 0.3.0 Adding the ability to limit actions to repositories containing a given name or tags - 0.2.0 Add status command - get information about the current status in the repository - 0.1.1 Allow to use env vars in config - 0.1.0 Add sync command - allow to fetch and clone repositories