summaryrefslogtreecommitdiff
path: root/git/cmd.py
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 /git/cmd.py
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 'git/cmd.py')
0 files changed, 0 insertions, 0 deletions