summaryrefslogtreecommitdiff
path: root/git/repo/base.py
diff options
context:
space:
mode:
authorPiotr Babij <piotr.babij@gmail.com>2017-09-30 22:00:02 +0200
committerPiotr Babij <piotr.babij@gmail.com>2017-09-30 22:00:02 +0200
commit53373c8069425af5007fb0daac54f44f9aadb288 (patch)
tree6c495c5174f52c9cfff894e6fe04bbe4b2ff4e17 /git/repo/base.py
parentddb828ecd0e28d346934fd1838a5f1c74363fba6 (diff)
downloadgitpython-53373c8069425af5007fb0daac54f44f9aadb288.tar.gz
Keeping env values passed to `clone_from`
Diffstat (limited to 'git/repo/base.py')
-rw-r--r--git/repo/base.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/git/repo/base.py b/git/repo/base.py
index d3bdc983..9ed3f714 100644
--- a/git/repo/base.py
+++ b/git/repo/base.py
@@ -931,12 +931,16 @@ class Repo(object):
if not osp.isabs(path) and git.working_dir:
path = osp.join(git._working_dir, path)
+ repo = cls(path, odbt=odbt)
+
+ # retain env values that were passed to _clone()
+ repo.git.update_environment(**git.environment())
+
# adjust remotes - there may be operating systems which use backslashes,
# These might be given as initial paths, but when handling the config file
# that contains the remote from which we were clones, git stops liking it
# as it will escape the backslashes. Hence we undo the escaping just to be
# sure
- repo = cls(path, odbt=odbt)
if repo.remotes:
with repo.remotes[0].config_writer as writer:
writer.set_value('url', Git.polish_url(repo.remotes[0].url))