Usage

retrocookie

Retrocookie imports commits into Cookiecutter templates.

The path to the source repository is passed as a positional argument. This should be an instance of the Cookiecutter template with a .cookiecutter.json file.

Additional positional arguments are the commits to be imported. See gitrevisions(7) for a list of ways to spell commits and commit ranges. These arguments are interpreted in the same way as git-cherry-pick(1) does. If no commits are specified, the HEAD commit is imported.

Specifying –branch is equivalent to passing master..<branch> as a positional argument. Use –upstream to specify a different upstream branch. Use –create to create the same branch in the target repository.

By default, commits are cherry-picked onto the current branch. Use –create-branch to specify a different branch, which must not exist yet. As a shorthand, –create is equivalent to passing –create-branch with the same argument as –branch.

Commits are rewritten in the following way:

- Files are moved to the template directory
- Tokens with special meaning in Jinja are escaped
- Values from .cookiecutter.json are replaced by templating tags
with the corresponding variable name

Use the –include-variable and –exclude-variable options to include or exclude specific variables from .cookiecutter.json.

retrocookie [OPTIONS] REPOSITORY [COMMITS]...

Options

-b, --branch <BRANCH>

Remote branch to cherry-pick

--upstream <REF>

Remote upstream branch

-c, --create

Create a local branch with the same name as –branch

--create-branch <BRANCH>

Create a local branch for the imported commits

--include-variable <VAR>

Only rewrite these Cookiecutter variables

--exclude-variable <VAR>

Do not rewrite these Cookiecutter variables

-C, --directory <DIR>

Path to the repository [default: working directory]

--version

Show the version and exit.

Arguments

REPOSITORY

Required argument

COMMITS

Optional argument(s)