-
-
Notifications
You must be signed in to change notification settings - Fork 954
-
Hi!
I want to override system wide and global git configs for all commands i'm running in this repo in order to set credential.helper
to nothing (dont cache or use system store to save my passwords)
This can be done with git like so:
git -c credential.helper="" fetch
but, if possible, i'd like to use gitpythons Repo
to fetch my do my fetching, but i can't find a way to pass the -c
flag to git itself and not git-fetch. E.g. doing the following doesn't work because the flag is passed to git-fetch:
repo = Repo.init(path) remote = repo.create_head(...) ... remote.fetch(ref, c=\credential.helper=""')
because that essentially does:
git fetch -c credential.helper=""
but git-fetch
doesn't know about any -c
flag, only git
does.
Is this even possible with gitpython? Thanks!
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 4 comments
-
I see Repo.clone
has multi_options
, but i want to use these set config-env for git-fetch
too
Beta Was this translation helpful? Give feedback.
All reactions
-
A colleague suggested set_persistent_git_options
and it does indeed seem like what i want, but it does not work with submodules :-/
e.g.
repo = Repo(..) remote = repo.create_head(...) remote.fetch(ref) # OK my `-c core.askpass=...` works here ... for submodule in repo.submodules: submodule.update(...) # not OK
is it clashing with clone_multi_options
perhpas?
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks for reporting and sharing the workaround.
Maybe submodules have their own copy of the git
command which is why it isn't present there? If so, is there a way to use set_persistent_git_options
on each submodule?
Of course, this might be a genuine bug, especially related to submodules everything is possible.
Beta Was this translation helpful? Give feedback.
All reactions
-
Thanks for the quick response!
Yeah this is what i thought as well, that submodules dont share the same git
instance with the repo.
I didn't find a way to call set_persistent_git_options
for a submodule, alas i didn't dig too deep. For now i reverted to using git.execute
and passing the flags myself, but id rather use the Repo
construct if at all possible 😃
Beta Was this translation helpful? Give feedback.