diff options
author | Sebastian Thiel <byronimo@gmail.com> | 2015-01-22 19:04:57 +0100 |
---|---|---|
committer | Sebastian Thiel <byronimo@gmail.com> | 2015-01-22 19:04:57 +0100 |
commit | 4df4159413a4bf30a891f21cd69202e8746c8fea (patch) | |
tree | e44615e5382204ad60ba2eaa9e90b6021b270a2a /git | |
parent | f3d91ca75500285d19c6ae2d4bf018452ad822a6 (diff) | |
download | gitpython-4df4159413a4bf30a891f21cd69202e8746c8fea.tar.gz |
Removed Git.sshkey() as it couldn't be distributed properly.0.3.6
However, I kept information on how to achieve the same thing with
`custom_environment()` in the test.
Related to #234
Diffstat (limited to 'git')
-rw-r--r-- | git/cmd.py | 21 | ||||
m--------- | git/ext/gitdb | 0 | ||||
-rwxr-xr-x | git/scripts/ssh_wrapper.sh | 2 | ||||
-rw-r--r-- | git/test/test_docs.py | 4 | ||||
-rw-r--r-- | git/test/test_git.py | 24 |
5 files changed, 11 insertions, 40 deletions
@@ -439,10 +439,6 @@ class Git(LazyMixin): super(Git, self)._set_cache_(attr) # END handle version info - def _sshkey_script_path(self): - this_dir = os.path.dirname(__file__) - return os.path.join(this_dir, 'scripts', 'ssh_wrapper.sh') - @property def working_dir(self): """:return: Git directory we are working on""" @@ -670,23 +666,6 @@ class Git(LazyMixin): finally: self.update_environment(**old_env) - @contextmanager - def sshkey(self, sshkey_file_path): - """ - A context manager to temporarily set an SSH key for all operations that - run inside it. - - ``Examples``:: - - with self.sshkey('deployment_key'): - repo.remotes.origin.fetch() - - :param sshkey_file_path: Path to a private SSH key file - """ - ssh_wrapper = self._sshkey_script_path() - with self.custom_environment(GIT_SSH_KEY_FILE=sshkey_file_path, GIT_SSH=ssh_wrapper): - yield - def transform_kwargs(self, split_single_char_options=False, **kwargs): """Transforms Python style kwargs into git command line options.""" args = list() diff --git a/git/ext/gitdb b/git/ext/gitdb -Subproject b3237e804ae313503f5479349f90066c356b154 +Subproject 9aae93ea584c8cf9d1539a60e41c5c37119401d diff --git a/git/scripts/ssh_wrapper.sh b/git/scripts/ssh_wrapper.sh deleted file mode 100755 index bc0ab024..00000000 --- a/git/scripts/ssh_wrapper.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env sh -ssh -i "$GIT_SSH_KEY_FILE" $@ diff --git a/git/test/test_docs.py b/git/test/test_docs.py index 175e728a..8dfef1c6 100644 --- a/git/test/test_docs.py +++ b/git/test/test_docs.py @@ -438,8 +438,8 @@ class Tutorials(TestBase): # ![31-test_references_and_objects] # [32-test_references_and_objects] - private_key_file = os.path.join(rw_dir, 'id_rsa_deployment_key') - with repo.git.sshkey(private_key_file): + ssh_executable = os.path.join(rw_dir, 'my_ssh_executable.sh') + with repo.git.custom_environment(GIT_SSH=ssh_executable): # Note that we don't actually make the call here, as our test-setup doesn't permit it to # succeed. # It will in your case :) diff --git a/git/test/test_git.py b/git/test/test_git.py index 18acd77e..8087bc45 100644 --- a/git/test/test_git.py +++ b/git/test/test_git.py @@ -181,23 +181,17 @@ class TestGit(TestBase): assert new_env == {'VARKEY': 'VARVALUE'} assert self.git.environment() == {} - class TestRepo(Repo): - class GitCommandWrapperType(Git): - def _sshkey_script_path(self): - path = os.path.join(rw_dir, 'failing-script.sh') - stream = open(path, 'wt') - stream.write("#!/usr/bin/env sh\n" + - "echo FOO\n") - stream.close() - os.chmod(path, 0o555) - return path - # end Git - # end Repo - - rw_repo = TestRepo.init(os.path.join(rw_dir, 'repo')) + path = os.path.join(rw_dir, 'failing-script.sh') + stream = open(path, 'wt') + stream.write("#!/usr/bin/env sh\n" + + "echo FOO\n") + stream.close() + os.chmod(path, 0o555) + + rw_repo = Repo.init(os.path.join(rw_dir, 'repo')) remote = rw_repo.create_remote('ssh-origin', "ssh://git@server/foo") - with rw_repo.git.sshkey('doesntexist.key'): + with rw_repo.git.custom_environment(GIT_SSH=path): try: remote.fetch() except GitCommandError as err: |