2016-10-14 12 views
0

Использование SharpSVN Я могу легко вернуть SVN-проверку программно в C#, но теперь мне нужно создать файл patch/diff непосредственно перед выполнением возврата.Программно создавая файл SVN patch/diff в C#

У SharpSVN есть API SvnClient.Patch, но docs/intellisense указывают, что это для применения патча к репо, тогда как мне нужен эквивалент для создания файла патча в первую очередь.

Как я могу программно создать файл патча SVN на C#?

ответ

0

Чтобы создать файл исправления из SVN, вы также можете создать файл «Унифицированный Diff» в версиях. Следующий код основан на том же. Он создаст унифицированный Diff-файл изменений, сделанных в указанных версиях.

   System.Uri uri = new System.Uri("your url path"); 

       using (SvnClient client = new SvnClient()) 
       { 
        SvnUriTarget from = new SvnUriTarget(uri); 

        // To Get the Latest Revision on the Required SVN Folder 
        SvnInfoEventArgs info; 
        client.GetInfo(uri, out info); 
        SvnRevisionRange range = new SvnRevisionRange(info.Revision - 10, info.Revision); // The given input revisions should be valid revisions on the selected Repo path 

        System.IO.MemoryStream stream = new System.IO.MemoryStream(); 
        if (client.Diff(from, range, stream)) 
        { 
         stream.Position = 0; //reset the stream position to zero, as the stream position returned from Diff method is at the end. 
         System.IO.File.AppendAllText(@"C:\diffFile.patch", new System.IO.StreamReader(stream).ReadToEnd()); 
        } 

        stream.Close(); 

       } 

 Смежные вопросы

  • Нет связанных вопросов^_^