SYNOPSIS

mg init [--update-only|u] [--clean|c] [--remove-missing|--rm|-R] [FILE]

With FILE, creates a .mgconfig with the contents of FILE. FILE may be a local file, a URL or stdin (indicated with -); the script will try to get it if it can.

Any existing .mgconfig file will be overwritten.

Then, with or without FILE, does two things:

First, reads any existing .mgconfig and clones any URLs that haven't been cloned. With FILE, therefore, spawns a new copy of the project. (Caveat: --clean, --update-only.)

Second, creates or updates the .mgconfig by iterating the subdirectories and assuming they are git repos, registering any that have not been. (Caveat: --remove-missing.)

Except for the dir keys, all existing configuration will be maintained, if possible.

OPTIONS

--update-only

-u

This will update the .mgconfig but won't clone anything. If FILE was provided, this will basically just copy the file to ./.mgconfig and exit.

--clean

-c

Removes the config for any directory not present. Necessarily, this requires that we do not clone them first.

--clean is incompatible with --update-only.

--remove-repos

--rm

Removes any directory not present in the config. Note that if there is no config yet, it will be created irrespective of this option; and thus this option will have no effect in that situation.

This option will not check for changes in the repository. It will just delete it.