Прежде всего, я не уверен, что это вообще возможно, однако мне нужно знать, как это можно сделать, а если нет, то почему?
Я хочу создать приложение C #, которое запускается в соответствующее время в процессе фиксации репозитория subversion (я полагаю, до фиксации), которое затем добавит еще один файл для фиксации.
Например, я вношу изменения в Program.cs и Main.cs, но НЕ AssemblyInfo.cs. Я хочу иметь возможность принудительно изменить AssemblyInfo.cs или любой другой файл.
Я написал консольное приложение, используя SharpSVN, которое запускалось после фиксации, которое затем заменяло файл, но это вызывало увеличение номера версии. Очевидно, что это не идеально.
Затем я нашел SvnLookClient в SharpSVN, который запускается перед фиксацией, и начал что-то писать, но зашел в тупик, когда понял, что CopyFromPath означает не то, что я ожидал:
using (SvnLookClient client = new SvnLookClient())
{
SvnLookOrigin o = new SvnLookOrigin(@"\\server\repository");
SvnChangedArgs changedArgs = new SvnChangedArgs();
Collection<SvnChangedEventArgs> changeList;
client.GetChanged(o, changedArgs, out changeList);
}
В качестве альтернативы я соглашусь на выполнение этого вне C#, но в идеале я хотел бы сделать это в консольном приложении C#, чтобы я также мог указать моему серверу репозитория выполнять другие задачи, такие как выполнение сценариев базы данных и т. д.