Как получить номера строк, в которых контент добавлен, удален или изменен в 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 есть нужная вам функция.
Средство просмотра журнала изменений показывает измененные номера строк, и вы также можете поделиться ссылкой на конкретную строку. Вот пример на демонстрационном сервере:
Вы также можете использовать расширенную программу просмотра обвинений. Вот пример на демонстрационном сервере: