SharpSvn - 文件或文件夹是在svn存储库下

时间:2017-01-09 12:30:55

标签: sharpsvn

我打算在SVN存储库下为文件或文件夹使用SharpSvn方法,例如'add'和'lock'。 如果文件未映射,则会收到错误指示 - “未找到节点...”。 在SvnClient.Info()或SvnClient.Status()之前,我怎么知道文件的状态 - 是它还是没有添加到SVN存储库?

1 个答案:

答案 0 :(得分:0)

您可以使用'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;
    }