summaryrefslogtreecommitdiff
path: root/doc/source/reference.rst
diff options
context:
space:
mode:
authorMichael Mulich <michael.mulich@gmail.com>2021-08-17 12:57:53 -0700
committerSebastian Thiel <sebastian.thiel@icloud.com>2021-08-18 09:10:38 +0800
commit1207747121a79a0cd14426e595f5fe72ccc1d51a (patch)
tree9e486d263e52c64076fa98c809821593ce8d3f7f /doc/source/reference.rst
parentbd0fa882f6c8fd2ab907e9f5988f32f466d75bdf (diff)
downloadgitpython-1207747121a79a0cd14426e595f5fe72ccc1d51a.tar.gz
Use the Git class type definition within Repo classmethods
Allow the GitCommandWrapperType definition to be used within the Repo classmethods. This change follows the intended purpose as stated in the code, "Subclasses may easily bring in their own custom types by placing a constructor or type here." The usecase that prompted this change has to do with `GIT_SSH_COMMAND`. The goal is to setup a custom `Git` class with knowledge of the value, something like as follows ```python from git import Git as BaseGit, Repo as BaseRepo class Git(BaseGit): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # For example, assign the SSH command using the current flask # app's configured setting. self.update_environment(GIT_SSH_COMMAND=current_app.config['GIT_SSH_COMMAND']) class Repo(BaseRepo): GitCommandWrapperType = _Git ``` With this change, the above example will allow the developer to use `Repo.clone_from(...)` with the indended outcome. Otherwise the developer will have two differing result when using `Repo(...)` vs `Repo.clone_from(...)`.
Diffstat (limited to 'doc/source/reference.rst')
0 files changed, 0 insertions, 0 deletions