I'm trying to do something like repo.git.commit('-m', 'test commit', author='[email protected]') but instead of the author, I want to pass the --allow-empty to send a dummy commit to the repo. but the repo.git.commit() complains about the number of arguments I'm trying to pass. This is what I have so far:
from git import Repo
import os
from dotenv import load_dotenv
load_dotenv()
full_local_path = os.getenv('full_local_path')
username = os.getenv('username')
password = os.getenv('password')
remote = f"https://{username}:{password}@github.com:myRepo/myRepo.git"
Repo.clone_from('[email protected]:myRepo/myRepo.git', full_local_path)
Repo.git.commit('-m', 'empty commit', author='xxxxxxxxx')`
1 Answer 1
You're ignoring the return value from Repo.clone_from, which is the Repo object on which you'll operate in subsequent commands. You want something like:
>>> from git import Repo
>>> r = Repo.clone_from('https://github.com/octocat/Hello-World', 'hello-world')
>>> r.git.commit('-m', 'empty commit', '--allow-empty')
'[master 8d7508e] empty commit'
answered Jan 2, 2023 at 20:32
larsks
319k50 gold badges474 silver badges483 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
lang-py