1
0
Fork
You've already forked git-orchestrator
0
A simple programm to setup a projects folder based on a list of git repostiories and git sub-pathconfigs written in Rust.
  • Rust 100%
2024年07月24日 20:16:19 +02:00
src get remove to work 2024年07月24日 20:16:19 +02:00
.gitignore feat: project directory creation. 2024年07月24日 01:44:15 +02:00
Cargo.lock Some changes 2024年07月24日 18:33:59 +02:00
Cargo.toml Some changes 2024年07月24日 18:33:59 +02:00
LICENSE add: license 2024年07月24日 12:14:15 +02:00
README.md add: README 2024年07月24日 12:11:35 +02:00

Git Orchestrator

A simple programm to setup a projects folder based on a list of git repostiories and git sub-pathconfigs written in Rust.

Installing / Building

Requirements

For the programm to work it requires that you have git installed and that your file system uses utf-8 compatible paths

Building and Installing

You can build the programm with

cargo build --release 

and then install it with

cargo install

Usage

git-orchestrator -v -c config.toml create

This will setup the project directory based on the config.toml in the current working directory whilst logging verbosly.

The config uses the following schema:

gitconfig = String # optional key of contents of the top-level git
 # config file in the prefix-directory
modify_global = bool # optional (default: false): if this programm should
 # tie in the gitconfigs into the global gitconfig, so
 # that when you enter the directory, the settings will
 # be applied
global_out = path # optional: a file in which this programm should
 # include the changes that would be made to the
 # global config. See above entry.
[[pulls]] # in the top level directory
url = "urlstring" # The url of the repository to clone
bare = bool # optional (default: false): if it should be a
 # bare clone.
dir_name = directory_name # optional: the name of the directory in which
 # the repostiory should be cloned.
[[pulls]] # other pull in the top level directory
url = "urlstring" # The url of the repository to clone
bare = bool # optional (default: false): if it should be a
 # bare clone.
dir_name = directory_name # optional: the name of the directory in which
 # the repostiory should be cloned.
[subpath."path"]
gitconfig = string # optional: gitconfig for subpath.
[[subpath."path".pulls]]
url = "urlstring" # The url of the repository to clone
bare = bool # optional (default: false): if it should be a
 # bare clone.
dir_name = directory_name # optional: the name of the directory in which
 # the repostiory should be cloned.
[[subpath."path".pulls]] # another pull
url = "urlstring" # The url of the repository to clone
bare = bool # optional (default: false): if it should be a
 # bare clone.
dir_name = directory_name # optional: the name of the directory in which
 # the repostiory should be cloned.
...