Как получить номера строк, в которых контент добавлен, удален или изменен в svnlook? (Подключение)

Я создал ловушку pre-commit и post-commit для visualSVN, используя C# для окон, но в ловушке pre-commit мне также потребовалось получить номера строк для каждого обновленного файла, в котором содержимое было изменено (добавлено, удалено или изменено). например
содержимое файла output.cs (в последней редакции):

private static string GetSvnLookOutput(string repos, string txn, string subcommand)
{
  var processStartInfo = new ProcessStartInfo
  {
    FileName = "svnlook.exe",
    UseShellExecute = false,
    CreateNoWindow = true,
    RedirectStandardOutput = true,
    RedirectStandardError = true,
    Arguments = String.Format("{0} -t \"{1}\" \"{2}\"", subcommand, txn, repos)
  };

  var process = Process.Start(processStartInfo);
  var output = process.StandardOutput.ReadToEnd();
  process.WaitForExit();
  return output;
}

содержимое файла output.cs (в последней редакции):

private static string GetSvnLookOutput(string repos, string txn, string subcommand)
{
  var processStartInfo = new ProcessStartInfo
  {
    FileName = "svnlook.exe",
    UseShellExecute = false,
    CreateNoWindow = true,
    RedirectStandardOutput = false, // modified the value
    RedirectStandardError = false,// modified the value
    Arguments = String.Format("{0} -t \"{1}\" \"{2}\"", subcommand, txn, repos)
  };

  var process = Process.Start(processStartInfo);// deleted one line after this line
  process.WaitForExit();
  return output;
}

Мне нужно знать номер строки (8,9,14) как вывод в ловушке перед фиксацией. Для перехвата pre-commit через C# я перешел по этой ссылке.

ПРИМЕЧАНИЕ. Мое конечное требование - выяснить, какую функцию (в файле.cs - только с одним классом) можно изменить.

0 ответов

Вам действительно нужен скрипт-перехватчик? Мне кажется, что в веб-интерфейсе VisualSVN Server есть нужная вам функция.

Средство просмотра журнала изменений показывает измененные номера строк, и вы также можете поделиться ссылкой на конкретную строку. Вот пример на демонстрационном сервере:

Вы также можете использовать расширенную программу просмотра обвинений. Вот пример на демонстрационном сервере:

Другие вопросы по тегам