NAME

API::GitForge::Role::GitForge - role implementing generic git forge operations

VERSION

version 0.001

DESCRIPTION

Operations which one might wish to perform against any git forge. See API::GitForge.

In this documentation, example.com should be replaced with the domain at which your GitForge is hosted, e.g. salsa.debian.org.

METHODS

new(domain => $domain, access_token => $token)

Instantiate an object representing the GitForge at $domain. The access_key argument is optional; if present, it should be an API key for the forge.

ensure_repo($repo)

Create a new repo at https://example.com/$repo.

clean_repo($repo)

Create a new repo at https://example.com/$repo and turn off optional forge features.

ensure_fork($upstream)

Ensure that the current user has a fork of the repo at https://example.com/$upstream, and return URI to that fork suitable for adding as a git remote.

clean_fork($upstream)

Ensure that the current user has a fork of the repo at https://example.com/$upstream, config that fork to make it obvious it's only there for submitting change proposals, and return URI to fork suitable for adding as a git remote.

nuke_fork($upstream)

Delete the user's fork of the repo at https://example.com/$upstream.

clean_config_repo($repo)

Turn off optional forge features for repo at https://example.com/$repo.

clean_config_fork($upstream)

Configure user's fork of repo at https://example.com/$upstream to make it obvious that it's only there for submitting change proposals.

STATUS

Unstable. Interface may change.

AUTHOR

Sean Whitton <spwhitton@spwhitton.name>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2017, 2020 by Sean Whitton <spwhitton@spwhitton.name>.

This is free software, licensed under:

The GNU General Public License, Version 3, June 2007