ѕрограммно создава¤ файл патча / diff SVN в C #

»спользу¤ SharpSVN, ¤ могу легко вернуть SVN checkout программно в C #, но теперь мне нужно создать файл patch / diff непосредственно перед выполнением возврата.

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

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

c#,svn,tortoisesvn,sharpsvn,

0

Ответов: 1


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();

                }
C #, —¬Ќ, TortoiseSVN, sharpsvn,
Похожие вопросы