У меня есть процесс, который изменяет некоторые файлы, и я хотел бы фиксировать их через черепаху командной строки SVN, не имея необходимость нажимать ОК. Диалоговое окно подходит, и мой сценарий вынужден ожидать, пока я не нажимаю ОК. Вот аргументы, которые я использую:
TortoiseProc.exe /command:commit /path:"c:\svn\MyProject" /notempfile /logmsg:"Files Modified 2010-02-12" /closeonend:3
Это Lucene Java, но должно работать для Lucene. NET:
List docIds = // doc ids for documents that matched the query,
// sorted in ascending order
int totalFreq = 0;
TermDocs termDocs = reader.termDocs();
termDocs.seek(new Term("my_field", "congress"));
for (int id : docIds) {
termDocs.skipTo(id);
totalFreq += termDocs.freq();
}
121--4407388- Как сказал @bmargulies, просто используйте svn.exe
:
cd "c:\svn\MyProject"
svn commit -m "Files Modified 2010-02-12"
Вы не может скрыть диалоговое окно TortoiseProc.exe при фиксации:
Важно
Помните, что TortoiseSVN - это клиент с графическим интерфейсом пользователя, и в этом руководстве по автоматизации показано, как сделать так, чтобы диалоговые окна TortoiseSVN отображались для сбора пользовательского ввода. Если вы хотите написать сценарий, который не требует ввода, вам следует вместо этого использовать официальный клиент командной строки Subversion.
(из http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html )
Если вы полагаетесь на поведение TortoiseProc / closeonend: 3 , чтобы предупредить вас об ошибке, конфликте или слиянии, вам необходимо включить коды выхода SVN.
Однако мне не удалось найти список значений кода возврата, кроме «0 - успех, а не 0 - ошибка» в быстром поиске Google .
Я рекомендую использовать svn.exe вместо TortoiseProc.exe. Будет намного проще.