Gitpython: синтаксис команды для git commitPython

Программы на Python
Ответить
Anonymous
 Gitpython: синтаксис команды для git commit

Сообщение Anonymous »

с помощью модуля gitpython я пишу скрипт Python для проверки git diff --> git add всех измененных файлов один за другим. В конце я хочу зафиксировать все эти изменения, но не нашел точного синтаксиса команды.

Я пытаюсь использовать приведенный ниже код: 'git add ' работает отлично, но 'git commit' выдает ошибку.

import git

repo = git.Repo(os.getcwd())
files = repo.git.diff(None, name_only=True)
for f in files.split('\n'):
show_diff(f)
repo.git.add(f)

repo.git.commit('test commit', author='sunilt@xxx.com')


Вот какую ошибку я вижу: кажется, в аргументах cmd чего-то не хватает.

In [10]: repo.git.commit("test commit", author="sunilt@xxx.com")
---------------------------------------------------------------------------
GitCommandError Traceback (most recent call last)
in ()
----> 1 repo.git.commit("test commit", author="sunil.thorat@nuance.com")

c:\python27\lib\site-packages\git\cmd.pyc in (*args, **kwargs)
421 if name[0] == '_':
422 return LazyMixin.__getattr__(self, name)
--> 423 return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
424
425 def set_persistent_git_options(self, **kwargs):

c:\python27\lib\site-packages\git\cmd.pyc in _call_process(self, method, *args, **kwargs)
866 call.extend(args)
867
--> 868 return self.execute(call, **_kwargs)
869
870 def _parse_object_header(self, header_line):

c:\python27\lib\site-packages\git\cmd.pyc in execute(self, command, istream, with_extended_output, with_exceptions, as_process, output_stream, stdout_as_string, kill_after_timeout, with_stdout, universal_newlines, shell, **subprocess_kwargs)
684
685 if with_exceptions and status != 0:
--> 686 raise GitCommandError(command, status, stderr_value, stdout_value)
687
688 if isinstance(stdout_value, bytes) and stdout_as_string: # could also be output_stream

GitCommandError: Cmd('git') failed due to: exit code(1)
cmdline: git commit --author=sunilt@xxx.com test commit
stderr: 'error: pathspec 'test commit' did not match any file(s) known to git.'


Подробнее здесь: https://stackoverflow.com/questions/406 ... git-commit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»