【发布时间】:2017-05-24 00:28:15
【问题描述】:
我打算对 SVN 存储库下的文件或文件夹使用 SharpSvn 方法,例如“添加”和“锁定”。 如果文件未映射,我会收到错误指示-“找不到节点...”。 在 SvnClient.Info() 或 SvnClient.Status() 之前,我如何知道文件的状态 - 是否添加到 SVN 存储库?
【问题讨论】:
标签: sharpsvn
我打算对 SVN 存储库下的文件或文件夹使用 SharpSvn 方法,例如“添加”和“锁定”。 如果文件未映射,我会收到错误指示-“找不到节点...”。 在 SvnClient.Info() 或 SvnClient.Status() 之前,我如何知道文件的状态 - 是否添加到 SVN 存储库?
【问题讨论】:
标签: sharpsvn
您可以使用“GetStatus”方法:
static bool IsInRepository(string filename)
{
bool isVersioned = false;
using (SvnClient client = new SvnClient())
{
SvnStatusArgs sa = new SvnStatusArgs();
sa.Depth = SvnDepth.Empty;
sa.RetrieveAllEntries = true;
Collection<SvnStatusEventArgs> statuses;
client.GetStatus(filename, sa, out statuses);
isVersioned = !statuses[0].LocalContentStatus.Equals(SvnStatus.NotVersioned);
}
return isVersioned;
}
【讨论】: