Я пытаюсь проверить, обновлен ли svn, и я не хочу использовать SharpSVN. Я пытаюсь использовать класс Process
.Проверка обновления SVN C#
В партии, это то, что я обычно делаю: svn st -u <svn path> | find "*"
Вот мой код:
private void checkSVN()
{
Process newProcess= new Process();
newProcess.StartInfo.FileName = "svn";
newProcess.StartInfo.WorkingDirectory = "";
newProcess.StartInfo.Arguments = "st -u C:\\SVN | find " + @"""*""";
newProcess.StartInfo.UseShellExecute = false;
newProcess.StartInfo.RedirectStandardOutput = true;
newProcess.OutputDataReceived += new DataReceivedEventHandler(parseStandartOutput);
newProcess.Start();
newProcess.BeginOutputReadLine();
}
private static void parseStandartOutput(object sendingProcess, DataReceivedEventArgs outLine)
{
if (!String.IsNullOrEmpty(outLine.Data))
m_svnOutput += outLine.Data + " ";
}
Проблема заключается в том, что find "*"
не работает - newProcess.StartInfo.Arguments
установлен в "st -u C:\\SVN | find \"*\*""
, и это, конечно, не работает.
Любые идеи?
Почему вы не хотите использовать SharpSVN? потому что он выглядит как лучший вариант http://stackoverflow.com/questions/2074891/how-to-access-file-information-in-a-pre-commit-hook-using-sharpsvn/2075198#2075198 другие библиотеки: http : //stackoverflow.com/questions/211765/svn-libraries-for-net –