gpt4 book ai didi

svn - 如何在两个SVN版本之间导出更改的文件

转载 作者:行者123 更新时间:2023-12-03 18:14:27 34 4
gpt4 key购买 nike

如何导出两个版本之间已更改的SVN中的更改文件。我需要通过命令行或使用任何脚本(具有正确的文件夹结构)的解决方案。另外,我需要基于Windows的解决方案。

例如像:

export {svn diff --summarize -r 50:HEAD}

我想要一个目录树,其中包含文件的副本,该文件的版本在50以后的任何修订版本中均已更改

最佳答案

据我所知,svn没有提供这种功能。但是您可以使用SharpSVN编写一个简单的C#程序来执行此操作。这是您可以使用的示例。在此示例中,我将整个文件从修订版100升级到200。

using SharpSvn;
using System.IO;
using System.Collections.ObjectModel;
using Microsoft.VisualBasic;

namespace SvnDiffExporter
{
class Program
{
static void Main(string[] args)
{
SvnClient client = new SvnClient();
SvnRevisionRange range = new SvnRevisionRange(100, 200);
MemoryStream result = new MemoryStream();

Collection<SvnLogEventArgs> items;
SvnLogArgs logargs = new SvnLogArgs(range);
client.GetLog(@"e:\Artifacts", logargs, out items);

int i = 0;
string [] path = new string[255];
foreach (SvnLogEventArgs ar in items)
{
foreach (SvnChangeItem changeitem in ar.ChangedPaths)
{
if (changeitem.Action != SvnChangeAction.Delete)
{
path[i] = changeitem.Path;
i++;
}
}
}

string localpath = @"c:\data";
foreach (string str in path)
client.Export(str, localpath);
}
}
}

关于svn - 如何在两个SVN版本之间导出更改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7335614/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com