Template Git Remotes¶
Scaraplate assumes that the template dir is a git repo.
Strategies receive a scaraplate.template.TemplateMeta instance
which contains URLs to the template’s project and the HEAD git commit
on a git remote’s web interface (such as GitHub). These URLs might be
rendered in the target files by the strategies.
Scaraplate has built-in support for some popular git remotes. The remote is attempted to be detected automatically, but if that fails, it should be specified manually.
Sample scaraplate.yaml excerpt:
git_remote_type: scaraplate.gitremotes.GitHub
-
class
scaraplate.template.TemplateMeta¶ Bases:
tupleMetadata of the template’s git repo status.
-
commit_hash¶ Alias for field number 1
-
commit_url¶ Alias for field number 2
-
git_project_url¶ Alias for field number 0
-
head_ref¶ Alias for field number 4
-
is_git_dirty¶ Alias for field number 3
-
-
class
scaraplate.gitremotes.GitRemote(remote: str)¶ Bases:
abc.ABCBase class for a git remote implementation, which generates http URLs from a git remote (either ssh of http) and a commit hash.
-
__init__(remote: str) → None¶ Init the git remote.
Parameters: remote – A git remote, either ssh or http(s).
-
commit_url(commit_hash: str) → str¶ Return a commit URL at the given git remote.
Parameters: commit_hash – Git commit hash.
-
project_url() → str¶ Return a project URL at the given git remote.
-
Built-in Git Remotes¶
-
class
scaraplate.gitremotes.GitLab(remote: str)¶ Bases:
scaraplate.gitremotes.GitRemoteGitLab git remote implementation.
-
class
scaraplate.gitremotes.GitHub(remote: str)¶ Bases:
scaraplate.gitremotes.GitRemoteGitHub git remote implementation.
-
class
scaraplate.gitremotes.BitBucket(remote: str)¶ Bases:
scaraplate.gitremotes.GitRemoteBitBucket git remote implementation.