2012-11-23 12 views
9

Czy istnieje parametr analogowy dla argumentu wiersza poleceń SVN --non-interactive w GIT?Nieinteraktywne użycie GIT

Używam biblioteki GIT za pośrednictwem biblioteki gitpython i mam problem w niektórych miejscach - program zawiesza się. W tym przypadku GIT próbuje zapytać o coś od użytkownika, ale nie może tego zrobić. Chcę zabronić prób.

Oto proces w zamrażać:

$ pstree -ap 14712 
python,14712 src/auto-release 
└─git,14720 pull --strategy=recursive -Xtheirs -v origin +master:origin/master 
    └─git-merge,14721 -s recursive -Xtheirs -v Merge branch 'master' of 172.17.2.22:~/test-repo HEAD 920e34cb7267f702b7a1bb3af93619175cb566f0 
+0

Wygląda na to, że chcesz utworzyć opakowanie wokół git; spójrz na [który język ma najlepsze wiązania git api] (http://stackoverflow.com/questions/4034962/which-language-has-the-best-git-api-bindings) –

+0

Z drugiej strony, podczas gdy jest jasne, że potrzebujesz pewnej automatyzacji, nie jest jasne, dlaczego tego chcesz i dlaczego używasz git do tego. Najwyraźniej poprosiłeś Git o zrobienie czegoś, co spowodowało scalenie i domyślam się, że nie powiedziałeś mu, jak radzić sobie z konfliktami. –

+0

Czy argumenty "-s rekursywne -Xtheirs", aby wyciągnąć polecenie, nie informują git, aby użyli fragmentów "ich" do scalenia, to jest przypadek konfliktów? Jeśli nie - wskaż mi instrukcję, gdzie mogę wiedzieć, jak powiedzieć metodę radzenia sobie z konfliktami. –

Odpowiedz

5

Git nie zadaje pytania, kiedy to stdin i stdout nie jest podłączony do terminala (isatty() zwraca false), to zwykle kończy się błędem zamiast.

+0

Czy możesz rozwinąć? – CharlesB

+1

Kiedy std i stdout Gita nie są podłączone do terminala ('isatty()' zwraca false), zwykle kończy się błędem, zamiast pytać użytkownika o szczegóły. –

+0

Nie wiem; czy możesz umieścić to w swoim poście, aby usunąć moje poparcie? – CharlesB