GitPython icon indicating copy to clipboard operation
GitPython copied to clipboard

Can't pass multiple config values to clone or clone_from

Open ninloot opened this issue 7 years ago • 4 comments

The clone command in git supports a --config parameter that can be repeated several times on the command line to set multiple config parameters. There is no why to call clone or clone_from with multiple config parameters. What I would like to do is: Repo.clone_from(url, dir, config='submodule.repo1.update=none', config='submodule.repo2.update=checkout') This can't be done because there are multiple keywords repeatedly passed to clone. You can't construct a dictionary for the same reason. One solution would be to allow for any string to be passed to to the underlying git process.

ninloot avatar Jan 14 '19 20:01 ninloot

Indeed the current API doesn't allow to do that or even to workaround this issue. There is no easy workaround, as it would entail using the Git command-wrapper directly and possibly repeating some logic. The latter is able to receive *args, so you can do things like this: git.clone(..., '--config=foo', '--config=bar', ...).

Byron avatar Jan 20 '19 09:01 Byron

I'm fairly new to Python programming but I've implemented a fix so that one can pass config values to the clone and clone_from methods. I have some cleanup to do and need to do more testing but I think it works.

ninloot avatar Jan 30 '19 21:01 ninloot

I've created a PR #836 to address this issue.

ninloot avatar Feb 04 '19 19:02 ninloot

Closed via #836.

Byron avatar Jul 06 '19 03:07 Byron